ThingSpeak雲端平台修改了MQTT服務的設置方式,本文將說明取得MQTT密碼的步驟,以及在ESP8266控制板(如:NodeMCU或Wemos D1 mini)執行Arduino和MicroPython,透過MQTT協定上傳DHT11溫溼度資料到ThingSpeak的程式碼。

ThingSpeak雲端平台修改了MQTT服務的設置方式,本文將說明取得MQTT密碼的步驟,以及在ESP8266控制板(如:NodeMCU或Wemos D1 mini)執行Arduino和MicroPython,透過MQTT協定上傳DHT11溫溼度資料到ThingSpeak的程式碼。

Raspberry Pi Pico W開發板(以下簡稱Pico W)相較於Pico板,重點當然是Wi-Fi無線通訊功能。使用MicroPython編寫Wi-Fi通訊相關應用,程式跟ESP8266及ESP32的寫法完全相同。本文介紹的三個程式分別改自《超圖解Python物聯網實作入門》第6, 16和17章的範例。
Raspberry Pi Pico W搭載Infineon公司的AIROC CYW43439無線通訊晶片,具備2.4 GHz Wi-Fi 4(802.11n,支援WPA3)和Bluetooth 5.2,但此開發板的韌體缺乏藍牙驅動程式,因此暫不支援藍牙,官方未來將會釋出驅動程式。
Arduino官方於9月14日正式發表醞釀已久的IDE 2.0版。Arduino程式語言本身不變,仍舊是大家熟悉的糖衣版C/C++,但是IDE工具則砍掉重練。1.x版的開發工具本身是用Java語言寫成的,2.x版則是基於廣受歡迎的,微軟Visual Studio Code(以下簡稱VS Code)程式編輯器的開放原始碼版本:Theia IDE。

Wokwi是免費的線上Arduino, ESP32和Raspberry Pi Pico開發板模擬器(simulator),支援的程式語言包括Arduino, MicroPython和CircuitPython。 Wokwi完全在網頁瀏覽器運作,所以你可以在手機、平板和電腦上編輯模擬電路和程式碼。

如果有其他軟體透過序列埠與ESP8266開發板連線,例如,Thonny IDE的互動環境(Shell),請先關閉該軟體,因為序列埠同時間只能和一個裝置連線。執行SerialPlot,切換到Data Format(資料格式)設置頁,把資料格式從預設的Simple Binary(簡單二進位)改成ASCII(文字),資料分隔字元選擇“comma”(逗號)。

Arduino IDE有內建用線條圖呈現序列資料的「序列繪圖家」,但是功能稍嫌陽春;支援MicroPython的Thonny和Mu沒有內建序列資料繪圖功能。SerialChart和SerialPlot是兩個知名的開放原始碼序列繪圖工具軟體,可以跟任何序列埠通訊程式搭配使用。SerialPlot的功能比較強大,這是它的運作畫面:

MicroPython官網提供了預先編譯好的韌體,但有些時候你可能想要自行編譯韌體:
本文將採用《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》書本裡的範例,介紹Raspberry Pi Pico RP2040(以下簡稱Pico)、ESP8266和ESP32的MicroPython程式,在讀取類比輸入以及輸出PWM訊號的異同。Pico麵包板示範接線如下:

在Thonny IDE的互動環境(Shell)操作MicroPython開發板的方式,跟使用其他序列埠通訊軟體(如:PuTTY)不太一樣。使用序列埠通訊軟體連線,貼入程式碼之前,需要先按一下Ctrl+E鍵,互動環境(Shell)不支援Ctrl+E鍵,直接在其中按Ctrl+V鍵貼入程式碼即可:

Thonny最初由愛沙尼亞塔爾圖大學(University of Tartu)的計算機科學研究所開發,後來陸續收到許多在電子Maker圈赫赫有名的機構和公司的支援,包括樹莓派基金會(Raspberry Pi Foundation)、Micro:bit教育基金會、Adafruit、M5Stack…等等。

Begin typing your search term above and press enter to search. Press ESC to cancel.