什么是WiFi?
如今,许多人在他们的智能手机、平板电脑和PC上使用WiFi服务。 WiFi是由Wi-Fi联盟注册的用于构建IEEE802.11标准无线LAN的协议。
Wi-Fi比蓝牙更强大。 Wi-Fi通常用于连接无线互联网,这使得该协议更受欢迎。您可以使用此技术轻松地在任何地方连接到Internet。 Wi-Fi标准在2.4 GHz时支持最高11Mps的速度。为了提高该标准的速度,建立了另一个名为IEEE802.11n的版本,其速度提高了200Mps。这种速度的提高是由于使用了多通道天线(MIMO),使用两个2.4 GHz和5 GHz频率范围以及媒体访问控制(MAC)。
在本篇文章中,我们想要使用ESP8266、Arduino和3.5“TFT LCD创建一个WiFi热图。 ESP8266可以检测指定SSID(RSSI)的Wi-Fi信号。我们在这个项目中使用了ESP-01模块。将其中4个模块放在房间的四个角上。在收到ESP模块的信息后,我们将它们发送给Arduino进行分析和显示。
什么是热图?
热图是一种图形数据,可以使信息具有吸引力。热图通常使用色谱来分析信息,这种色谱从暖色开始,以冷色结束。具有最高强度和特定数据覆盖范围(例如WiFi信号强度)的地图的每个部分具有最热的颜色,因此,随着数据强度的降低,色谱将接近冷色。
所需的材料
● Arduino UNO R3开发板
● 3.5“TFT彩色显示屏模块
● ESP8266 WiFi模块
● Arduino IDE
创建WiFi热图的电路连接
将ESP模块连接到Arduino开发板,如下图所示。
连接ESP模块后,将TFT Shield放在Arduino上。
代码
首先,我们为ESP模块编写一个代码来检查信号强度并将其发送给Arduino。然后我们为Arduino编写另一个代码来接收信息并显示它们。
在每个ESP模块上传以下代码。您可以阅读本教程,了解有关ESP8266模块以及如何通过Arduino IDE上传代码的更多信息。
#include
在此代码中,字符“1”表示ESP模块标识符,对于后续模块,更改此标识符。 例如,对于第二个模块,将标识符更改为“2”。 输入所需的SSID名称代替“Specific SSID”。
现在在Arduino上传以下代码。
#include
在此代码中,我们使用Adafruit_GFX和MCUFRIEND_kbv库在LCD上显示信息,您可以从以下链接下载。
● Adafruit_GFX库
● MCUFRIEND_kbv库
从所有模块接收到RSSI后,Arduino根据位置计算WiFi信号的强度。 您可以通过更改r、g和b变量来创建自己的颜色。