對於使用 Arduino IDE來開發 NodeMCU 專案的朋友來說,要讓兩個以上的任務,在某個時間內,按照一定的時間間隔,個別運作且同時被執行,程式不太容易實現。舉例來說,像下圖這樣三個任務,綠色任務每一秒讀取溫度感測器把結果輸出到UART;黃色任務,每隔兩秒閃一下;藍色任務檢查Pin2 的按鈕是否被按下,然後結束所有工作。而且這三個任務,個別按照一定的時間間隔,重複執行、而且同時運作。在Arduino IDE裡面,要怎麼寫?
[教學] 用MicroPython網路對時NTP 學習解開網路封包
由於 NodeMCU (ESP8266) 或 ESP32 的MCU 裡面帶有實時時鐘 (Real-time clock,RTC),在RTC 被校正之後,能用於時間戳章(Time Stamp)的相關應用。比方說,可以把溫度感測器的測量數值,跟當前的時間,一起存進去 SD 卡的 log 紀錄檔,這樣讀取歷史資料時,就知道某個溫度,是在何時被量測紀錄的。
但由於MCU模塊,不像電腦主機板有安裝 CR2032 鋰電池,去維持RTC不間斷運作,一旦 MCU電源中斷,之前網路校準好的時間就沒了,重新上電後,RTC會回到預設的 2000年1月1日0點。好在 NodeMCU 跟 ESP32 都內建 WiFi,因此透過網路對時伺服器 NTP Server,便能隨時校正RTC。對於價格便宜的 MCU 來說,更頻繁地執行網路校時,可以彌補 RTC 不準的缺陷。
[教學] 認識 MicroPython (四) - 使用 ampy 取代 WebREPL
替 Arduino Nano 開無線外掛 (二) 使用 WiFiEsp 函式庫
這樣才完成開無線外掛的目的。不過,總不能每次都這樣子敲一大堆 AT 指令吧?本文接續前文,繼續介紹完整的外掛控制方法,包含讓你在遠端執行一個 UDP 伺服器,實際收取 Arduino Nano 這端的資料。
如何讓 WiFiEsp 跟 STM32 Blue Pill 編譯時不會出錯?
WiFiEsp 是一個簡單好用的函式庫,讓你的 Arduino 板子,能夠透過 ESP-01物連網模組連上網路、傳送資料。它使用 AT指令跟 ESP-01 溝通,因此不需要更改 ESP-01 的韌體,就可以直接使用。另外它的函式,也跟 Arduino 原裝的 WiFi 與 Ethernet 函式庫差不多,很多函式都一樣。
對於要用現成的 MPU 連接 ESP-01 上網的程式來說,它可以省去許多直接用 AT 指令去控制 ESP-01的麻煩事。不過,這個函式庫,搭配 STM32 的板子,編譯時會出現錯誤訊息,需要在 WiFiEsp 函式庫中的 EspDrv.cpp 加上一些定義,才能順利編譯。
Ubuntu 20.04 iBus 酷音輸入法編輯使用者詞彙
在 Linux作業系統中,由於輸入法系統的開發,讓中文能暢行無阻,無論輸入搜尋關鍵字,或是編寫一篇文章,都能順利以注音、倉頡、拼音輸入法為之。目前 Ubuntu 20.04 版,預設安裝 iBus 輸入法系統,使用者可以在 iBus 中,安裝酷音輸入法或其他種類的輸入法,用以輸入中文。
[教學] Arduino Pro Mini 的便宜替代品 MiniEVB
MiniEVB 是一款仿造 Arduino Pro Mini 的微控制器模組,採用深圳 LogicGreen 公司出品的LGT8F328P-SSOP20 8位元晶片。這顆MCU的功能,除了跟 Arduino Pro Mini 上面使用的 ATmega328 功能相仿之外,核心頻率還比 ATmega328 勝過一籌,可以運行到32MHz,運算速度32 MIPS,內部的32KHz RC振盪器,有提供校準功能,讓可以精準執行即時計數,或輸出準確的方波。而 原廠提供的Arduino 硬體支援包,讓你可以像使用其他 Arduino 模組一樣,用你熟悉的方式, 來開發 MiniEVB 相關的應用。
晶片基本規格:
I/O 與封裝:QFP48/32L, SSOP20L
32Kbytes 可編程 FLASH 程式記憶體
2Kbytes 內部數據 SRAM
EEPROM 0Kb, 但有提供模擬接口,可配置为 0K/1K/2K/4K/8K (共用 FLASH 空間,而且是配置的2倍空間,這部份不如 ATmega328)
最低功耗: 1uA@3.3V
工作電壓: 1.8V ~ 5.5V
工作頻率: 0 ~ 32MHz
工作溫度: -40C ~ +85C
HBM ESD : > 4KV




