Skip to content

温度监测系统实现案例

下面通过使用AT固件与小机云开发温度检测系统,远程控制等功能,快速了解AT固件与小机云的使用方法

准备工作

  • 确保已经在小机云的项目中已经创建设备,且该小机云控制台上设备的SerialNo与小机云硬件的IMEI号一致。

  • 确保小机云设备绑定的是"IO控制和温度监控示例"页面,如果页面列表没有请从页面模板中创建。控制页样式如下:

  • SIM卡可以上网。随硬件赠送的SIM已经开通,插入硬件中即可使用。正常开机联网后,SIM卡会绑定硬件,该SIM卡只能在该设备上使用

硬件结构

从机:小机云4G RTU(或DTU,下面统称RTU),型号RGC88

主机:STM32F103C8T6核心板

附件材料:

  • 串口转RS232转接板:用于stm32串口与RTU的RS232连接。UART与RS232的默认波特率为115200,RS485的默认波特率为9600

  • usb转串口:用于stm32串口打印日志到PC

  • stm32仿真器:stm32固件下载仿真

STM32引脚功能对应界面组件
PA2日志打印串口 TX
PA3日志打印串口 TRX
PA9指令通讯口TX
PA10指令通讯口RX
PA6PWM1灯光亮度滑动条
PA7PWM2暂无
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

接线

电脑使用串口工具与STM32 PA2/3连接,查看STM32运行日志

STM32引脚PA9/10与小机云硬件通讯口 TX/RX 连接

使用仿真器连接STM32的GND,SWCLK,SWO,3V3

仿真器插入USB线后由此给单片机供电(注意,请连接好所有的线后再上电)

优化建议:

  1. 请确保小机云硬件的天线连接。尽量保持天线在空旷位置,无金属,墙壁等遮挡,保证硬件的信号强度

  2. 尽量使用单片机硬件,减少控制小机云内部IO,以减少串口通讯的频率,可提高稳定性。

  3. 使用多线程多并发的嵌入式系统

  4. 如果需要更高的即时性,请使用模块二次开发的方式实现功能,更灵活,更高效

配置项目信息

  1. 在项目卡片中,点击设置图标,查看项目ID(ProjectId)与项目密钥(ProjectSecret)
  1. 在源码中填入上面得到的ProjectId与ProjectSecret

    c
    //xgc_cmd.c
    //填入小机云项目的ProjectId与ProjectSecret
    char project_id[] = "xxxxxxxxxxxxx";
    char project_secret[] = "xxxxxxxxxxxxxxxx";
  2. 配置ProjectId和ProjectSecret后,烧录到单片机,并重启单片机。单片机会自动与小机云硬件握手初始化,小机云硬件与小机云连接成功后会出现下面回复。单片机日志都会在打印串口中输出,可在PC中的串口工具查看

    $XGC_ACK#GET_DTU_STATE#SerialNo#0#mqtt-connected&#CheckCode#

效果测试

APP与RTU连接成功后 点击APP的开关1,PB8会有状态变化 点击APP的开关2,PB9会有状态变化 点击APP的开关3,设置RTU的继电器1 点击APP的开关4,设置RTU的继电器2 拖动灯光亮度条后,PA6 PWM有变化 STM32的PB6/PB7 IO高电平中断后APP阀门组件会有变化 RTU的in1或in2引脚高电平中断后APP阀门组件会有变化 点击通道选择,引脚PB3,4,5状态会变化 STM32会模拟温度数据,您也可以看到APP温度值的变化

源码分析

重要的两个文件,更多具体的内容请看源码,源码有详细的注释

xgc_handler.c:收到指令后的解析处理工作

xgc_cmd.c:小机云常用的文本协议指令