摘要:本文,將介紹如何通過這個芯片連接到巴法云的設備云。例如向主題推送數據,可為示例調試測試的內容就是上面的指令,使用網絡調試助手連接上巴法云后,修改就可以直接發送指令了。
巴法云物聯網云平臺,就如它的文檔介紹的,是一個專注物體聯網的神奇的設備云平臺(cloud.bemfa.com),它有以下特征,輕量級,支持發布/訂閱模式,提供遺囑機制,支持TCP長連接,全平臺兼容。本文,將介紹如何通過esp8266這個芯片連接到巴法云的TCP設備云。
到巴法云官網或直接進入 https://cloud.bemfa.com/u_login.php?reurl=https://cloud.bemfa.com/tcp/index.html
如下圖,點擊“微信一鍵登錄”,掃碼直接登錄注冊,然后直接進入“控制臺”
登錄后,會直接跳轉到巴法云云平臺的個人控制臺,如下圖,選中TCP設備云,輸入主題名“test”,點擊新建主題,便可以創建一個名為test的主題,之后我們就可以對這個主題進行訂閱或發布了。
完成上面后,我們可以使用 SSCOM5 串口/網絡調試助手來調試我們之前創建的主題。uid即用戶私鑰,可以直接在用戶控制臺獲取
這主要參考官方文檔關于 TCP設備云部分。
TCP服務器地址IP: bemfa.com 服務器端口:8340
訂閱主題格式
? cmd=1&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002/r/n
正常返回:
cmd=1&res=1
發布信息格式
? cmd=2&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002&msg=off/r/n
正常返回:
cmd=2&res=1
訂閱主題,并獲取一次已推送的消息
? cmd=3&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002/r/n
正常返回:
cmd=3&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002&msg=on
獲取一次時間
? cmd=7&uid=7d54f85af42976ee3c2693e6xxxxxxxx&type=1/r/n
正常返回:
2021-06-11 16:39:27
獲取一次已發消息
? cmd=9&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002/r/n
正常返回:
cmd=9&uid=7d54f85af42976ee3c2693e6xxxxxxxx&topic=light002&msg=on
發送心跳
? ping/r/n
正常返回:
cmd=0&res=1
json響應
上述任意指令中加入 mode=1 時,服務器響應的數據格式是 json 類型。
例如發送:
cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002&msg=on&mode=1
正常響應:
{“cmd”:2,“res”:1}
此時訂閱light002的設備將收到:
{“cmd”:2,“time”:1623402740,“uid”:“4d9ec352e0376f2110a0c601a2857225”,“topic”:“light002”,“msg”:“on”}
其中time為發送消息的時間戳
字段說明
cmd:為消息類型
cmd=1 時為訂閱消息,當設備發送一次此消息類型,之后就可以收到發往該主題的消息
cmd=2 時為發布消息,向訂閱該主題的設備發送消息
cmd=3 是訂閱消息,和cmd=1相同,并且會拉取一次已發送過的消息
cmd=7 是獲取時間,獲取當前北京時間
cmd=9 為遺囑消息,拉取一次已經發送的消息
uid:用戶私鑰
可在控制臺獲取
topic:用戶主題
可以在控制臺創建主題,格式為英文或數字,相當于設備標識
msg: 為消息體
用戶想要發送到某個主題的數據
獲取時間指令說明
type=1 獲取當前日期和時間,例如:2021-06-11 17:20:54
type=2 獲取當前時間,例如:17:20:54
type=3 獲取當前時間戳,例如:1623403325
符號說明
/r/n: 為回車換符,每條指令后都需要有回車換行
&: 為連接符,各字段間用’&"隔離
心跳說明
發送任意數據 為心跳消息,包括上述指令也算是心跳,但要以回車換行結尾。
心跳消息是告訴服務器設備還在線,可30秒發送一次,結尾以/r/n結尾。
可選功能
推送消息時:主題名后加/set推送消息,表示向所有訂閱這個主題的設備們推送消息,假如推送者自己也訂閱了這個主題,消息不會被推送給它自己,以防止自己推送的消息被自己接收。
推送消息時:主題名后加/up推送消息,表示只更新云端數據,不進行任何推送。
例如向主題 light002推送數據,可為 light002/set , light002/up
示例:cmd=2&uid=4d9ec352e0376f2110a0c601a2857225&topic=light002/set&msg=on
測試的內容就是上面的指令,使用網絡調試助手連接上巴法云后,修改uid,就可以直接發送指令了。下面圖片是返回的結果。
這里給出測試代碼,ESP8266 Arduino IDE開發環境的配置,以及ESP8266的相關編程,可以參考我的另一篇博文《esp8266環境配置以及相關學習資料》。下面代碼,訂閱了一個test主題,當有信息下發時,會直接將數據輸出到ArduinoIDE的串口查看器上。
#include #include ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti對象const char* host = "bemfa.com"; // 網絡服務器地址const int httpPort = 8340; // http端口80 // WiFi連接信息const char* WiFi_SSID = "ling";const char* WiFi_Password = "ling....9";// 建立WiFi客戶端對象,對象名稱clientWiFiClient client; void setup(){ Serial.begin(9600); WiFi.mode(WIFI_STA); // 設置ESP8266為無線終端模式 wifiMulti.addAP(WiFi_SSID, WiFi_Password); Serial.println("Connecting ..."); // 嘗試進行wifi連接。 int i = 0; while (wifiMulti.run() != WL_CONNECTED) { delay(1000); Serial.print(i++); Serial.print(" "); } // WiFi連接成功后將通過串口監視器輸出連接成功信息 Serial.println(""); Serial.print("Connected to "); Serial.println(WiFi.SSID()); // WiFi名稱 Serial.print("IP address:/t"); Serial.println(WiFi.localIP()); // IP //連接巴法云 client.connect(host, httpPort); Serial.print("conneted bamfa!/n"); //訂閱主題test client.print("cmd=1&uid=<填你們自己的uid>&topic=test/r/n"); } void loop(){ // 判斷登錄狀態 if(not client.connected()){ //連接巴法云 client.connect(host, httpPort); Serial.print("reconneted bamfa!/n"); //訂閱主題test client.print("cmd=1&uid=<填你們自己的uid>&topic=test/r/n"); } //輸出結果 while (client.connected() || client.available()){ if (client.available()){ String line = client.readStringUntil("/n"); Serial.println(line); } } delay(10);}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/122386.html
摘要:教程傳送門基于平臺開發連接巴法云簡介實驗準備硬件軟件實驗步驟點燈實驗發送溫濕度指令升級總結關于巴法云專注于開源,智造,創新,分享。 Arduino教程傳送門????...
摘要:使用實現連網實現巴法云物聯網使用硬件程序思路基于正點原子的測試程序在巴法云物聯網創建的主題初始化代碼比較簡陋主函數代碼如果想用串口助手調試,接線方法如下使用硬件我這里使用的是正點原子家的開發板精英版和模塊。 ...
摘要:具體操作如下創建自己的設備進入到阿里云控制臺,找到物聯網平臺,創建屬于自己的設備點擊公共實例進行創建里面有個設備管理,點擊產品,里面有個創建產品輸入名稱即可,然后選擇標準品類這里我創建的是溫濕度檢測。 ...
摘要:導入文件后,如果只是簡單使用,只需要修改兩個地方,一個是主題名字,一個是,均需開發者置換成自己的主題名字和用戶私鑰,均可在巴法云控制臺獲取點擊跳轉。 esp32-...
摘要:下面是演示視頻物聯網文章目錄前言一準備二操作步驟配置配置三效果展示總結前言實現萬物互聯第一步,千里點燈,然后添加你想要的模塊就可以了,接下來我們進入正文。 前面學習...
閱讀 4332·2021-10-13 09:39
閱讀 495·2021-09-06 15:02
閱讀 3236·2019-08-30 15:53
閱讀 1052·2019-08-30 13:04
閱讀 2059·2019-08-30 11:27
閱讀 2022·2019-08-26 13:51
閱讀 2105·2019-08-26 11:33
閱讀 2912·2019-08-26 10:36