EasySense 感測站,會自動搜尋已經安裝的感測器模組,並將感測器的數據以 Json 的數據格式透過 MQTT 協議傳送到你的伺服器上主要包括以下幾個部分:
- Topic(主題):MQTT 的每個消息都基於某個特定的主題。通常會使用以下結構:
cmnd/<deviceID>/<command>
:這是用來發送命令的主題,<deviceID>
是設備的唯一標識,<command>
是你要發送的控制命令,例如POWER
用於開關控制。tele/<deviceID>/<telemetryType>
:這是 EasySense 發送感測數據的主題,<telemetryType>
可以是如STATE
(設備狀態)、SENSOR
(傳感器數據)等。stat/<deviceID>/<command>
:這是設備回應狀態的主題,通常在發送命令後會接收到對應狀態回覆。
【數據格式範例】tele/esense_XXXXXX/LWT = Online (已保留)
cmnd/esense_XXXXXX/POWER
tele/esense_XXXXXX/INFO1 = {“Info1”:{“Module”:”多功能感測器模組”,”Version”:”14.2.0(EasySense-ESP32)”,”FallbackTopic”:”cmnd/DVES_D41D94_fb/”,”GroupTopic”:”cmnd/tasmotas/”}}
tele/esense_XXXXXX/INFO2 = {“Info2”:{“WebServerMode”:”Admin”,”Hostname”:”esense-D41D94-7572″,”IPAddress”:”192.168.1.101″,”IP6Global”:”2001:b011:d809:d234:4aca:43ff:fed4:1d94″,”IP6Local”:”fe80::4aca:43ff:fed4:1d94%st1″}}
tele/esense_XXXXXX/INFO3 = {“Info3”:{“RestartReason”:”Usb uart reset digital core”,”BootCount”:32}}stat/esense_XXXXXX/RESULT = {“POWER”:”OFF”}
stat/esense_XXXXXX/POWER = OFFtele/esense_XXXXXX/STATE = {“Time”:”2024-10-16T17:57:42″,”Uptime”:”0T00:00:10″,”UptimeSec”:10,”Heap”:190,”SleepMode”:”Dynamic”,”Sleep”:50,”LoadAvg”:19,”MqttCount”:1,”Berry”:{“HeapUsed”:3,”Objects”:29},”POWER”:”OFF”,”Dimmer”:100,”Color”:”FF0004″,”HSBColor”:”359,100,100″,”Channel”:[100,0,1],”Scheme”:0,”Width”:1,”Fade”:”OFF”,”Speed”:1,”LedTable”:”ON”,”Wifi”:{“AP”:1,”SSId”:”HAPPYLAND”,”BSSId”:”B0:B2:DC:B7:EF:09″,”Channel”:1,”Mode”:”HT20″,”RSSI”:48,”Signal”:-76,”LinkCount”:1,”Downtime”:”0T00:00:03″}}
tele/esense_XXXXXX/SENSOR = {“Time”:”2024-10-16T17:57:43″,”SCD30″:{“CarbonDioxide”:752,”eCO2″:752,”Temperature”:28.0,”Humidity”:50.4,”DewPoint”:16.7},”TempUnit”:”C”}
- Payload(有效載荷):這是每個 MQTT 消息的內容,通常是 JSON 格式。不同的命令和狀態會包含不同的數據。例如:
- 打開設備的命令:
{"POWER":"ON"}
- 設備狀態的回覆:
{"POWER":"ON", "Wifi":{"AP":1,"SSId":"YourSSID","RSSI":100}}
- 感測器數據:
{"Time":"2024-10-16T12:00:00","SHT3X":{"Temperature":25.3,"Humidity":60}}
- 打開設備的命令:
- QOS(服務質量):EasySense 的 MQTT 訊息可以設定不同的 QOS 等級,通常有 0、1、2 三種,表示訊息傳遞的可靠性。這個參數可以在 MQTT 配置中調整。
這些主題和數據格式能夠讓 EasySense 與 MQTT broker(如 HiveMQ)無縫結合,實現遠端設備的監控和控制。
使用 網頁型 MQTT IOT 物聯網儀表板 訂閱 EasySense
當你已經設定好 EasySense 裝置後,並完成 MQTT 設定,設備也成功連上線後,我們可以嘗試用 WebClient 的介面來嘗試訂閱設備,可以查看完整設備的資訊與狀態以及感測器的資訊。
以下影片使用 EasySense 搭配 SCD30 二氧化碳感測器,將資訊發送至 HiveMQ ,設備 MAC 名稱為 esense_D41D94,本教案展示如何透過簡單的方式即可解析並訂閱製成簡單的儀表板,你也可以下載儲存數據表後供日後使用。