基于開源路由技術的低功耗無線路由器研究
3 低功耗無線路由器的實際應用
眾所周知,在古老歷史遺跡和古老景區內是很難實現網絡接入的,主要原因是布線困難,因為布線會對歷史遺跡產生損害。這時候就需要離線的導游導覽系統來實現智慧景點的建設。本文研究的系統就是基于離線移動互聯網沒備(Mobile Internet Device,MID)的導游導覽系統。在這個系統中,無線路由器所要實現的功能是以固定間隔發送廣播幀,游客在游玩的時候,MID會根據廣播幀的信號強度和SSID號來判斷游客所在的位置,同時自動播放游客所到景點的視頻和語音介紹信息。
在這個系統中無線路由器只需要提供以同定間隔發送廣播幀的功能即可。由路由器的工作原理和IEEE802.11協議幀結構可以看出,無線路由器的功耗主要在數據傳輸和實現其路由功能上面,而發送廣播幀的功耗很低。由此想到,如果將路由器的路由功能禁止并且不讓其傳輸數據,只讓其以固定間隔發送廣播幀,那么將會大大降低功耗,而我們需要的這些功能是可以通過修改第三方固件Open-WRT實現的。
4 無線路由器和Open-wRT固件的選擇
經調查研究各種路由器,最終選擇了中興公司的H118B路由器,使用的是BCM5354芯片,支持DD-WRT、Open-WRT等主流第三方固件,此款路由器的硬件配置是:8 MB Flash、32 MB ROM、BCM5354 CPU。
從Open-WRT官網上查得支持BCM5354芯片的固件是openwrt-brcm47xx-squashfs. trX。準備好路由器和固件之后,就是將固件刷入路由器以覆蓋原來的固件,使用tftp方式進行刷機。當刷機成功后,用telnct登錄路由器會顯示結果。刷機成功界面如圖3所示。本文引用地址:http://www.104case.com/article/154103.htm
刷機成功之后是鋰電池的準備,選擇的是輸入電壓12.6 V、輸出電壓12 V、容量為5000 mAh的鋰電池進行測試。
5 Open-WRT固件的修改和測試
5.1 Open-WRT固件配置的修改
首先,Open-WRT固件的SSID廣播是默認隱藏的,需要修改其顯示為SSID。修改方式如下:
◆執行vi/etc/config/wireless命令;
◆將option disabled 1改為option disabled 0;
◆修改過之后發現筆記本的無線網絡列表里面顯示的路由器的SSID名稱為openwrt。
然后需要做的事情是禁止路由器的路由功能。修改方式如下:
◆輸入vi/etc/sysctl.conf命令;
◆將net.ipv4.ip_forward=1改為net.ipv4.ip_for ward=0。
最后需要做的就是改變路由器發送廣播幀的間隔時間,路由器的默認發送廣播幀的間隔是100ms,而對于我們的導覽系統是不需要這么頻繁地發送廣播幀的。對于游客來說在100ms之內移動的距離太短了,所以經過研究最終決定將發送廣播幀的間隔改為2 s。在實際的游覽景區中游客行走的很慢,2 s的時間只能行走很短的距離,恰好符合系統的需求。通過給Open-WRT固件的無線配置文件加上控制幀,可以改變發送的間隔。
修改方式如下:
◆輸入vi/etc/config/wireless命令;
◆在配置文件中加入option beacon_int 2000,次命令行是將Beacon幀的發送間隔設置為2 s。
5.2 修改過程中的測試結果
測試過程共分為兩次:第一次是在刷入固件后不做任何修改的情況下測試無線路由器的使用時間,在12 V、5 000 mAh供電的情況下,路由器可以使用約8 h。第二次是禁止路由功能只發送廣播幀的情況下,經測試路由器可以持續工作約42 h。
可以得出結論:在禁止路由功能并且默認發送廣播幀的時間間隔為100 ms的情況下,路由器可以持續工作約42 h;在把路由器發送廣播幀的時間間隔改為2 s的情況下,路由器大約可以持續工作800h,固件修改過程中的無線路由器工作時間對比如圖4所示。
按照景區一天開放時間為10 h計算,一塊電池可以給路由器供電80天,這樣基本達到了我們的要求,因為兩三個月給路由器電池充一次電還是比較方便的。
評論