本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等。若是不想移植,能够在以下淘宝连接中直接购买源代码,所有源码+资料300,所有源码+资料包售后500元。html
物联网开发板裸板只要168,套餐可本身搭配。git
淘宝连接:https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.120c4831Ic87Zt&id=598106907055github
配套物联网开发板连接:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.29e71debNLqzWg&id=583890254748小程序
固然,也承接定制开发,价格跟需求难度及开发周期相关,具体可小窗博主或淘宝咨询。api
MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为 IoT 通讯的标准。服务器
初识 MQTT IBM简介的很好:我就很少分享了,有兴趣的能够参考连接:app
https://www.ibm.com/developerworks/cn/iot/iot-mqtt-why-good-for-iot/index.htmleclipse
设备端的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 稳定,测试三天未掉线。
设备端链接onenet:只需修改:以下部分便可。分别对应onenet服务器端的设备id,产品id和api-key。
源程序实现以下功能:
小程序须要修改部分:
而后就能够编译测试。
上电,开机设备初始化,联网,tft屏显示二维码。
onenet/aliyun/baiduyun起到数据接收与转发做用。
打开小程序,显示添加设备页面。
点击添加设备后,会出现二维码扫描页面,扫描设备上的二维码后,便可出现控制页面:
点击按钮便可控制设备端的继电器开关,从而控制led或电机或风扇等的开关。
若有疑问,欢迎评论或淘宝详聊。