Hallo zusammen, vorweg muss ich sagen, dass ich mit Mikrocontrollern und Elektronik bislang nur theoretisch zu tun hatte, jedoch lese ich hier schon seit einigen Jahren mit. Nun ist es so weit, dass ich mein erstes Projekt starten möchte, aber vorab die Machbarkeit klären möchte. Was ich bauen möchte: 5 Geräte zur Temperatur-Erfassung, 1x Raumluft, 2x Anlegefühler, die Daten sollen 1x pro Minute erfasst und gesendet werden. 1 Gerät zum Daten-Loggen auf SD-Karte. Die Verbindung der Module sollte über Bluetooth funktionieren. Ich möchte kleine Arduinos als Basis mit einer RTC und Bluetooth Modul verwenden. Dann sollten wenigstens keine Fehler in der Hardware stecken, die ich vergeblich suchen muss und günstig ist es auch noch. Ist es möglich mehrere Geräte gleichzeitig zu koppeln und welche Module sollte ich verwenden? Oder kann/muss ich die immer nacheinander neu verbinden? Als Temperatur-Sensor möchte ich den DS18B20 nutzen. Da ich grundsätzlich keine Ahnung habe, habe ich mich bewusst für die Arduino Umgebung entschieden. Vielen Dank für eure Hilfe und noch schöne Weihnachtstage, Martin
Grundsätzlich gibt es Piconet, die meisten Module unterstützen das aber nicht in der Firmware. Habe sogar schon gesehen, dass bestimmte Features (wie z.B. Piconet) beworben werden, weil die Hardware das KÖNNTE - die Software aber eben nicht unterstützt. Vielleicht wäre ein Modul wie das NRF24 nützlicher (notfalls am Ende dann mit Bridge zu BT). Suche doch mal nach "arduino nrf24l01" Also auf deine Frage hin: Bluetooth und Netzwerk eher nein, auch wenn theoretisch möglich. Da müsste man dann immer einzeln pairen und wieder abmelden - etwas holzig.
:
Bearbeitet durch User
Prima, mir fehlte der Begriff piconet. Google zeigt dazu aber auch nicht richtig viel an. Dann versuche ich es mit den von dir genannten NRF24 Modulen. Dazu wurde anscheinend auch schon viel geschrieben. Ich lese mich da Mal ein. Vielen Dank!
Piconet ist doch Master und Slave "zeitgleich" und dann ein Mash aufbauen... mehr als ein Slave ist per BL classic möglich... (7 Slaves) Per BLE 4.2 oder 5.0 soll es die ersten Mash Lösungen geben?! Ansonsten kann man bei so wenigen Teilnehmern auch über die Advetise-Nachricht kommunizieren... VG Basti
Ich habe mich für die NRF24L01+ Module entschieden. Bislang läuft der Testaufbau prima. Drei Sender liefern einmal pro Minute die aktuelle Temperatur von einem DS18B20 an den Empfänger, welcher dann zunächst alles auf einem LC Display ausgibt. Die Funk Verbindung ist ausgezeichnet, auch durch mehrere Mauern hindurch. Leider habe ich eines dieser schlechten SD-Module erwischt, die keine weiteren Teilnehmer am I2c Bus zulassen. Daher kann ich im Moment nur die Echtzeituhr am Empfänger zusätzlich anschließen. Jetzt bekommt jeder Sender noch einen Temperatur und Luftfeuchtigkeitsfühler DHT22 und einen weiteren DS18B20 um den Vor- und Rücklauf der Heizkörper zu messen. Das ganze soll dann behilflich sein den hydraulischen Abgleich der Heizplatten über die Rücklauf Temperatur zu verbessern. Derzeit laufen die Sender auf den Arduino Nano, welche ich aber den pro Mini mit 3,3v austauschen werde. Ziel ist natürlich eine möglichst lange Laufzeit, was ich durch eine sleep library unterstützen möchte. Die LED's und den Spannungsregler möchte ich noch entfernen. Kurze Frage noch dazu: kann man den pro Mini einfach mit einem Akku 18650 versorgen oder muss da noch Elektronik davor?
Hallo, Martin schrieb: > Leider habe ich eines dieser schlechten SD-Module erwischt, die keine > weiteren Teilnehmer am I2c Bus zulassen. Daher kann ich im Moment nur > die Echtzeituhr am Empfänger zusätzlich anschließen. falls Du mit "SD-Module" ein SD-Card-Modul meinst: die nutzen SPI, nicht I2C! Gruß aus Berlin Michael
Hallo, stimmt natürlich! Nutze ich auch so. Die Sender lasse ich in einem vorgegebenen Zeitintervall senden, was aber schließlich dazu führen kann, dass ein Sender z.B. die Daten sofort und die anderen möglicherweise erst Minuten später senden werden. Für meine Zwecke wäre es aber gut, wenn ich die Sender abfragen könnte und so gewährleisten kann, das die Messungen zeitlich so nahe wie möglich beieinander liegen. Ich verstehe noch nicht, wie ich die Sender anfunken kann, damit diese dann als Antwort die Messdaten zurück senden. Ich habe von ACK-Payload gelesen, meinem Verständnis nach geht das aber nur in die andere Richtung. Kann mir bitte jemand da die entscheidenden Stichworte gegen?
Die nRF24L01+ Module funktionieren Bidirektional. Das bedeuter du kannst die sowohl als Empfänger als auch als Sender nutzen. Zu der Versorgung: Die Arduino Boards verfügen über ein Spannungswandler.
Arduinos brauchen mindestens 7V vor dem Spannungswandler. Man kann sie aber auch "hinten herum" am Anschluss "5V" direkt an die Batterie anschliessen. Aber: 1) Darfst du dann den USB Port nicht benutzen, sonst bekommst du einen Kurzschluss. Abhilfe kann eine Diode in Reihe zum Akku schaffen, an der fallen aber leider ein par hundert mV ab. 2) Musst du die Taktfrequenz auf 8Mhz herabsetzen, was wiederum einen modifizierten Botloader erfordert.
Die Bluetooth Module HC05, HC06, und BTM222 können nur eine Verbindung gleichzeitig aufbauen. Und sie können nicht gleichzeitig Master und Slave sein.
Wenn du deine "Sender" aktiv abfragen willst, müssen sie Verbindungen annehmen können. Dann sind sie im Sinne des Netzwerkes die Server während dein zentraler Client die Server pollt. Jetzt hast du ein par Fachbegriffe zum googeln.
Stefan U. schrieb: > Arduinos brauchen mindestens 7V vor dem Spannungswandler. Man kann sie > aber auch "hinten herum" am Anschluss "5V" direkt an die Batterie > anschliessen Beim Pro Mini kann man eine externe Spannungsquelle an dem RAW Pin anschließen entweder über 3.3 V bis 12 V bei der 3.3V Version oder über 5V bis 12V bei der 5 V Version.
Vielen Dank für eure Antworten! Ich habe ein paar Pro Minis als 3,3V Ausführung mit 8MHz bestellt. Daran wollte ich einen Akku ohne Spannungsregler direkt anschließen. Hätte ja funktionieren können, aber der nrf24 benötigt wohl eine gut geregelte Spannung. Da muss ich mir wohl etwas anderes überlegen... Die Funkmodule betreibe ich als "Star-Formation". Bidirektional kann ich auch nachvollziehen, aber ich bekomme es nur so hin, das zunächst ein Sender etwas schicken muss. Was ich gerne hätte, wäre das der Empfänger den Sender pingt und als Antwort die Messwerte übermittelt werden. Ich werde mir das Datenblatt nochmal ausführlich anschauen, aber dieses technische Englisch ist mir stellenweise sehr fremd.
Martin schrieb: > Hätte ja funktionieren können, aber der nrf24 benötigt wohl eine gut > geregelte Spannung. Ich meine man kann die 3.3 V an Vcc des Arduinos abgreifen bin mir da aber nicht ganz sicher. Martin schrieb: > Was ich gerne hätte, wäre das der Empfänger den Sender pingt und als > Antwort die Messwerte übermittelt werden. So weit ich dich verstanden habe muss du den Empfänger dann als Sender umprogrammieren und analog das selbe mit dem Sender. Du sagst deinem Sender (Empfänger bei dir) das du gerne die Messwerte haben möchtest und programmierst den Empfänger (Sender bei dir) so das er die Messwerte zurück sendet und danach wieder als Empfänger dient. Deswegen der Hinweis, dass man die nRF24L01+ Module Bidirektional verwenden kann. Dieses ACK dient nur dazu das Die Pakete erfolgreich beim Empfänger angekommen sind. Für die Arduino Umgebung gibt es die RF24 Bibliothek die deinen Ansprüchen genügen sollte. MfG EmKo
Martin schrieb: > Kurze Frage noch dazu: kann man den pro Mini einfach mit einem > Akku 18650 versorgen oder muss da noch Elektronik davor? Wenn Du den 3,3V-Spannungsregler herunter nimmst, ja - der AT328 sollte mit 8MHZ-Quarz bis kurz unter 3V laufen. Stefan U. schrieb: > Arduinos brauchen mindestens 7V vor dem Spannungswandler. Man kann sie > aber auch "hinten herum" am Anschluss "5V" direkt an die Batterie > anschliessen. Die ProMini gibt es auch als 3,3V-Version. > Aber: > 1) Darfst du dann den USB Port nicht benutzen, sonst bekommst du einen > Kurzschluss. Abhilfe kann eine Diode in Reihe zum Akku schaffen, an der > fallen aber leider ein par hundert mV ab. Beschissene Falle, deshalb habe ich mir eine galvanische Trennung mit ADuM1201 gebaut. Die schafft mir auch das Pegelproblem 5V-Programmieradapter an 3,3V-ProMini von der Backe. > 2) Musst du die Taktfrequenz auf 8Mhz herabsetzen, was wiederum > einen modifizierten Botloader erfordert. Der ProMini mit 3,3V / 8MHz kann direkt aus der Arduino-IDE programmiert werden, man muß lediglich die Einstellungen "Board" und "Prozessor" passend setzen - habe ich mir gerade erst am WE angeschaut.
Danke für eure Hilfestellungen! Was definitiv machbar ist, dass die ACK-Packete mit Messwerten versehen werden können. So etwas habe ich auch schon in einem Sketch gesehen. Jedoch war das jeweils nur ein Empfänger und ein Sender. Mag vielleicht auch von der verwendeten library abhängen. Ich studiere nochmal das Datenblatt und schaue mir die Beispiel Sketch der library an. Ich nutze derzeit 5 "Reading Pipes" und eine "writing Pipe" an dem Empfänger. Vielleicht Stelle ich mich hier auch einfach zu doof an, weil auf den bildlichen Darstellungen durch Pfeile in beide Richtungen dargestellt wird, dass der Empfänger auch an die Sender senden kann.... Danke auch für den Hinweis mit den Minis und der Problematik 5V USB. Die wären bei mir kaputt gegangen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.