對于ARM Cortex-M系列的單片機來說,省電一直都是其一個極大的亮點,但是眾所周知,wifi的使用會很大的加快電量的使用,使得省電的特色完全表現不出來,因此,在保持WiFi連接的同時使用省電模式,就是我們要找的解決方案,這里以瑞昱的 RTL8195 WiFi 發板為例,看一下如何實作這一功能,以及能耗能得到怎樣的改善
材料準備
RTL8195 x 1
DHT11/DHT22/DHT21 x 1
范例說明
RTL8195 的deepsleep無法讓wifi處于連線狀態,如果想讓 RTL8195 省電,并且保持wifi連線,可以使用sleep API。
打開范例 “File” -> “Examples” -> “AmebaPowerSave” -> “SleepWithDHTUdpServ”
范例里一樣需要設定連線AP的ssid & password
這個范例里,RTL8195 會先建立wifi連線,進入sleep省電模式,RTL8195 會當作UDP server,每當接收到UDP封包內容為 ‘H’,就回傳濕度,接收到UDP封包為 ‘T’,就回傳溫度。
與deepsleep不同的地方是,當 RTL8195 打開sleep模式,會自己找尋可以睡眠的時間,當裝置閑置時就會進入睡眠。整個睡眠與醒來的動作是自動的,不需要使用者干預。
當 RTL8195 連線之后,我們參考之前測驗TCP/UDP的工具Sokit設定 RTL8195 的 IP & port。
我們每分鐘輪流問一次溫濕度,可以看到 RTL8195 都有回應.

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

實際情況里,不會用到那么久,他會因為升壓轉換造成能量損失,也會因為電池電壓隨時間而降低造成無法使用到全部的容量。
這里的資料會因為網路狀況而有不同,但讓RTL8195 保持連線的情況下會比讓RTL8195 進入deepsleep要耗電。但讓RTL8195 保持連線也提供使用者做遠端操控,這是deepsleep無法做到的。這端看使用者的應用而定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/193083.html
標籤:單片機/工控
上一篇:思科Cisco交換機的基本模式和命令基本使用和技巧大全
下一篇:Linux之軟體管理操作
