[教學] 用MicroPython網路對時NTP 學習解開網路封包

ESP32 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

Adafruit Ampy
先前在「認識 MicroPython (二) - 啟用 WebREPL 遠端 WebSocket 服務」一節中,曾經介紹利用 WebREPL 上傳檔案到NodeMCU的方法,這個方法需要在瀏覽器下面操作,而且只有簡單的上傳、下載檔案的功能,比較適合初學MicroPython的時候使用。當你開始寫更複雜的程式,去控制 NodeMCU 之後,往往需要頻繁修改、上傳檔案, WebREPL 操作起來會覺得比較繁瑣,而且這個服務本身,也佔用較多 NodeMCU 的效能。此時,若是能使用命令列指令的工具,會讓上傳、下載程式,以及檔案管理變得更直覺簡單。"ampy"  就是這樣一個簡單的命令列工具,透過 MicroPython 預設的 REPL 界面,用你熟悉的 ftp 指令,去維護、查看 NodeMCU裡面的檔案,功能簡單強大。