LUBUNTU 從英文版改成中文版
若你在安裝過程中,直接選擇原生中文版,當LUBUNTU安裝完成之後,你會發現那些Documents Downloads 的目錄名稱都取名為中文,這種中文檔名,未來將有可能會遇到軟體相容性的問題。由於我已經忘記要怎麼改回英文的預設目錄了,在Lubuntu安裝過程,先安裝英文版之後,再把系統變成中文,是比較好的選項。
對於使用 Arduino IDE來開發 NodeMCU 專案的朋友來說,要讓兩個以上的任務,在某個時間內,按照一定的時間間隔,個別運作且同時被執行,程式不太容易實現。舉例來說,像下圖這樣三個任務,綠色任務每一秒讀取溫度感測器把結果輸出到UART;黃色任務,每隔兩秒閃一下;藍色任務檢查Pin2 的按鈕是否被按下,然後結束所有工作。而且這三個任務,個別按照一定的時間間隔,重複執行、而且同時運作。在Arduino IDE裡面,要怎麼寫?
但由於MCU模塊,不像電腦主機板有安裝 CR2032 鋰電池,去維持RTC不間斷運作,一旦 MCU電源中斷,之前網路校準好的時間就沒了,重新上電後,RTC會回到預設的 2000年1月1日0點。好在 NodeMCU 跟 ESP32 都內建 WiFi,因此透過網路對時伺服器 NTP Server,便能隨時校正RTC。對於價格便宜的 MCU 來說,更頻繁地執行網路校時,可以彌補 RTC 不準的缺陷。
這樣才完成開無線外掛的目的。不過,總不能每次都這樣子敲一大堆 AT 指令吧?本文接續前文,繼續介紹完整的外掛控制方法,包含讓你在遠端執行一個 UDP 伺服器,實際收取 Arduino Nano 這端的資料。
WiFiEsp 是一個簡單好用的函式庫,讓你的 Arduino 板子,能夠透過 ESP-01物連網模組連上網路、傳送資料。它使用 AT指令跟 ESP-01 溝通,因此不需要更改 ESP-01 的韌體,就可以直接使用。另外它的函式,也跟 Arduino 原裝的 WiFi 與 Ethernet 函式庫差不多,很多函式都一樣。
對於要用現成的 MPU 連接 ESP-01 上網的程式來說,它可以省去許多直接用 AT 指令去控制 ESP-01的麻煩事。不過,這個函式庫,搭配 STM32 的板子,編譯時會出現錯誤訊息,需要在 WiFiEsp 函式庫中的 EspDrv.cpp 加上一些定義,才能順利編譯。