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.
- iwlist: detailed wireless information from a wireless interface
- python-iwlist: python scanner and parser for wireless networks
- nmap: open source utility for network discovery and security auditing
- nmap python: python library which helps in using nmap port scanner
- 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 - A Robust, High Performance JSON Parser and Generator for R / 1.6
- lubridate - Library for date-times / 1.7.4
The python script wifi_analysis2.py was executed every minute on a Raspberry Pi 3 Model B using crontab, a cron (time-based job scheduler) expression editor.
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
sudo iwlist wlan0 scan | egrep "Cell|ESSID|Signal|Rates"
sudo nmap -sP -r 192.168.1.0/24