本文主要是介绍小程序入门 远程控制 MQTT物联网协议 publish 和订阅subscribe onenet 阿里云 百度云 基于GPRS模块和STM32,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等。
一、代码适用范围
1. 设备端:
- 主控芯片为STM32F103C8T6,但是兼容所有STM32芯片中。
- 通信模块为sim800c或sim868,代码兼容,868多个GPS 使能代码和获取GPS信息及解析代码。
- 主控与通信模块连接4个引脚:GPS使能,GPRS使能,及串口3 TXD和RXD。串口3用于通信。
2. 服务器:
- 支持onenet
- 支持aliyun
- 支持baiduyun
3. 手机端:
- 小程序:目前已开发onenet,获取数据流,数据点,topic订阅与发布,控制终端等功能。aliyun,baiduyun待开发。
- app:用开源标准的mqtt 协议 apk。
二、MQTT 物联网协议使用
1. MQTT协议简介:
MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为 IoT 通信的标准。
初识 MQTT IBM简介的很好:我就不多分享了,有兴趣的可以参考链接:
https://www.ibm.com/developerworks/cn/iot/iot-mqtt-why-good-for-iot/index.html
2. 分享一个很好用的mqtt库:Paho
设备端的mqtt协议移植,就是参考https://github.com/eclipse/paho.mqtt.embedded-c移植而来。
整体移植过程:
下载src源码:https://github.com/eclipse/paho.mqtt.embedded-c/tree/master/MQTTPacket/src
添加到keil工程中。
添加onenet、aliyun、baiduyun等调试接口,以及sim模块,at指令控制部分,调试代码。
调试过程过于复杂且消耗时间,这里就不详细说明了。
这里贴一张移植后的目录结构图:
测试aliyun,baiduyun,onenet验证皆OK。
设备端验证代码publish 稳定,测试三天未掉线。
3. 以onenet为例:
设备端连接onenet:只需修改:如下部分即可。分别对应onenet服务器端的设备id,产品id和api-key。
4. 小程序demo
源程序实现如下功能:
- 添加设备
- 二维码识别获取设备id
- 显示继电器状态
- 获取设备数据流
- 发送topic
- 远程控制继电器
小程序需要修改部分:
- appid:修改为自己申请小程序后,生成的appid。
- master-apikey,改为onenet创建产品后生成的master-apikey即可。
然后就可以编译测试。
如有疑问,欢迎评论或私聊详聊。
这篇关于小程序入门 远程控制 MQTT物联网协议 publish 和订阅subscribe onenet 阿里云 百度云 基于GPRS模块和STM32的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!