All Projects → whitefield-framework → whitefield

whitefield-framework / whitefield

Licence: GPL-2.0 License
Whitefield provides a simulation environment for wireless sensor networks by combining RF simulation provided by NS3 and network stack provided by popular IoT OSes such as Contiki/RIOT/OpenThread.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to whitefield

rpl-attacks
RPL attacks framework for simulating WSN with a malicious mote based on Contiki
Stars: ✭ 56 (-20%)
Mutual labels:  wsn, contiki, rpl
IoTCodeRecipes
IoT Code Recipes: RPL, mDNS and REST
Stars: ✭ 19 (-72.86%)
Mutual labels:  contiki, rpl, wireless-sensor-network
Riot
RIOT - The friendly OS for IoT
Stars: ✭ 4,029 (+5655.71%)
Mutual labels:  os, riot, riot-os
applications
Some useful RIOT applications
Stars: ✭ 39 (-44.29%)
Mutual labels:  riot, riot-os
cellabox
Air quality modules with Nordic nRF52840. Thread network (OpenThread). TheThingsIO. Sensirion. SPEC Sensors. ST Microelectronics.
Stars: ✭ 27 (-61.43%)
Mutual labels:  ipv6, openthread
Openthread
OpenThread released by Google is an open-source implementation of the Thread networking protocol
Stars: ✭ 2,643 (+3675.71%)
Mutual labels:  ipv6, openthread
contiki-uwb
Contiki OS, Glossy and Crystal port for the DecaWave EVB1000 and DWM1001 platforms featuring the DW1000 UWB transceiver
Stars: ✭ 22 (-68.57%)
Mutual labels:  wsn, contiki
Tutorials
No description or website provided.
Stars: ✭ 82 (+17.14%)
Mutual labels:  riot, riot-os
uC-TCP-IP
A compact, reliable, high-performance TCP/IP protocol stack. Features dual IPv4 and IPv6 support, an SSL/TLS socket option, and support for Ethernet, Wi-Fi, and PHY controllers.
Stars: ✭ 66 (-5.71%)
Mutual labels:  stack, ipv6
findlargedir
find all "blackhole" directories with a huge amount of filesystem entries in a flat structure
Stars: ✭ 15 (-78.57%)
Mutual labels:  os
netcalc
Simplified clone of sipcalc with ipcalc looks
Stars: ✭ 36 (-48.57%)
Mutual labels:  ipv6
thinkimf
thinkimf 一个基于PHP7的创新互联网框架,驱动物联网,智联网,职业规划 hinkIMF ,PHP IOT FRAMEWORK
Stars: ✭ 29 (-58.57%)
Mutual labels:  iot-framework
gossip
An online user interface to efficiently author and delivery awesome and informative presentation. 🚀
Stars: ✭ 378 (+440%)
Mutual labels:  stack
riot realworld example app
Exemplary real world application built with Riot.js v6 🖐👍
Stars: ✭ 16 (-77.14%)
Mutual labels:  riot
duck-os
基于鸭子编译器写的os
Stars: ✭ 20 (-71.43%)
Mutual labels:  os
nixos-on-arm
Cross Compiling NixOS to ARM as a replacement for Yocto
Stars: ✭ 129 (+84.29%)
Mutual labels:  os
React-Realtime-Chat
A full-stack reproduction of the popular realtime chat application, Slack (http://slack.com) using React and GraphQL Subscriptions.
Stars: ✭ 16 (-77.14%)
Mutual labels:  stack
utero
The Operating System (for x86_64) written in Crystal as much as possible
Stars: ✭ 55 (-21.43%)
Mutual labels:  os
ngx-ip
An Angular network address component (IPv4, IPv6 and MAC)
Stars: ✭ 20 (-71.43%)
Mutual labels:  ipv6
data-structure-and-algorithm
Basic data structures, sorting algorithms, algorithms learning tools. 基本数据结构,排序算法,算法学习工具
Stars: ✭ 86 (+22.86%)
Mutual labels:  stack

Alt text

GitPitch [Setup & Regress Doc status Join the chat at https://gitter.im/whitefield-fw

Whitefield provides a simulation environment for sensor networks by combining realistic PHY/MAC layer simulation with the native mode use of popular IoT stacks/OSes such as Contiki/RIOT/OpenThread/Zephyr/FreeRTOS/OT-RTOS. Thus one can use existing stack implementation as is and test it on top of realistic RF simulation.

Whitefield uses PHY/MAC layer provided by popular simulators (such as NS3-lrwpan/PLC) and loosely couples it with the constrained network stacks supported by popular IoT OSes, thus providing the best of both worlds. It provides common visualization and OAM tools (logs, pcap, shell) which simplifies monitoring and troubleshooting.

Typical use-cases of Whitefield:

  1. Large scale realistic testing with real-world embedded stacks. Test thousands of nodes with realistic 802.15.4 and Power Line Communication interfaces.
  2. Large scale interop testing between different network stacks in same environment.
  3. Create reproducible work/experiments. Most of the experiments mentioned in the papers are difficult to be reproduced. Whitefield helps alleviate this issue.

Alt text

Terminology:

Airline: Airline refers to PHY/MAC/RDC implementation provided by third-party simulators such as NS3/Castalia-Omnet++. Provides configuration management and OAM tools which works across any third-party simulators. It interfaces with Commline to send/recv messages to/from Stackline.

Commline: Message queue and corresponding interfaces which decouples Airline and Stackline. All the messages, be it the network payloads or OAM messages are transported using Commline.

Stackline: 6lowpan/Network layer and above protocol stack provided by third-party IoT OSes such as Contiki/RIOT. A new platform is added in such OSes to interface with Whitefield. The protocol stack with application will be used as-is from these OSes.

Setup Instructions

Build Instructions (Native Install)
git clone https://github.com/whitefield-framework/whitefield
cd whitefield
./scripts/setup.sh #This may take a while...
make
Build Instructions (Vagrant Install with Ubuntu 18.04)
git clone https://github.com/whitefield-framework/whitefield
cd whitefield
vagrant up	# <- step takes time
vagrant ssh
Build Instructions (Vagrant Install with Ubuntu 20.04)
git clone https://github.com/whitefield-framework/whitefield
cd whitefield
IMG=focal64 vagrant up	# <- step takes time
IMG=focal64 vagrant ssh

Execute Instructions:

$ 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

Work done in Whitefield

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].