This repository contains the long-term connectivity and link quality dataset collected on ChirpBox over 4 months (May -- September 2021) in the city of Shanghai, China.
In addition to the dataset itself, we provide evaluation scripts for data analysis and visualization, in order to facilitate data exploration and re-use. To make it clear how to use the scripts, we provide a Jupyter notebook -- dataset.ipynb for dataset visualization.
We would like to show some steps and examples of using the provided scripts to visualize the dataset and pre-process the metadata. All example codes can be found and run directly in the Jupyter notebook: dataset.ipynb.
Example codes assume that the following files and python environment are prepared:
File preparation:
dataset_metadata.zip
into a subdirectory with the same name: dataset_metadata
Python environment:
Dataset visualization:
Analysis
class:from data_analysis import *
dataset_tool = Analysis() # Specify data analysis class
import pathlib # provide the working directory
# Specify the folder for output processing
directory_path = str(pathlib.Path.cwd()) # Current directory of notebook
dataset_CSV = directory_path + "//dataset_03052021_15092021.csv" # TODO: name the CSV file
id_list = list(range(21)) # 21 nodes for current dataset
sf_list = [7] # SF = 7 and RF = 480 MHz
freq_list = [480000]
plot_date = ["2021-05-07 00:00:00", "2021-05-07 12:00:00"] # plot start and end time
plot_type = ["topology", "using_pos2"] # plot type and output format
dataset_tool.dataset_analysis(sf_list, freq_list, id_list, directory_path, dataset_CSV, plot_type, plot_date) # dataset visualization with configurations
processed_plots
subdirectory of the specified directory.plot_type = ["topology", "using_pos0/1/2"]
plot_type = ["max_min_temperature"]
plot_type = ["MAX/AVG/MIN_link_RSSI_temperature_plot"]
plot_type = ["subplot_PRR", "subplot_degree"]
plot_type = ["heatmap"]
Please see more detailed examples and explanations in the Jupiter notebook: dataset.ipynb.
Dataset pre-processing:
dataset.csv
will be generated in the subdirectory dataset_metadata/dataset/
under the specified directory. from metadata_processing import *
dataset_processing_tool = TXT_metadata() # Specify metadata processing class
dataset_processing_tool.metadata_to_CSV(directory_path+"\\dataset_metadata\\", id_list)