beelogger

Funk – nRF24L01 (2,4GHz)

Das Sender-Empfänger-Modul nRF24L01 arbeitet auf einer Frequenz von 2,4GHz und ist mit zahlreichen nützlichen Features ausgestattet. Besonders interessant ist eine intelligente Paketverwaltung mit CRC-Prüfung, automatischer Empfangsbestätigung und erneuter automatischer Versendung des Paketes, falls die Empfangsbestätigung beim Sender ausbleibt. Damit sichergestellt ist, dass hierdurch beim Empfänger keine identischen Pakete ankommen, arbeiten die Module beim Versand mit einer internen Paket-ID und verwerfen identische Pakete automatisch. Ebenfalls für den Arduino Datenlogger mit Stockwaage für Imker sehr interessant, ist die Möglichkeit mit bis zu sechs Datenleitungen parallel zu arbeiten. Damit eignet sich dieses Modul auch optimal für ein beelogger-Netzwerk mit bis zu sechs Sendern, ausgestattet mit Sensoren, und einem Empfänger, welcher die Messwerte über einen Ethernet-Adapter an den Webserver sendet. Durch adressierbare Leitungen und die Möglichkeit, bis zu 127 Kanäle einzustellen, können mehrere Systeme auch parallel betrieben werden. 

Bezug

Das Modul nRF24L01 gibt es in vielen verschiedenen Ausführungen. Diese Anleitung bezieht sich auf Module mit einen 2×4-Pin Header, welche im 2,54-Raster auch vom beelogger-EasyPlug und beelogger-Solar unterstützt werden. Da die Reichweite der Standard-Module nur relativ gering ist, sollte ein Modul mit integriertem Verstärker (‘PA’ = Power-Amplifier) gewählt werden. Zu empfehlen ist ferner ein Modul mit Buchse zum Anschluss einer externen Antenne, um die Reichweite und Stabilität der Verbindung zu optimieren. Module mit integriertem Verstärker haben einen Stromverbrauch beim Senden von bis zu 115mA. Daher muss zur Stromversorgung des Moduls ein externer 3,3V-Spannungsregler verwendet werden. Diese gibt es in einer nahezu unüberschaubaren Vielfalt. 

Der nRF24L01 ist kompatibel mit beelogger-EasyPlug und beelogger-Solar !
Bild Bezugsquelle Preis ab Suchbegriffe* Bemerkungen
 beelogger nRF24L01 eBay 5,55€ nRF24L01+PA NRF24 U.FL-Buchse für externe Antenne, “Plus-Modul”
 beelogger nRF24L01 Antenne eBay 2,00€ SMA Antenna RP-SMA IPX U.fl cable 2.4 Kit externe Antenne & Kabel
  eBay 1,00€ Step Down Regulator 3,3 Voltage Spannungsregler auf 3,3V

*Einkaufstipps

Beschaltung

beelogger nRF24L01 Pinout
Module mit internem Verstärker haben einen Stromverbrauch beim Senden von bis zu 115mA. Daher muss zur Stromversorgung des Moduls ein externer 3,3V-Spannungsregler verwendet werden.

Arduino Uno, Nano, usw. nRF24L01 Spannungsregler
  VCC 3,3V
GND GND GND
D8 CE  
D7 CSN  
D13 SCK  
D11 MOSI  
D12 MISO  

Libraries

<SPI.h> – in der Arduino-Software bereits integriert
<RF24.h> – https://github.com/maniacbug/RF24

Test-Programmcode

Bei diesem Test-Programmcode werden alle zwei Sekunden fiktive Messwerte vom Sender an den Empfänger übertragen. Wird der Datensatz korrekt empfangen, werden diese über den seriellen Monitor des Empfängers ausgegeben. Vor der nächsten Übertragung werden die Messwerte um 1 erhöht. Die Client-Nummer wird dabei über die Sende-Empfangsleitung definiert. Im kompletten Programmcode wird über die Client-Nummer das jeweilige Unterverzeichnis für den Webserver gesetzt. Im Praxistest hat sich gezeigt, dass einige Module, speziell bei niedrigen Datenraten, Probleme bei aktivierter AutoAck-Funktion haben, weshalb diese im Programmcode deaktiviert wurde. Dadurch wird ein Datensatz mit der aktuellen Einstellung immer 15 mal gesendet, was durch die intelligente Paketverwaltung jedoch keine negativen Auswirkungen hat. Bei Verwendung eines Moduls mit integriertem Verstärker muss vor dem Einspielen des Test-Programmcodes die Sendestärke eingestellt werden, die den gesetzlichen Vorgaben des jeweiligen Landes entsprechen muß. 

Zum Test des Sensors mit dem beelogger-Solar, muss zunächst die Stromversorgung aktiviert werden. Hierfür ist im Setup des Programmcodes der Pin 4 auf ‘HIGH’ zu setzen:

 

Test-Programmcode Client (Sender)

Test-Programmcode Master (Empfänger)

Ausgabe des seriellen Monitors vom Master (9600 baud):

Programmcode download:

Download

Der komplette Programmcode für den Arduino Datenlogger mit Stockwaage für Imker ist unter Programmcode zu finden.