EasySense 感測站,會自動搜尋已經安裝的感測器模組,並將感測器的數據以 Json 的數據格式透過 MQTT 協議傳送到你的伺服器上主要包括以下幾個部分:

  1. 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 = OFF

      tele/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”}

  2. 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}}
  3. QOS(服務質量):EasySense 的 MQTT 訊息可以設定不同的 QOS 等級,通常有 0、1、2 三種,表示訊息傳遞的可靠性。這個參數可以在 MQTT 配置中調整。

這些主題和數據格式能夠讓 EasySense 與 MQTT broker(如 HiveMQ)無縫結合,實現遠端設備的監控和控制。

使用 網頁型 MQTT IOT 物聯網儀表板 訂閱 EasySense

當你已經設定好 EasySense 裝置後,並完成 MQTT 設定,設備也成功連上線後,我們可以嘗試用 WebClient 的介面來嘗試訂閱設備,可以查看完整設備的資訊與狀態以及感測器的資訊。

以下影片使用 EasySense 搭配 SCD30 二氧化碳感測器,將資訊發送至 HiveMQ ,設備 MAC 名稱為 esense_D41D94,本教案展示如何透過簡單的方式即可解析並訂閱製成簡單的儀表板,你也可以下載儲存數據表後供日後使用。