吴超 刘雪花
摘要:WiFi无线技术应用极为广泛,是办公室、餐厅、酒店、商场等公众场合的必备。企业和家庭用户设立了大量的无线热点,增加了WiFi热点管理的难度。该文使用树莓派和esp8266单片机,设计与实现了室内WiFi信号的探测设备。它通过测量信号强度rssi值,计算WiFi热点的距离,然后使用三角定位方法,计算各个WiFi热点的坐标值,使用图形界面显示各个WiFi热点的位置。该设备应用了热门的树莓派主板,使用Python编程,通过树莓派GPIO端口控制传感器和读取数据,加速了设备的开发过程,基本实现室内WiFi信号的探测功能。
关键词:WiFi;树莓派;esp8266;定位
中图分类号:TP391 文献标识码:A
文章编号: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無线技术应用极为广泛,传输距离远,覆盖范围广,传输速率快,在生活中广泛使用[1-2]。无线WiFi是办公室、餐厅、酒店、商场等公众场合的必备[3]。面对智能手机用户的快速增长,以及智能家电产品和可佩戴设备数量的增加,企业和家庭用户设立了大量的无线热点。WiFi探测器能够找到可用的WiFi网络并收集有关它的信息,可视化显示WiFi热点相关数据,使用户更好管理自己周围的WiFi设备。本文使用树莓派和esp8266单片机,设计与实现了室内WiFi信号探测设备。它可以便捷地检测周围WiFi热点,判断WiFi热点距离,距离计算使用三角形定位方法[4],使用户更好管理无线热点。
2 系统整体设计
本文设计的室内WiFi信号探测设备可以显示周围的WiFi热点位置,用来寻找WiFi热点在哪里。设备包括1个树莓派,1个esp8266模块,1个HMC5883L模块。树莓派是设备的主控板,运行系统的软件,并把探测的结果显示出来。设备使用树莓派的无线网卡和esp8266模块来检测WiFi无线信号,通过三角形算法来计算WiFi热点的距离。HMC5883L模块通过磁场来检测当前的方向,计算当前设备正前方的方向。系统整体设计如图1所示。
3 系统硬件设计与实现
3.1 树莓派
本设备的主控板是树莓派3B+。它采用BCM2837B0型号CPU构建,这个处理器包含完整的性能优化和散热器,双频802.11ac无线网卡和蓝牙4.2,1G LPDDR2,PoE支持(Power-over-Ethernet,with PoE HAT),只有信用卡大小的微型电脑。树莓派3B+以MicroSD卡为硬盘,卡片主板周围有4个USB接口和一个百兆以太网接口,可连接键盘、鼠标和网线,同时有HDMI高清视频输出接口。树莓派3B+正面如图2。
树莓派3B+无线网络的天线,天线位置处的铜箔中做了镂空处理,有一个梯形的“孔状”,看起来有点像吹风机的吸嘴形状。孔状部分被通孔(Vias)和几颗微小的电容器包围,构成了2.4GHz的谐振腔,通过电容器驱动,整个设计就是树莓派3B+的天线如图3所示。
3.2 esp8266模块
ESP8266是上海乐鑫信息科技设计的低功耗WiFi芯片,集成完整的TCP/IP协议栈和MCU。ESP8266 WiFi模块集成了WiFi联网、数据透传以及串口AT指令控制等功能,通过串口AT指令与主控芯片进行通信。AT指令是一些起控制作用的特殊字符串,模块可以通过AT指令控制使用,开发速度快,难度非常低。ESP8266模块支持Soft AP模式,Station模式,Soft AP +Station共存模式三种。它将设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能;可以用于快速开发智能远程控制设备。只需要简单的串口通信开发,即可实现数据的传输和控制。Esp8266原理图如图4所示。
3.3 HMC 5883L模块
HMC5883L具有高精度,偏移抑制等特点。它具有12位ADC、低噪声、自检测、低电压操作和宽磁场范围,并且内置驱动电路,采用I2C数字接口,体积小,操作简单。HMC5883L能测量XYZ三轴与地磁场磁感线夹角,方向角的范围是0-360,正北方向是0,方向角顺时针增大。HMC5883L模块如图5所示。
4 系统软件设计
4.1 WiFi热点距离计算
室内WiFi信号的探测设备使用树莓派无线网卡和esp8266模块搜索WiFi热点,并记录各个WiFi热点信号强度rssi数值。信号强度rssi通过公式
4.2 WiFi热点位置显示
设备定时运行脚本搜索WiFi热点,获得各个WiFi热点的信号强度rssi数值,通过公式计算距离,使用三角定位方法,获得各个WiFi热点的坐标。计算设备正前方的方向,首先设置HMC5883L模块磁偏角,磁偏角是指北针指向的磁极(地磁极)和地图上标注的磁极是不重合的,有一个夹角。软件流程图如图7所示。
esp8266的WiFi功能AT指令有选择WIFI应用模式;加入AP;列出当前可用AP;退出与AP的链接;设置AP模式下的参数;查看已接入设备的IP;设置DHCP开关等。esp8266 AT指令AT+CWLAP扫描当前可用的AP。命令返回值+CWLAP:
5 系统测试
设备连接好电源,运行WiFi热点搜索软件,树莓派会显示出各个WiFi热点的位置图。设备实物如图8所示。各个WiFi热点的位置如图9所示。图9中NE表示东北方向,橙色的点是WiFi热点,蓝色的点是无线网卡,两个无线网卡之间的距离是0.1米,x轴和y轴的单位都是米。在图的原点位置,有几个WiFi热点无法定位,因为三角形的三边不满足两边之和大于第三边。
6 结束语
本文设计与实现的室内WiFi信号探测设备能够显示设备附近的各个WiFi的距离远近。设备使用树莓派主板,使用Python语言编程,降低了设备的开发难度,缩短了项目开发时间,实现了WiFi热点简易的探测。因为无线信号传播的多径效应和其他干扰因素,后面通过加入机器学习和改进信号强度rssi测量的准确性,提高设备的探测结果。
参考文獻:
[1] 杨琳,李媛,王咪,等.基于WiFi物联网的智能家电插座设计[J].自动化与仪表,2019,34(4):100-103.
[2] 解施媛,姜重然,王烯霖,等.WiFi在农业物联网温湿度测量的研究[J].山西电子技术,2019(5):88-90,96.
[3] 陈晓玉,张新有,张紫嫣.WiFi定位技术在地下停车场管理系统中的应用[J].成都信息工程大学学报,2019,34(3):251-256.
[4] 姚碧超.室内WiFi定位技术研究[D].成都:电子科技大学,2017.
[5] 袁珍.一种基于树莓派的盲人避障导航手杖[J].鄂州大学学报,2020,27(4):98-100.
[6] 赵宏哲,王鹏.基于树莓派加Python智能密码锁的设计与实现[J].赤峰学院学报(自然科学版),2020,36(9):49-54.
[7] 王玉涛,于金星,陈鑫,等.基于树莓派的自适应空调控制系统设计[J].物联网技术,2020,10(10):76-78,81.
[8] 郭鹏飞,温志渝,周颖,等.基于树莓派的远程水质监测系统设计[J].重庆理工大学学报(自然科学),2018,32(4):186-192.
[9] 赖瑞镪.应用物联网的智能生态水族箱[J].物联网技术,2020,10(8):85-87.
[10] 廉英浩.基于环境学习的单AP高效WiFi定位[D].西安:西北大学,2019.
【通联编辑:谢媛媛】