Skip to content

RF24SH – Smart Home

RF24 Smart Home Protocol.

Is a library to let you connect your Arduino (atmega), Teensy (arm) and Raspberry using wifi module NRF24L01+. This library uses Maniacbug RF24 Library and add a new layer to it allowing easy communication between many nodes (up to 250). This let user to create a network of any stuff and move then to Internet of Things if Master is connected to internet.

THIS IS UNDER DEVELOPMENT!

Goals:

Provides an easy to use Network Library for NRF24L01+.

Dependencies:

RF24 Library (Arduino) – librf24/arduino/ – https://github.com/maniacbug/RF24
RF24 Library (Teensy) – librf24/teensy/ –
RF24 Library (RPi) – librf24/rpi/ – https://github.com/gnulnulf/RF24

How this library works:
The NRF24L01+ module can listen up to 6 channels. First channel can be 0x7878787878 for example all other channels must be in the same range for example 0xABABABABYY. More information about this you can get on NRF24L01+ datasheet. Channels:

Channel 0 is for protocol communication
Channel 1 is for parent communication
Channel 2-5 is for child communication

Master station is responsible to ID/Parent/Channels distribution (every network must have one)
Stations are peers connected to the Network

How to use it:

Setup your NRF24L01+ and make sure they are working with RF24 Library and their examples. (Guarantee everything is wired correctly)
Create a MASTER station
Create less then 250 regular stations
Just connect one STATION by time (1 minute to stabilish connection – This is a huge secure factor)

Basic example of communication:

Master ON listening on Protocol Channel
Child connects without an ID – SENDS WHO_LISTEN (Every station that listen to it, will send a message I_LISTEN)
Master sends I_LISTEN
Child keep track of 5 nodes that he can talk to. If station receives more then 5 I_LISTEN it will preserve the smaller level ones (So it keeps near MASTER station)
Child send ASK_CONFIG
Master reply with SET_CONFIG sending ID, PARENT, LEVEL and other informations
If a child can’t communicate directly to MASTER who can listen to him will forward the ASK_CONFIG (and the SET_CONFIG later)

Source Code:
https://github.com/x-warrior/RF24SH

55 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *