MQTT教學(九):使用ESP8266上傳資料到ThingSpeak MQTT伺服器

延續上一篇文章的說明,本文將使用ESP8266控制板(如:NodeMCU或Wemos D1 mini),經由Wi-Fi網路和MQTT協定傳送DHT11的溫濕度值到ThingSpeak雲端平台。底下是本文的硬體接線:

ESP8266連接DHT11

使用ESP8266控制板發布MQTT訊息的程式架構,和Arduino乙太網路程式相似,同樣採用PubSubClient程式庫(參閱《MQTT教學(六):使用PubSubClient程式庫開發Arduino MQTT應用》);兩者程式架構不同之處如下圖裡的紅字,登入ThingSpeak網站需要輸入使用者名稱和密碼。

使用ESP8266控制板發布MQTT訊息的程式架構

發布MQTT主題訊息的ESP8266 Arduino程式

程式開頭首先宣告一些變數,DHT11溫濕度感測器沿用書本裡的程式庫:

底下是建立設定Wi-Fi連線的自訂函式:

連結MQTT伺服器的reconnect()自訂函式,要加入使用者名稱密碼

reconnect()自訂函式

完整的程式碼如下,請自行修改必要的參數:

編譯並上傳程式到ESP8266控制板,它將每隔20秒上傳溫濕度資料到你的ThingSpeak通道。

延伸閱讀

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *