前言
剛剛封裝好了比較完善的MQTT庫
如果是初學者可以先學習51單片機實現MQTT實現通信控制的文章
https://www.cnblogs.com/yangfengwu/p/12536382.html
之所以又封裝了一套是因為前面用的官方的庫太大,小容量的單片機無法承受
當然主要還是為了大家可以方便理解MQTT協議
用51單片機跑了MQTT,這樣便可以方便讓更多的人入門學習.
此程序兼容SIM800
如果想綁定SIM800,請把其IMEI號,生成二維碼,用手機APP掃描.
實現功能概要
1.功能概述
APP通過掃描二維碼獲取GPRS設備的IMEI號,
然后設置訂閱的主題:device/設備IMEI號
發布的主題:user/設備IMEI號
2.這節程序和綁定Wi-Fi實現遠程控制的關系
https://www.cnblogs.com/yangfengwu/p/12539421.html 上一節
注:實際上和上一節代碼唯一不同的地方是控制GPRS連接TCP服務器,
然后實現透傳.其它程序完全一樣!
3.提醒
GPRS模塊上面的二維碼就是IMEI號
測試准備工作(詳細下載步驟請參考 硬件使用說明 )
一,下載單片機程序
工程目錄: STM32F10xTemplate\Progect
hex文件目錄: STM32F10xTemplate\Progect\Progect
二,安裝APP軟件 (這節APP和上一節一樣)
三,調整波動開關位置,STM32和GPRS 串口1 通信
四,別忘了插手機卡,還有安裝上天線
開始測試
一.打開手機APP,點擊右上角菜單 "掃一掃" 掃描模塊上面的二維碼,模塊的二維碼就是這個模塊的IMEI號,掃描成功將在主頁面添加一個設備.
二.單片機控制GPRS連接上MQTT服務器以后,指示燈1S閃耀
三.點擊設備進入,設備控制頁面,頁面顯示當前溫濕度數據,顯示當前設備的狀態
四.遠程控制繼電器吸合
五.遠程控制繼電器斷開
六.請自行控制家電(最大支持10A,注意安全!),咱的GPRS遠程控制器就做好了.
關於程序
整個程序是STM32使用AT指令控制GPRS模塊實現MQTT通信控制
程序的整體結構: https://www.cnblogs.com/yangfengwu/p/11669323.html
串口接收數據 : https://www.cnblogs.com/yangfengwu/p/11669373.html
配置AT指令模板(阻塞版): https://www.cnblogs.com/yangfengwu/p/11673439.html
配置AT指令模板(非阻塞版): https://www.cnblogs.com/yangfengwu/p/11674814.html
提醒:
提醒:
提醒:
看完此節介紹以后如果已經對MQTT相當熟悉,
可看以下鏈接學習如何把MQTT移植到自己的工程
https://www.cnblogs.com/yangfengwu/p/12540710.html
如果是新手,請接着按部就班學習!
源碼說明:
這節單片機源碼只是修改了控制網絡模塊連接TCP部分,
其它程序和上一節完全一致:
https://www.cnblogs.com/yangfengwu/p/12539421.html
GPRS模塊是用IMEI號作為了發布和訂閱的主題的一部分
GPRS模塊發布的主題: device/設備的IMEI號
GPRS模塊訂閱的主題: user/設備的IMEI號
APP通過掃碼獲取GPRS的IMEI號,然后設置
訂閱的主題:device/設備的IMEI號
發布的主題:user/設備的IMEI號
用戶這節只需要學習配置GPRS實現TCP透傳的流程即可.
其它程序和上一節完全一樣!