这次打算利用nucleo-stm32g491开发一个物联网demo,stm32g491通过串口读取svm40传感器模块的VOC指数、温湿度值,然后通过串口wifi模块esp8266将数据发送到第三方物联网云服务器,从而可以在手机上进行数据的显示和控制,后续还可以开发邮件、微信推送报警信息等实用功能。物联网IOT是当前十分热门的主题之一,各种物联网平台层出不穷,这里采用笔者熟悉的机智云平台,采用机智云平台的原因是一来笔者熟悉,二来它可以生成STM32CubeMX的工程代码模板,这样使用STM32CubeMX进行移植十分方便。wifi模块esp8266需要烧录机智云提供的GAgent固件,里面包含了与服务器的交互以及配置入网等核心功能。对stm32g491来说,GAgent就起到代理作用,通过GAgent接入机智云服务器。
在平台端建立数据点,将功能关联起来。
使用机智云平台生成的代码包,需要我们自己实现3个用户接口,如图所示:
A. 两个串口接口,一个负责与wifi模组间的数据收发,一个用于调试信息打印。
B.1ms定时器功能,用于系统时基。
C.填充自己的业务功能逻辑。
这里使用stm32g491串口4和wifi模块通信,9600波特率,开启中断接收。
定时器6开启1ms中断。
串口回调函数添加代码:
上行数据填充,即采集到的传感器数据上报到平台。
主函数进行外设初始化和传感器数据定时读取:
手机app上展示数据采集结果:
测试工程源码:
nucleo_stm32g491_svm40_iot.rar
(6.44 MB)
|