温度监测系统实现案例
下面通过使用AT固件与小机云开发温度检测系统,远程控制等功能,快速了解AT固件与小机云的使用方法
准备工作
确保已经在小机云的项目中已经创建设备,且该小机云控制台上设备的SerialNo与小机云硬件的IMEI号一致。
确保小机云设备绑定的是默认控制页(创建后默认使用该页,不用修改)。控制页样式如下:
SIM卡可以上网。随硬件赠送的SIM已经开通,插入硬件中即可使用。正常开机联网后,SIM卡会绑定硬件,该SIM卡只能在该设备上使用
硬件结构
从机:小机云4G RTU,型号XGC-RG448
主机:STM32F103C8T6核心板
附件材料:
串口转RS232转接板:用于stm32串口与RTU的RS232连接。UART与RS232的默认波特率为115200,RS485的默认波特率为9600
usb转串口:用于stm32串口打印日志到PC
stm32仿真器:stm32固件下载仿真
STM32引脚 | 功能 | 对应界面组件 |
---|---|---|
PA2/3 | 日志打印串口 TX/RX | 无 |
PA9/10 | 小机云通讯串口 TX/RX | 无 |
PA6 | PWM1 | 灯光亮度滑动条 |
PA7 | PWM2 | 暂无 |
PB3 | 控制IO | 灯光选择1(红灯) |
PB4 | 控制IO | 灯光选择2(绿灯) |
PB5 | 控制IO | 灯光选择3(蓝灯) |
PB6 | 中断 | 阀门1 |
PB7 | 中断 | 阀门2 |
PB8 | 控制IO | 开关1 |
PB9 | 控制IO | 开关2 |
PC13 | 状态 | 无 |
小机云硬件引脚 | 功能 | 对应界面组件 |
In1 | 输入电平检测3~30V | 阀门3 |
In2 | 输入电平检测3~30V | 阀门4 |
Out1 | 继电器 | 开关1 |
Out2 | 继电器 | 开关2 |
优化建议:
请确保小机云硬件的天线连接。尽量保持天线在空旷位置,无金属,墙壁等遮挡,保证硬件的信号强度
尽量使用单片机硬件,减少控制小机云内部IO,以减少串口通讯的频率,可提高稳定性。
使用多线程多并发的嵌入式系统
如果需要更高的即时性,请使用模块二次开发的方式实现功能,更灵活,更高效
配置项目信息
- 在项目卡片中,点击设置图标,查看项目ID(ProjectId)与项目密钥(ProjectSecret)
在源码中填入上面得到的ProjectId与ProjectSecret
c//xgc_cmd.c //填入小机云项目的ProjectId与ProjectSecret char project_id[] = "xxxxxxxxxxxxx"; char project_secret[] = "xxxxxxxxxxxxxxxx";
配置ProjectId和ProjectSecret后,烧录到单片机,并重启单片机。单片机会自动与小机云硬件握手初始化,小机云硬件与小机云连接成功后会出现下面回复。单片机日志都会在打印串口中输出,可在PC中的串口工具查看
$XGC_ACK#GET_DTU_STATE#SerialNo#0#mqtt-connected&#CheckCode#
效果测试
源码分析
重要的两个文件,更多具体的内容请看源码,源码有详细的注释
xgc_handler.c:收到指令后的解析处理工作
xgc_cmd.c:小机云常用的文本协议指令