Arduinos drahtlos verbinden

Hallo zusammen,
eventuelle bekomme ich ja in diesem Forum genügend Infos um mir eine drahtlose Verbindung zwischen 2 Auduinos einzurichten. Die Infos im Internet sind so gewaltig bzw. zuviel, so dass ich es besser finde mich an euch zu wenden, da eventuelle schon einige Erfahrung damit haben.
Ich möchte zwei Arduino kabellos verbinden, es soll die Möglichkeit bestehen das Sensoren (Temp, Feuchte und Bewegung) ausgewertet werden, bzw. es soll auch die Möglichkeit bestehen Pins zu schalten. Infrarot bzw. Bluetooth scheidet aus. Ich glaube Funk ist die beste Lösung oder eignet sich Wifi bze. Xbee besser hierfür. Die weiteste Verbindung durch die Luft aus dem Haus nach draußen ist 18 Meter. Für reichlich Infos wäre ich sehr dankbar.

Vorab danke für Eure Hilfe

Vorschlag:
Kauf die 2 Stück Mini Sender/Empfänger (Transceiver) Typ NRF24L01 in der Bucht oder sonstwo.
Sind schon recht preiswert für ein paar Euro/Paar zu bekommen. Ich hab 2 Stück für ges. 5€ in GB gekauft. 1 Woche Lieferzeit.
Arbeiten im 2.4GHz Bereich, lassen sich auf 127 verschiedenen Frequenzen in diesem Bereich schalten (zur eventuellen Konfliktvermeidung mit WLAN o.ä.).
Es gibt 2 verschiedene Ausführungen: Die einfache mit einer kleinen Platinen-Antenne "on board" (Reichweite ca. 100m) oder in der Version "PA+LNA" mit ca. 100mW Leistung und externem Antennen-Anschluss (für handelsübliche 2.4GHz-Router-Antennen mit SMA-Anschluss) für gut nen Kilometer Distanz. Im Freien ...

Die Dinger sind recht winzig (ca. 4x1,5cm) und werden über SPI gesteuert.
Das praktische daran: Es gibt eine hervorragende LIB mit Beispielen, die wirklich 1A funktioniert:

Vorsicht: Die Dinger laufen mit 3,3V ! Also am richtigen Pin vom Arduino die Spannung abgreifen.
UND: Die kleinen Transceiver kannst man vom Arduino selbst versorgen. Für die "dicken" Dinger würde ich eine separate Versorgung (DC-DC-Wandler für ein paar €) empfehlen.

Noch wichtig:
Ich hatte Anfangs meine Schwierigkeiten mit den Teilen - mal ging's, mal nicht.
Es scheint zwingend erforderlich, bei diesen Teilen einen kleinen Keramik-Kondensator von ca. 100nF direkt auf der Transceiver-Platine zwischen + und - zu löten !

Ansonsten: Lib aufspielen (dazu braucht man noch die I2Cdef-Lib hier: i2cdevlib/Arduino/I2Cdev at master · jrowberg/i2cdevlib · GitHub, eine der Demos laden (GettingStarted.INO) und schon gehts los.

Diese Teile hätte ich in meinem Wetterstation Projekt auch nehmen wollen.
Habe einen UNO der die Daten der Außensensoren zum MEGA Board schickt.

Auf dem MEGA Board steckt aber ein Ethernet Shield, so das ich mit Problemen der Ethernet LIB und der RF24 Lib gerechnet habe.
Wegen des Handling der CS Lines.

Habe deshalb dieses 433 MHZ Modul http://www.miniinthebox.com/de/433m-superregenerationsschaltung-funk-sendemodul-alarmanlage-und-empfaenger-modul_p391009.html?pos=ultimately_buy_1
Mit VirtualWire funktioniert dies ganz gut.

Der Vorschlag von TERWI ist mit Sicherheit besser, nur wenn am SPI noch andere Devices hängen muss man sich Gedanken über die Chip Selekt Pins machen.
Wenn nun 2 unhängige Lib werkeln könnte dies Kopfschmerzen bereiten - mir war es zu tricki.

Wenn der SPI frei ist, ist der Vorschlag bestimmt eine bessere Lösung als meine

Danke TERWI,

ich werde wohl deinen Vorschlag versuchen umzusetzen, rudirabbit empfiehlt deinen Vorschlag auch. Preislich sind die Module ja auf gleicher Ebene. Sind diese NRF24L01 störanfällig? Was mich wundert im Netz wird viel um die Xbees oder zigbees geschrieben, scheinbar sind die hier nicht so gefragt oder werden von jemanden erwähnt. Taugen die nichts für den Arduino bzw. ist die Umsetzung auf dem Arduino zu schwierig?
Gruß Heinz

Gute Frage - ich hab mir die DInger auch schon mal wgen vermeintlich besserer Reichweite angesehen, aber selbst noch nicht probiert oder studiert.
Wenn ich das alles so richtig erkannt habe. laufen die ja schon mit Protokollen und allem Brimborium drumherum für Nettzwerk-Kommunikation usw.
Wer das braucht ....
Zum anderen Kosten die natürlich nen Zacken mehr und meist (immer ?) muss man noch so ein Shield dafür haben.
Ich finde nicht das Zig- und Xbee-Module preislich auch nur ansatzweise mit den NRF auf gleicher Höhe sind. Oder wie meintest du das ?

NRF störanfällig ? Kann ich so nicht sagen - nur bis auf das mit dem kleinen Ko an +/- auf dem Sender. Ist vielleicht ein wenig pingelig ?
Übrigends passierte das hier nur mit nem MEGA, den NRF am UNO hat das nicht gejuckt - auch nicht nachdem ich die getauscht habe.

Wenn man wie du nur einige Meter überbrücken muss, sollte das reichen.
Und wie gesagt: Von der programmierung her eher einfach.
Wenns mal schnell gehen muss: 32 Byte hat eine Übertragung Nutzlast (pder PayLoad) Emtangs- und Sendepuffer schaffen 3x32Byte am Stück.
Für mich reicht das an Kommunikationsdaten jeweils in eine Richtung.
Für deine Wetterstation denke ich mal auch. :smiley:

Mit preislich auf gleicher Ebene meinte ich die 433 MHz und die NRF Module, die Xbees sind natürlich teurer. Aber man hat damit ja bestimmt kein Reichweitenproblem wie bei den vorab genannten, hier liest man ja immer wieder das der eine oder andere im Haus nicht einmal aus dem Raum heraus funken kann. Ich dachte an die Xbees weil sie ja auch noch den Vorteil haben das man an die Dinger direkt Sensoren anschliessen kann, so wie ich das verstehe, würden die dann auf der Senderseite ohne Arduino betrieben werden können. Aber für mich ist erst mal wichtig das sich die Module einfach programmieren lassen da ich neu Einsteiger in Sachen Arduino und C Programmierung bin, da muss man erst mal das viele Input nach und nach verarbeiten, da ist natürlich hilfreich wenn es das eine oder andere Programm schon im Netz gibt, über die Xbees gibt es in Sachen Arduino nicht soviel Information.
Für Wetterdaten bzw. für Bewegungssensoren reichen die NRF Module bestimmt, bestellt habe ich sie schon mal.

Bei mir funktionieren die "kleinen" problemlos von Büro bis in's Wohnzimmer - das sind gut 20m mit 2 24er Wänden dazwischen.
Man muss dabei nur bedenken, das diese eher winzigen Antennchen als Leiterbahn logo keine nennenswerte Abstrahlung haben und dazu noch (leicht) richtungsgebunden sind.
D.h., wenn man beide "falsch" legt, wird das auch im Haus etwas eng.

Die RF-24 Lib, bzw. die NRF's haben auch eine Möglichkeit den Signalpegel zu prüfen. Allerdings ergibt das nur eine Angabe "Geht - Geht nicht".
Nicht wirklich hilfreich um den tatsächlichen Pegel zu ermitteln, aber damit kann man regelmäßig auslesen ob Ausfälle auftreten oder nicht.
Als hilfreiche Ergänzung dazu (sagen wir mal für pseudo-Messzwecke) kann man die Sendeleistung in 4 Stufen wählen: Min, Low, High, Max.
Wenn man jeweils den Empfang pro Sendeleistung auf JA/NEIN prüft, bekommt man schon ein brauchbares Ergebnis, ob die Funkstrecke sicher läuft oder nicht.

Nicht vergessen: WLAN (auf 2.4GHz) läuft im gleichen Bereich !
Das ist zwar ne völlig andere Modulation, aber stört halt eben doch nachhaltig.
D.h., man sollte also einen Kanal wählen, auf dem sich nun nicht gerade der eigene oder Nachbars Router tummelt.
Prüfen kann man das sehr schön bei einer Fritz-Box (ich hab hier ne 7390) unter WLAN->Funkkanal.
Ich nehme mal verstärkt an, dass das Problem betreff gestörter Kommunikation (bei den NRFs :grin:) bei vielen hier liegt.

Nachtrag:
Man sollte beim Betrachten der Funkkanäle auf der Box auch "WLAN-Störeinflüsse ausblenden" (das geht zumindestens bei der 7390) wählen.
Dabei sieht man, das die eigene Box (hier auf Kanal 1, sicher wegen automatischer Kanalwahl) bis Kanal 7 (2,442 GHz) den Bereich belegt.
Dazu habe ich noch 3 weitere Netze mit nennenswerter Leistung auf K6, K12 und K12.

Ein NRF kann von 2400-2525 senden/empfangen. Der Kanalabstand beträgt 1, bzw. 2 MHz.
Um also o.g. Probs gleich von vorne herein aus dem Weg zu gehen, wäre ein Bereich jenseits der normalen Router-Frequenzen (> K13, 2,472GHz) empfehlenswert.
In der RF24-Lib wird vorgabemäßig Channel 76 gelegt - also 2400 MHz + 76 MHz = 2460 MHz. Das ist irgendwo zwischen K11 und K12 !
Um Problemen von vorneherein aus dem Weg zu gehen, sollte man also den Kanal manuell beim initialisieren setzen !
Ich gebe manuell gleich immer mit setChannel(111) bei 2511 MHz vor.

Danke nochmals für die Hinweise, ich betreibe Wlan über die Fritzbox an der auch Wlan-Kameras angeschlossen sind alles über Kanal 7. Deine Tipps werden sicherlich verhindern das ich gleich am Anfang wenn ich die Module in Betrieb nehme auf Probleme stoße die ich jetzt im Vorfeld schon mal verhindern kann. Meine Entfernung innerhalb des Hauses liegen bei rund 17 Meter Luft. Hier bekomme ich noch ein schwaches Wlan Signal, mit dem ich aber noch surfen kann, müßte dann eigentlich für die Übertragung der Module passen, außer Haus sind es 18 Meter das geht erst recht.

Na denn gutes Gelingen und lass bei Gelegenheit hören wie das fluppt (oder nicht).

Hoi,

hat es schon Ergebnisse zum herzeigen oder berichten ? :roll_eyes:

Doei
Trixi

Hallo Trixi,

die Teile sind erst vor 3 Tagen gekommen, ich muss jetzt erst die Zeit dafür haben um das zu testen bzw. auszuprobieren.
Dauert noch etwas.

Hoi Heinz,

OK :smiley:

Doei
Trixi