Whitefield proporciona un entorno de simulación para las redes de sensores al combinar simulación realista de la capa PHY/MAC con el uso del modo nativo de las pilas/OSS de IoT populares como contiki/Riot/Openthread/Zephyr/Freertos/OT-RTO. Por lo tanto, uno puede usar la implementación de la pila existente tal como está y probarla además de la simulación realista de RF.
Whitefield utiliza la capa PHY/MAC proporcionada por simuladores populares (como NS3-LRWPAN/PLC) y la combina libremente con las pilas de red limitadas respaldadas por OSE de IoT populares, lo que proporciona lo mejor de ambos mundos. Proporciona visualización común y herramientas OAM (registros, PCAP, shell) que simplifica el monitoreo y la resolución de problemas.
Casos de uso típicos de Whitefield:

Terminología :
Aerolínea: la aerolínea se refiere a la implementación PHY/MAC/RDC proporcionada por simuladores de terceros como NS3/Castalia-Monnet ++. Proporciona gestión de configuración y herramientas OAM que funcionan en cualquier simulador de terceros. Interface con los mensajes de envío/RECV a/desde Stackline.
Commline: cola de mensajes e interfaces correspondientes que desacopla la aerolínea y la línea de pila. Todos los mensajes, ya sea las cargas útiles de red o los mensajes OAM se transportan utilizando Commline.
Línea de pila: capa 6LowPan/Network y la pila de protocolo superior proporcionada por OSE IoT de terceros como Contiki/Riot. Se agrega una nueva plataforma en tales sistemas operativos para interactuar con Whitefield. La pila de protocolo con la aplicación se usará como de estos sistemas operativos.
git clone https://github.com/whitefield-framework/whitefield
cd whitefield
./scripts/setup.sh #This may take a while...
make
git clone https://github.com/whitefield-framework/whitefield
cd whitefield
vagrant up # <- step takes time
vagrant ssh
git clone https://github.com/whitefield-framework/whitefield
cd whitefield
IMG=focal64 vagrant up # <- step takes time
IMG=focal64 vagrant ssh
Ejecutar instrucciones :
$ cd whitefield
#Start Whitefield
$ ./invoke_whitefield.sh config/wf.cfg
#Monitor whitefield status
$ ./scripts/monitor.sh
#View live network toplogy open http://localhost:8080/ in a browser
$ ./canvas/canvas.py
#Whitefield shell
$ ./scripts/wfshell help
#Stop whitefield
$ ./scripts/wfshell stop_whitefield