Ameba的deepsleep無法讓wifi處於連線狀態,如果想讓Ameba省電,並且保持wifi連線,可以使用sleep API。
打開範例 “File” -> “Examples” -> “AmebaPowerSave” -> “SleepWithDHTUdpServ”
範例裡一樣需要設定連線AP的ssid & password
這個範例裡,Ameba會先建立wifi連線,進入sleep省電模式,Ameba會當作UDP server,每當接收到UDP封包內容為 ‘H’,就回傳濕度,接收到UDP封包為 ‘T’,就回傳溫度。
與deepsleep不同的地方是,當Ameba打開sleep模式,會自己找尋可以睡眠的時間,當裝置閒置時就會進入睡眠。整個睡眠與醒來的動作是自動的,不需要使用者干預。
當Ameba連線之後,我們參考之前測試TCP/UDP的工具Sokit設定Ameba的IP & port。
我們每分鐘輪流問一次溫濕度,可以看到Ameba都有回應。

這個範例裡會偵測D18這根防止進入睡眠的pin腳,如果D18被接地,就不會讓Ameba進入sleep睡眠模式,於是我們可以測量兩種耗電:
(實驗所使用的電錶為Keysight 34465A)