https://www.cnblogs.com/yangfengwu/p/11249674.htmlhtml
該APP安裝包下載連接:安全
http://www.mnif.cn/appapk/IotDevelopmentVersion/20190820/app-debug.apkapp
或者掃描二維碼下載spa
APP源碼獲取方式:(請閱讀寶貝說明)debug
此APP創建在基礎篇,升級篇,數據篇和安全篇.只有把這些篇章所有學過才能看得懂源碼!code
https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.70471debVGb9G8&ft=t&id=569295486025htm
一,設備快速接入:blog
請設置本身設備鏈接的MQTT信息:開發
用戶名:yang字符串
密碼:11223344
IP地址:mnif.cn
端口號:1883或者8883(SSL鏈接暫時請忽略認證錯誤),建議使用此端口
通訊控制協議:全部協議爲JSON格式
數據的data字段代表如今的數據是幹什麼用的
如下 \" 只是爲了組合成JSON格式的字符串
單路開關協議: data:switch開關數據 bit:1 第一路 status:-1/0/1 APP查詢設備狀態/斷開/吸合
//下面兩條協議爲設備的遺囑和上線信息
設備斷線: "{\"data\":\"status\",\"status\":\"offline\"}"
設備上線: "{\"data\":\"status\",\"status\":\"online\"}" //這兩條信息具體看下面 Wi-Fi 接入部分
APP發送的查詢指令:(用來查詢設備狀態,和獲取開關狀態)
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"-1\"}" //查詢第一路開關的狀態
設備返回:(根據當前開關狀態返回)
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"1\"}" / "{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"0\"}"
//APP控制開關吸合消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"1\"}"
//設備查詢後返回的消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"1\"}"
//APP控制開關斷開的消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"0\"}"
//設備查詢後返回的消息
"{\"data\":\"switch\",\"bit\":\"1\",\"status\":\"0\"}"
1,WIFI接入:
請自行實現Wi-Fi的SmartConfig功能,APP會經過SmartConfig得到模塊的MAC地址
設置Wi-Fi訂閱的主題: user/Wi-Fi的MAC地址
設置Wi-Fi發佈的主題: device/Wi-Fi的MAC地址
設置MQTT遺囑:發佈的主題device/Wi-Fi的MAC地址,遺囑消息 "{\"data\":\"status\",\"status\":\"offline\"}" retain 位必須設置爲1
設置設備鏈接上MQTT之後發佈的第一條消息:
發佈的主題device/Wi-Fi的MAC地址
遺囑消息 "{\"data\":\"status\",\"status\":\"online\"}" retain 位必須設置爲1
部分參考程序(ESP8266 LUA開發):
clientid = wifi.sta.getmac() //獲取MAC SubscribeTopic = "user".."/"..clientid //設備發佈的主題 PublishTopic = "device".."/"..clientid //設備訂閱的主題 //遺囑 Mymqtt:lwt(PublishTopic, "{\"data\":\"status\",\"status\":\"offline\"}", 0, 1) //連接成功MQTT發佈的第一條消息 Mymqtt:publish(PublishTopic,"{\"data\":\"status\",\"status\":\"online\"}", 0, 1, function(client)end)
打開APP
添加設備 選擇Wi-Fi 首先讓本身的設備執行SmartConfig
搜索設備 搜索成功將自動添加 控制頁面
2,GPRS接入:
APP綁定GPRS爲掃描二維碼方式
以合宙的Air202爲例:
模塊上的二維碼爲模塊的IMEI號,APP經過掃描此二維碼獲取IMEI
模塊程序訂閱的主題: user/模塊的IMEI
模塊程序發佈的主題: device/模塊的IMEI
其他通訊請和上面的介紹的協議保持一致!
綁定步驟
爲區分設備能夠長按設備修更名稱: