O Whitefield fornece um ambiente de simulação para redes de sensores, combinando simulação realista de camada Phy/Mac com o uso do modo nativo de pilhas/operacionais de IoT populares, como Contiki/Riot/OpenRead/Zephyr/Freertos/Ot-RTOs. Assim, pode -se usar a implementação da pilha existente como está e testá -la em cima da simulação realista de RF.
O Whitefield usa a camada PHY/MAC fornecida por simuladores populares (como NS3-LRWPAN/PLC) e o acoplam vagamente às pilhas de rede restringidas suportadas pelos Populares OSes da IoT, fornecendo o melhor dos dois mundos. Ele fornece ferramentas comuns de visualização e OAM (logs, PCAP, shell) que simplifica o monitoramento e a solução de problemas.
Casos de uso típicos de Whitefield:

Terminologia :
Airline: Airline refere-se à implementação PHY/MAC/RDC fornecida por simuladores de terceiros, como NS3/Castalia-omnet ++. Fornece gerenciamento de configuração e ferramentas de OAM que funcionam em todos os simuladores de terceiros. Ele interfina com o CommLine para enviar/RECV Mensagens de/para a Stackline.
Commline: fila de mensagens e interfaces correspondentes que desompotam a companhia aérea e a pilha. Todas as mensagens, sejam as cargas úteis da rede ou as mensagens OAM são transportadas usando o CommLine.
Stackline: 6LOWPAN/camada de rede e pilha de protocolos acima fornecida por oses IoT de terceiros, como contiki/tumulto. Uma nova plataforma é adicionada nesses SOs para interagir com Whitefield. A pilha de protocolo com aplicação será usada como está a partir desses sistemas operacionais.
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
Executar instruções :
$ 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