首页-达尔闻    全部    项目分享| DIY wifi 信号强度检测仪

项目分享| DIY wifi 信号强度检测仪

谁能忍受家里的wifi信号时强时弱?你知道房间里哪个位置的wifi信号最强?虽然常用wifi信号放大器来改善办公室或者家里的wifi信号,却不知道该将wifi放大器放在哪个位置,才能够有效帮助路由器提升wifi覆盖效果?

这时,如果有一个设备可以清清楚楚的显示wifi信号到底是多少,就可以轻松解决上面的问题了。
收藏
  • 谁能忍受家里的wifi信号时强时弱?你知道房间里哪个位置的wifi信号最强?虽然常用wifi信号放大器来改善办公室或者家里的wifi信号,却不知道该将wifi放大器放在哪个位置,才能够有效帮助路由器提升wifi覆盖效果?

    这时,如果有一个设备可以清清楚楚的显示wifi信号到底是多少,就可以轻松解决上面的问题了。

    今天就教你DIY一个神器,快速帮你找到wifi信号最弱、最强的地方。超简单,跟上来一起做吧:

    wifi强度检测仪用到的硬件:

    1. ESP8266 ESP-12F WeMos D2 Mini Module Wifi开发模组

    2. Micro转USB转接口(用于连接充电宝充电)

    3. SSD1306 OLED显示模块

    涉及到的软件:Arduino IDE,用于编译ESP8266代码。

     

    NO.1 PCB制作

    电路非常简单,因为ESP8266 WeMos D1 Mini体积非常小,所以用了0.66英寸的OLED显示模块,大小正好匹配,看上去更美观一些。

     

    除此之外,为了方便携带这个设备,就在OLED和主控之间焊接一个座子。其中OLED显示屏和ESP8266的连接方式如下图:

     

    NO.2  确认OLED屏的i2c地址

    为了让OLED和主控正常通信,在硬件连接好之后,需要先确认OLED的i2c地址,大多数SSD1306的OLED显示器的地址都是0X3C。

    这里使用Mike Causer的i2cdetect的库。通过直接调用库中的示例代码检查oled的i2c地址。代码编译下载后,打开串口监视器,并将波特率设置为代码中给出的值,就可以看到地址如下:

     

    NO.3  调用SSD1306库

    基于SSD1306 oled显示器有许多不同的库,这里使用的是:ESP8266 and ESP32 OLED driver for SSD1306 displays。

     

    NO.4  编写代码

    首先,配置wifi账号和密码:

    char wifissid[ ] = " ENTER YOUR WiFi SSID HERE";
    char wifipass[ ] = "ENTER YOUR WiFi PASSWORD HERE";
    其次,确定信号显示的方式:

    正常情况下,信号强度以dBm表示。但对于非技术人员来说,以%表示的信号强度,可以更加直观的感受到强弱。 所以在oled上既显示dBm,又显示%。。

    最后,配置SSD1306 OLED

    SSD1306 display(Address of Display, SDA_PIN,SCL_PIN)
    SSD1306 display(0x3c, D2, D1);

     

    NO.5  代码分享与演示

    利用函数WiFi.RSSI()进行WiFi信号强度编写,根据信号判断WiFi信号是否链接,具体如何显示,可以参考分享的代码,这里就不在贴出来了,可以在“达尔闻说”微信回复:wifi强度。