Embedded Innovation: nRF24L01+ sniffer - part 1. When working with wireless networks, or any network in general, it can be very helpfull to inspect the raw message data.
Networking chips only accept messages directly addressed to them (or when broadcasteded), but most also support a so-called promiscuous mode. This mode allows the networking chip to capture all network traffic on air/on the wire and is used to monitor all network traffic, not just the traffic addressed to our node.As a picture is worth a thousand words, a moving picture is probably worth a million words! nRF24 sniffing Packet formats A regular packet is sent on air by the nRF24 in the following format (supposedly; it's not in the datasheet): Every message starts with a preamble, which the radio uses to identify incoming packets. The nRF24L01+ modules support a mode called 'Enhanced Shockburst' which has a number of advantages over regular usage (incomplete): Many (all?) Promiscuous reception Limitations What's next. Auto-Retry Count and Extended Timeouts Newly Optimized RF24Network.
Tips and examples for tuning the network and Dual-head operation.
The RF24 radio modules are generally only capable of either sending or receiving data at any given time, but have built-in auto-retry mechanisms to prevent the loss of data. These values are adjusted automatically by the library on startup, but can be further adjusted to reduce data loss, and thus increase throughput of the network. This page is intended to provide a general overview of its operation within the context of the network library, and provide guidance for adjusting these values. The core radio library provides the functionality of adjusting the internal auto-retry interval of the radio modules.
In the network configuration, the radios can be set to automatically retry failed transmissions at intervals ranging anywhere from 500us (.5ms) up to 4000us (4ms). The library should provide fairly good working values, as it simply staggers the assigned values within groups of radios in direct communication. Newly Optimized RF24Network Layer: Network Layer for RF24 Radios. This class implements an OSI Network Layer using nRF24L01(+) radios driven by the newly optimized RF24 library fork.
Original: Create an alternative to ZigBee radios for Arduino communication. New: Enhance the current functionality for maximum efficiency, reliability, and speed Xbees are excellent little radios, backed up by a mature and robust standard protocol stack. They are also expensive. For many Arduino uses, they seem like overkill. Tmrh20.github.io. RF24Network/sensornet.pde at master · TMRh20/RF24Network. Optimized High Speed NRF24L01+ Driver Class Documenation: Optimized High Speed Driver for nRF24L01(+) 2.4GHz Wireless Transceiver.
This library fork is designed to be...
More compliant with the manufacturer specified operation of the chip, while allowing advanced users to work outside the recommended operation. Utilize the capabilities of the radio to their full potential via Arduino More reliable, responsive, bug-free and feature rich Easy for beginners to use, with well documented examples and features Consumed with a public interface that's similiar to other Arduino standard libraries Dec 2014 New: Intel Galileo now supportedNew: Python wrapper for RPi includedDocumentation updatedExample files have been updatedSee the links below and class documentation for more info.
If issues are discovered with the documentation, please report them here Please refer to: This chip uses the SPI bus, plus two chip control pins. Most standard Arduino based boards are supported: ATMega 328 based boards (Uno, Nano, etc)Mega Boards (1280, 2560, etc)Arduino Due: Must use one of the hardware SS/CSN pins as extended SPI methods are used. TMRh20s Project Blog. Arduino: Using the full potential of NRF24L01 radio modulesA New, Optimized Fork of the RF24 Radio Library: High speed data transfers and more!
Includes updates and new features for the RF24Network Library Updated Jan 2015 NRF24L01+ radio modules are very inexpensive, and provide a robust interface for transferring data wirelessly between devices with minimal resource and power consumption. I've been working with them more and more as time goes on, but have always struggled with some of the inner workings and limitations of the current libraries available. After initially studying the operation of the radio modules and reviewing the details in the data sheet, I was convinced that the modules could perform much faster. Further research into the additional library forks, blog posts, and countless hours of testing revealed that the modules can be very sensitive to the timing of things. RF24Ethernet - TCP/IP for nrf24l01+ radios over RF24Network.