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”錯誤。
使用微軟Visual Studio Code編寫Arduino程式(四):Mac版的設置
macOS版的VS Code Arduino編輯環境設置步驟,和Windows版一樣,僅程式庫路徑不同。以編輯Arduino Uno控制板程式來說,開啟空白的專案資料夾(此例為“blink”),按F1功能鍵,執行“Arduino: Initialize”命令後,VS Code將產生如下的c_cpp_propertise.json內容。
使用微軟Visual Studio Code編寫Arduino程式(三):ESP8266和ESP32控制板
本文將介紹在VS Code中編輯ESP8266和ESP32控制板的方法,在此之前,Arduino IDE必須先安裝好對應的開發工具軟體。
訂閱Arduino Create可獲得ARDUINO MKR WIFI 1010開發板
Arduino原廠為了推廣他們的線上整合開發平台“Arduino Create”,最近推出一個優惠活動,只要支付月費6.99美元,就能獲得一塊價值33.9美元的ARDUINO MKR WIFI 1010開發板(運費另計);支付年費,則可獲得30美元的商品折價券,限額500名。
Python的非阻塞式(non-blocking)socket通訊程式(二):使用select程式庫
select程式庫的select()函式,可接收來自作業系統的socket狀態訊息,每當有資料輸入或者準備好要輸出時,Python程式碼就會收到通知。select()不僅能偵聽socket狀態,在UNIX/Linux系統上也可以偵聽檔案讀寫、使用者在終端機的輸入操作…等所有可傳回有效「檔案描述符」(file descriptor,相當於檔案的識別碼)的物件。