本文基本公開了如何移植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或電機或風扇等的開關。
若有疑問,歡迎評論或淘寶詳聊。