Wi-Fi signal data gathering, analysis and visualization

Date |
Aug 2019
Technologies |
raspberry-pi
·
r
·
python
·
plotly
·
express
·

Wi-Fi signal data gathering, analysis and visualization. The main goal of this project is to check the quality signal and coverage of a local Wi-Fi router.

Wi-Fi network analysis

  • iwlist: detailed wireless information from a wireless interface
  • python-iwlist: python scanner and parser for wireless networks


Connected devices

  • nmap: open source utility for network discovery and security auditing
  • nmap python: python library which helps in using nmap port scanner


Data exploration

  • R - Programming Language / 3.6.0
  • RStudio - IDE for R / 1.2.1335
  • dplyr - A grammar of data manipulation / 0.8.1
  • ggplot2 - Create graphics with R / 3.1.1
  • jsonlite - JSON Parser and Generator for R / 1.6
  • lubridate - Library for date-times / 1.7.4


Deployment
The python script wifi_analysis2.py was run every minute on a RaspberryPi3B using crontab, a cron (time-based job scheduler) expression editor.


Data visualization
Every minute, requested data was appended to a csv file. In order to visualize this information, a local server was designed using Node.js express server. This server makes a call to request the csv data and builts a plot using Plotly.js