吳超 劉雪花
摘要:WiFi無線技術(shù)應(yīng)用極為廣泛,是辦公室、餐廳、酒店、商場(chǎng)等公眾場(chǎng)合的必備。企業(yè)和家庭用戶設(shè)立了大量的無線熱點(diǎn),增加了WiFi熱點(diǎn)管理的難度。該文使用樹莓派和esp8266單片機(jī),設(shè)計(jì)與實(shí)現(xiàn)了室內(nèi)WiFi信號(hào)的探測(cè)設(shè)備。它通過測(cè)量信號(hào)強(qiáng)度rssi值,計(jì)算WiFi熱點(diǎn)的距離,然后使用三角定位方法,計(jì)算各個(gè)WiFi熱點(diǎn)的坐標(biāo)值,使用圖形界面顯示各個(gè)WiFi熱點(diǎn)的位置。該設(shè)備應(yīng)用了熱門的樹莓派主板,使用Python編程,通過樹莓派GPIO端口控制傳感器和讀取數(shù)據(jù),加速了設(shè)備的開發(fā)過程,基本實(shí)現(xiàn)室內(nèi)WiFi信號(hào)的探測(cè)功能。
關(guān)鍵詞:WiFi;樹莓派;esp8266;定位
中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)08-0215-03
Abstract: WiFi wireless technology is widely used in offices, restaurants, hotels, shopping malls and other public places. Enterprises and home users have set up a large number of wireless hotspots, which increases the difficulty of WiFi hotspot management. In this paper, raspberry pie and esp8266 microcontroller are used to design and realize the indoor WiFi signal detection equipment. It calculates the distance of WiFi hotspots by measuring the RSSI value of signal strength, and then calculates the coordinates of each WiFi by using triangle positioning method, and displays the location of WiFi hotspots using graphical interface. The device uses the popular raspberry pi motherboard and uses python programming, control sensors and read data through raspberry pi GPIO port, accelerate the development process of equipment, the detection function of indoor WiFi signal is basically realized.
Key words: WiFi; raspberry pi; esp8266; location
1 背景
WiFi無線技術(shù)應(yīng)用極為廣泛,傳輸距離遠(yuǎn),覆蓋范圍廣,傳輸速率快,在生活中廣泛使用[1-2]。無線WiFi是辦公室、餐廳、酒店、商場(chǎng)等公眾場(chǎng)合的必備[3]。面對(duì)智能手機(jī)用戶的快速增長(zhǎng),以及智能家電產(chǎn)品和可佩戴設(shè)備數(shù)量的增加,企業(yè)和家庭用戶設(shè)立了大量的無線熱點(diǎn)。WiFi探測(cè)器能夠找到可用的WiFi網(wǎng)絡(luò)并收集有關(guān)它的信息,可視化顯示W(wǎng)iFi熱點(diǎn)相關(guān)數(shù)據(jù),使用戶更好管理自己周圍的WiFi設(shè)備。本文使用樹莓派和esp8266單片機(jī),設(shè)計(jì)與實(shí)現(xiàn)了室內(nèi)WiFi信號(hào)探測(cè)設(shè)備。它可以便捷地檢測(cè)周圍WiFi熱點(diǎn),判斷WiFi熱點(diǎn)距離,距離計(jì)算使用三角形定位方法[4],使用戶更好管理無線熱點(diǎn)。
2 系統(tǒng)整體設(shè)計(jì)
本文設(shè)計(jì)的室內(nèi)WiFi信號(hào)探測(cè)設(shè)備可以顯示周圍的WiFi熱點(diǎn)位置,用來尋找WiFi熱點(diǎn)在哪里。設(shè)備包括1個(gè)樹莓派,1個(gè)esp8266模塊,1個(gè)HMC5883L模塊。樹莓派是設(shè)備的主控板,運(yùn)行系統(tǒng)的軟件,并把探測(cè)的結(jié)果顯示出來。設(shè)備使用樹莓派的無線網(wǎng)卡和esp8266模塊來檢測(cè)WiFi無線信號(hào),通過三角形算法來計(jì)算WiFi熱點(diǎn)的距離。HMC5883L模塊通過磁場(chǎng)來檢測(cè)當(dāng)前的方向,計(jì)算當(dāng)前設(shè)備正前方的方向。系統(tǒng)整體設(shè)計(jì)如圖1所示。
3 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)
3.1 樹莓派
本設(shè)備的主控板是樹莓派3B+。它采用BCM2837B0型號(hào)CPU構(gòu)建,這個(gè)處理器包含完整的性能優(yōu)化和散熱器,雙頻802.11ac無線網(wǎng)卡和藍(lán)牙4.2,1G LPDDR2,PoE支持(Power-over-Ethernet,with PoE HAT),只有信用卡大小的微型電腦。樹莓派3B+以MicroSD卡為硬盤,卡片主板周圍有4個(gè)USB接口和一個(gè)百兆以太網(wǎng)接口,可連接鍵盤、鼠標(biāo)和網(wǎng)線,同時(shí)有HDMI高清視頻輸出接口。樹莓派3B+正面如圖2。
樹莓派3B+無線網(wǎng)絡(luò)的天線,天線位置處的銅箔中做了鏤空處理,有一個(gè)梯形的“孔狀”,看起來有點(diǎn)像吹風(fēng)機(jī)的吸嘴形狀??谞畈糠直煌祝╒ias)和幾顆微小的電容器包圍,構(gòu)成了2.4GHz的諧振腔,通過電容器驅(qū)動(dòng),整個(gè)設(shè)計(jì)就是樹莓派3B+的天線如圖3所示。
3.2 esp8266模塊
ESP8266是上海樂鑫信息科技設(shè)計(jì)的低功耗WiFi芯片,集成完整的TCP/IP協(xié)議棧和MCU。ESP8266 WiFi模塊集成了WiFi聯(lián)網(wǎng)、數(shù)據(jù)透?jìng)饕约按贏T指令控制等功能,通過串口AT指令與主控芯片進(jìn)行通信。AT指令是一些起控制作用的特殊字符串,模塊可以通過AT指令控制使用,開發(fā)速度快,難度非常低。ESP8266模塊支持Soft AP模式,Station模式,Soft AP +Station共存模式三種。它將設(shè)備連接到WiFi無線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能;可以用于快速開發(fā)智能遠(yuǎn)程控制設(shè)備。只需要簡(jiǎn)單的串口通信開發(fā),即可實(shí)現(xiàn)數(shù)據(jù)的傳輸和控制。Esp8266原理圖如圖4所示。
3.3 HMC 5883L模塊
HMC5883L具有高精度,偏移抑制等特點(diǎn)。它具有12位ADC、低噪聲、自檢測(cè)、低電壓操作和寬磁場(chǎng)范圍,并且內(nèi)置驅(qū)動(dòng)電路,采用I2C數(shù)字接口,體積小,操作簡(jiǎn)單。HMC5883L能測(cè)量XYZ三軸與地磁場(chǎng)磁感線夾角,方向角的范圍是0-360,正北方向是0,方向角順時(shí)針增大。HMC5883L模塊如圖5所示。
4 系統(tǒng)軟件設(shè)計(jì)
4.1 WiFi熱點(diǎn)距離計(jì)算
室內(nèi)WiFi信號(hào)的探測(cè)設(shè)備使用樹莓派無線網(wǎng)卡和esp8266模塊搜索WiFi熱點(diǎn),并記錄各個(gè)WiFi熱點(diǎn)信號(hào)強(qiáng)度rssi數(shù)值。信號(hào)強(qiáng)度rssi通過公式
4.2 WiFi熱點(diǎn)位置顯示
設(shè)備定時(shí)運(yùn)行腳本搜索WiFi熱點(diǎn),獲得各個(gè)WiFi熱點(diǎn)的信號(hào)強(qiáng)度rssi數(shù)值,通過公式計(jì)算距離,使用三角定位方法,獲得各個(gè)WiFi熱點(diǎn)的坐標(biāo)。計(jì)算設(shè)備正前方的方向,首先設(shè)置HMC5883L模塊磁偏角,磁偏角是指北針指向的磁極(地磁極)和地圖上標(biāo)注的磁極是不重合的,有一個(gè)夾角。軟件流程圖如圖7所示。
esp8266的WiFi功能AT指令有選擇WIFI應(yīng)用模式;加入AP;列出當(dāng)前可用AP;退出與AP的鏈接;設(shè)置AP模式下的參數(shù);查看已接入設(shè)備的IP;設(shè)置DHCP開關(guān)等。esp8266 AT指令A(yù)T+CWLAP掃描當(dāng)前可用的AP。命令返回值+CWLAP:
5 系統(tǒng)測(cè)試
設(shè)備連接好電源,運(yùn)行WiFi熱點(diǎn)搜索軟件,樹莓派會(huì)顯示出各個(gè)WiFi熱點(diǎn)的位置圖。設(shè)備實(shí)物如圖8所示。各個(gè)WiFi熱點(diǎn)的位置如圖9所示。圖9中NE表示東北方向,橙色的點(diǎn)是WiFi熱點(diǎn),藍(lán)色的點(diǎn)是無線網(wǎng)卡,兩個(gè)無線網(wǎng)卡之間的距離是0.1米,x軸和y軸的單位都是米。在圖的原點(diǎn)位置,有幾個(gè)WiFi熱點(diǎn)無法定位,因?yàn)槿切蔚娜叢粷M足兩邊之和大于第三邊。
6 結(jié)束語(yǔ)
本文設(shè)計(jì)與實(shí)現(xiàn)的室內(nèi)WiFi信號(hào)探測(cè)設(shè)備能夠顯示設(shè)備附近的各個(gè)WiFi的距離遠(yuǎn)近。設(shè)備使用樹莓派主板,使用Python語(yǔ)言編程,降低了設(shè)備的開發(fā)難度,縮短了項(xiàng)目開發(fā)時(shí)間,實(shí)現(xiàn)了WiFi熱點(diǎn)簡(jiǎn)易的探測(cè)。因?yàn)闊o線信號(hào)傳播的多徑效應(yīng)和其他干擾因素,后面通過加入機(jī)器學(xué)習(xí)和改進(jìn)信號(hào)強(qiáng)度rssi測(cè)量的準(zhǔn)確性,提高設(shè)備的探測(cè)結(jié)果。
參考文獻(xiàn):
[1] 楊琳,李媛,王咪,等.基于WiFi物聯(lián)網(wǎng)的智能家電插座設(shè)計(jì)[J].自動(dòng)化與儀表,2019,34(4):100-103.
[2] 解施媛,姜重然,王烯霖,等.WiFi在農(nóng)業(yè)物聯(lián)網(wǎng)溫濕度測(cè)量的研究[J].山西電子技術(shù),2019(5):88-90,96.
[3] 陳曉玉,張新有,張紫嫣.WiFi定位技術(shù)在地下停車場(chǎng)管理系統(tǒng)中的應(yīng)用[J].成都信息工程大學(xué)學(xué)報(bào),2019,34(3):251-256.
[4] 姚碧超.室內(nèi)WiFi定位技術(shù)研究[D].成都:電子科技大學(xué),2017.
[5] 袁珍.一種基于樹莓派的盲人避障導(dǎo)航手杖[J].鄂州大學(xué)學(xué)報(bào),2020,27(4):98-100.
[6] 趙宏哲,王鵬.基于樹莓派加Python智能密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,36(9):49-54.
[7] 王玉濤,于金星,陳鑫,等.基于樹莓派的自適應(yīng)空調(diào)控制系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2020,10(10):76-78,81.
[8] 郭鵬飛,溫志渝,周穎,等.基于樹莓派的遠(yuǎn)程水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2018,32(4):186-192.
[9] 賴瑞鏹.應(yīng)用物聯(lián)網(wǎng)的智能生態(tài)水族箱[J].物聯(lián)網(wǎng)技術(shù),2020,10(8):85-87.
[10] 廉英浩.基于環(huán)境學(xué)習(xí)的單AP高效WiFi定位[D].西安:西北大學(xué),2019.
【通聯(lián)編輯:謝媛媛】