Git Product home page Git Product logo

rf24sh's Introduction

RF24SH - RF24 Smart Home Protocol

======

NOTE: This is under development! A lot of stuff needs to be fixed.

Goals:

  • Provides an easy to use Network Library for NRF24L01+.

Dependencies:

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

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)

TODO:

  • Interrupt driven read

About:

rf24sh's People

Contributors

matheusbrat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rf24sh's Issues

Silent crash

Just built on RPi. Make all worked fine in both librf24/rpi and examples/rpi_master. Launching rpi_master (sudo ./rpi_master) resulted in an immediate silent crash.

My hardware works fine with the regular RF24 library (have a working example from that library, but interested in using your mesh network with a RPi master).

Put some debug messages in, and seeing that GenericStation gets instantiated twice, and immediately after the second time, the virtual ~GenericStation executes and the app crashes. G++ version issue or something?

Examples Don't Compile (*Raspberry Pi*)

Matheus,

I'm really excited about trying out your project, but there seems to be an issue on the RPi. I cannot get any of your examples to compile -- RPi B Rev2.0, using Raspbian.

The initial error is about the type-specifier... which I fixed (I think), but after that the compiler errors are over my head.

I know the radio is working; it is receiving data from an Arduino Nano using another test program.

One more note: If I go all the way back to commit e09efb0 it'll compile, but it just runs and exits.

Any ideas?

(Awesome project by the way!)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.