Tzapu寫了一個WiFiManager(WiFi管理員),從2.x版開始同時支援ESP8266和ESP32開發板(以下合稱ESP開發板),提供ESP開發板一個方便實用的設置Wi-Fi網路連線的操作介面。本文將介紹Wi-Fi管理員的操作介面,以及中文化的Arduino範例程式。
Raspberry Pi Pico微控制板(三):編譯MicroPython韌體以及Picotool工具軟體
MicroPython官網提供了預先編譯好的韌體,但有些時候你可能想要自行編譯韌體:
- 新功能嘗鮮
- 調整晶片或開發板的設置。例如,Pico板的第2個UART序列埠預設未啟用Python的互動介面(REPL),可以透過自行編譯韌體啟用。
- 加入已編譯的Python程式模組,節省主記憶體(RAM)的用量。
Raspberry Pi Pico微控制板(二):MicroPython類比輸入與PWM輸出伺服馬達控制
本文將採用《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》書本裡的範例,介紹Raspberry Pi Pico RP2040(以下簡稱Pico)、ESP8266和ESP32的MicroPython程式,在讀取類比輸入以及輸出PWM訊號的異同。Pico麵包板示範接線如下:
使用Thonny Python IDE編寫MicroPython程式(二):上傳程式與管理開發板的快閃記憶體內容
在Thonny IDE的互動環境(Shell)操作MicroPython開發板的方式,跟使用其他序列埠通訊軟體(如:PuTTY)不太一樣。使用序列埠通訊軟體連線,貼入程式碼之前,需要先按一下Ctrl+E鍵,互動環境(Shell)不支援Ctrl+E鍵,直接在其中按Ctrl+V鍵貼入程式碼即可:
使用Thonny Python IDE編寫MicroPython程式(一):連接開發板以及燒錄MicroPython韌體
Thonny最初由愛沙尼亞塔爾圖大學(University of Tartu)的計算機科學研究所開發,後來陸續收到許多在電子Maker圈赫赫有名的機構和公司的支援,包括樹莓派基金會(Raspberry Pi Foundation)、Micro:bit教育基金會、Adafruit、M5Stack…等等。
Arduino IDE 2.0:讓程式開發更得心應手
Arduino官方正式發布了Arduino IDE 2.0測試版,有別於1.x版編輯器是基於一個偏向互動藝術領域的“Processing”程式語言編輯器並且採用Java語言開發,2.x版全面改寫,基於一款開放原始碼的Eclipse Theia IDE並採用JavaScript語言和Electron框架開發、包裝成跨平台可執行檔,並整合Arduino的另一個開放原始碼專案“Arduino CLI”(命令行操作介面),提供開發板與程式庫管理員、開發板偵測、編譯與上傳程式碼等功能。
建立Arduino的Socket即時通訊程式(三)
延續之前的文章,本文改用SocketIoClient程式庫以及ESP8266控制板(如:Wemos D1 mini或NodeMCU),當ESP8266和Node.js的socket.io建立連線之後,將每隔5秒發送一個事件訊息詢問Node.js目前的時間,Node.js將在收到訊息之後回覆一個事件訊息給ESP8266。
《超圖解Arduino互動設計入門》第四版零件清單
本文列舉《超圖解Arduino 互動設計入門》第四版所使用的電子零組件。底下是假設採用麵包板組裝,重複使用零件所需要的最少數量(不含附錄單元)。 接線時請留意,同類型的電子零組件往往有不同的供應來源,你所採購的零件接腳位置可能和書本當中的描述不一樣。像底下的DHT11溫濕度感測器模組,第一腳可能是電源,也可能是接地,請仔細確認電路板上面的標示。
《超圖解Arduino 互動設計入門》第四版
撰寫第一版時,筆者最初想法是從改造身邊的電子產品和玩具著手,搭配組裝電子零件來介紹Arduino的應用範例,然而,電子產品的款式眾多,很難做一般化的步驟說明,尤其在教學上,最好要有明確可依循操作的東西。現在很容易買到「Arduino相容」電子模組,像按鍵、距離感測器、LED顯示器…等,本書也盡量採用現成的模組,但為了避免書本淪落成「電子模組操作手冊」,筆者也說明了模組的電路及其運作原理,唯有如此,讀者才能自由整合不同的軟硬體,也不會受制於某些廠商的產品。
VL53L0X飛時測距(ToF)感應器模組(二):Arduino與MicroPython測距程式
選擇Arduino IDE主功能表的「草稿碼→匯入程式庫→程式庫管理員」,在「程式庫管理員」中搜尋“VL53L0X ”關鍵字,即可找到相關程式庫,常見的兩個程式庫分別是Adafruit和Polohu公司開發的版本,這兩家公司都是美國的電子零組件供應商;本文採用Polohu的VL53L0X程式庫 ,因為Adafruit的版本佔用的快閃記憶體以及主記憶體都比較多。
使用IFTTT串聯網路自動化服務(二):從Python執行Webhooks
MicroPython也具備套件管理員,電腦版Python的套件管理員是個叫做pip的命令,MicroPython則是叫做”upip”的程式庫。底下是透過PuTTY連接MicroPython,執行upip的install()函式安裝“urllib.parse”程式庫的例子:程式庫預設會被安裝到‘/lib/’路徑:
使用ESP8266 ESP-01模組的USB轉接板燒錄Arduino程式或MicroPython韌體
這個轉接板包含5V轉3.3V降壓IC,以及CH340序列通訊轉換IC,方便透過USB供電給ESP8266 ESP-01模組。但若直接使用這個轉接板,在Arduino IDE中燒錄ESP8266程式,將出現如下的“espcomm_open failed”和“espcomm_upload_mem failed”錯誤。