Project Aidi

The Distributed Sensor Network is design to provide a flexible wireless network that can be implemented in the smart home network condition or the small size Internet of Things.

X86 Server (QT Based C++ Project) code can be found at | Github.

Android controller (Eclipse based Java Project) code can be found at | Github.

Arduino MCU with multiple sensors.

Android Human Interface Device (Eclipse based Java Project) code can be found at | Github.

Over View


Above image shows what the Sensor Cluster looks like in the real world.

A single Sensor Cluster was composed by an Arduino base board (Arduino UNO R3 / ATMega 328), a ZigBee board with ZigBee Mesh (Version 2) chip and a Sensor Board with multiple sensor attached on it.

All of the boards were attached together with ATMega 328 I/O Pins and power lines stack together.



Above shows a image of the Android controller program.

Structure
The network includes several units: Home Server, Micro Controller (MCU), Wireless Transmission Unit (ZigBee) and Sensors.



Wireless Network Implementation
~

Wireless Communication Protocol
This protocol is used for communication in a ZigBee Mesh network:


 * Between any two Wireless Transmission Unit.

This protocol is also used for communication on the internet:


 * Between a client device (HomeController or HomeDevice) with the server via TCP/IP.

Data Frame Definition:
Example (Report temperature data <0x00FF> from ZigBee Router to Coordinator ):

Operation List and Frame Definition:
The frame with Router and/or Coordinator in the address field is refer to communication in a ZigBee Mesh network.
 * ZigBee Network Frame Definition

The frame with Client and Server in the address field is refer to communication on the Internet with TCP/IP protocol.
 * TCP/IP Communication Frame Definition