「使用ESP32控制板(一):WEMOS LOLIN32簡介」提到控制板的UART埠可透過軟體指定任意接腳,相當於Arduino程式的SoftwareSerial。用軟體設定時,UART腳可以是任意GPIO腳,但ESP32的34, 35, 36和39不支援數位輸出,所以不能用於TX。

「使用ESP32控制板(一):WEMOS LOLIN32簡介」提到控制板的UART埠可透過軟體指定任意接腳,相當於Arduino程式的SoftwareSerial。用軟體設定時,UART腳可以是任意GPIO腳,但ESP32的34, 35, 36和39不支援數位輸出,所以不能用於TX。

選擇Arduino IDE主功能表的「草稿碼→匯入程式庫→程式庫管理員」,在「程式庫管理員」中搜尋“VL53L0X ”關鍵字,即可找到相關程式庫,常見的兩個程式庫分別是Adafruit和Polohu公司開發的版本,這兩家公司都是美國的電子零組件供應商;本文採用Polohu的VL53L0X程式庫 ,因為Adafruit的版本佔用的快閃記憶體以及主記憶體都比較多。

VL53L0X是意法半導體(STMicroelectronics,以下簡稱ST公司)開發的IC,內部整合雷射光發射元件以及紅外線矩陣接收器,並透過計算接收到的雷射光束折射時間求得距離,這種光學測距技術統稱飛時測距(Time of Flight,簡稱ToF),比超音波和紅外線距離感測器精確、快速而且體積迷你。

ESP8266只有1.5個博士學位UART序列埠,所以《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》第七章的GPS模組連接實驗,需要搭配WebREPL操作。ESP32也可以透過WebREPL操作,設定方式和ESP8266板相同;LOLIN32控制板有兩個UART硬體介面,把GPS模組接在第2個UART序列埠的示範如下:

MicroPython的ESP32韌體分成支援Wi-Fi(但不支援藍牙)以及支援藍牙(但不支援Wi-Fi)兩大版本,每個版本各有三個系列:

MicroPython也具備套件管理員,電腦版Python的套件管理員是個叫做pip的命令,MicroPython則是叫做”upip”的程式庫。底下是透過PuTTY連接MicroPython,執行upip的install()函式安裝“urllib.parse”程式庫的例子:程式庫預設會被安裝到‘/lib/’路徑:

許多智慧家電和網通設備也都有支援IFTTT,例如,飛利浦Hue智慧燈泡、無線網路IP分享器、智慧音箱、洗衣機…等。以網路IP分享器為例,它能在偵測到新的裝置連入時,透過IFTTT發送訊息給你。美國太空總署NASA也有提供IFTTT服務,讓使用者訂閱新聞和太空影像,甚至可讓你設定在ISS國際太空站經過你家上空時,閃爍家裡的飛利浦Hue燈泡。

這個轉接板包含5V轉3.3V降壓IC,以及CH340序列通訊轉換IC,方便透過USB供電給ESP8266 ESP-01模組。但若直接使用這個轉接板,在Arduino IDE中燒錄ESP8266程式,將出現如下的“espcomm_open failed”和“espcomm_upload_mem failed”錯誤。

筆者將在7月27日舉辦一個讀者見面暨新書發表交流會,活動由旗標出版社主辦、台北天瓏書局提供場地,地點在台北市中正區重慶南路一段105號2樓。報名網址:https://tenlong.kktix.cc/events/f9796


select程式庫的select()函式,可接收來自作業系統的socket狀態訊息,每當有資料輸入或者準備好要輸出時,Python程式碼就會收到通知。select()不僅能偵聽socket狀態,在UNIX/Linux系統上也可以偵聽檔案讀寫、使用者在終端機的輸入操作…等所有可傳回有效「檔案描述符」(file descriptor,相當於檔案的識別碼)的物件。

如同書本第16-19頁說明,伺服器端socket物件將偵聽用戶端連線請求,這個socket相當於「總機」;接受(accept)用戶端連線後,伺服器將動態產生一個與該用戶通信的socket物件,此舉相當於「總機」把電話轉給某專人來服務客戶。

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