在线时间381 小时
UID3433535
ST金币0
蝴蝶豆442
注册时间2017-10-24
论坛元老
- 最后登录
- 2020-7-12
|
a0a.1 32b0c
收到 E32 模块已经半个多月,我这才开始写连载文章,还有点对不住各位。这一系列的文章我会介绍使用 LoRa 模块做一个呼叫按钮系统,并且概括地介绍一下我的项目设计思路,以及所用的纯开源工作环境和工作流程。
一个呼叫按钮系统有至少两个端点:按钮端和控制台端。按钮端在检测到用户按钮动作后通过无线接口发出报文;控制台端侦听无线报文,并把收到的报文发送到上位机。按钮端考虑到电池驱动的功耗要求,采用了 STM32L011D4P6 主控。控制台端由于需要提供上位机接口,则采用了 STM32F070F6P6。不同于论坛各位使用 ST 官方开发版,本人的设计使用了立创商城的免费空白评估板为基础。
E32 是一款透传模块,通讯协议和报文内容需要自行定义。呼叫按钮应用场景中报文所需要包含的信息其实不多,只要能体现出按钮被按下即可,这通过按下按钮时发出报文即可实现。报文内容因此只需包含发送端识别信息和抗干扰信息即可,前者直接用发送端的 LoRa 地址;后者则使用一个 32 位的体系 ID。控制器端会忽略所有体系 ID 不匹配的报文。由于体系 ID 这一抗干扰机制的存在,系统需要一种对码协议,以方便将控制器端生成的体系 ID 下载到按钮端。在这一协议中,控制器端固定使用 LoRa 地址 0x0001,按钮端则使用 0x0002-0xfffe 范围内的随机地址。
|
|