mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrere Sensoren drahtlos mit dem Computer verbinden


Autor: Alfons (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde gerne etwa 5-15 Sensoren drahtlos über eine Strecke von <20m 
mit meinem Laptop verbinden, sodass ich sowohl vom Laptop an die 
Endgeräte Befehle schicken als auch von ihnen Daten empfangen kann. Die 
Sensoren würden jeweils mit einem Atmega8 verbunden werden. Ich den Kopf 
sind mir spontan Bluetooth und ZigBee gekommen, wobei Bluetooth am 
Computer keinen zusätzlichen Empfänger/Sender benötigen würde.

Ich freue mich über Ratschläge!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neben den genannten Lösungen
RFM12 (ISM 433/845 MhZ) oder so, kosten ~3€/Stück und Code gibt es hier 
im Forum...
Oder iDwarf-Module von Chip45 oder...

Autor: Alfons (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommen sich denn mehrere RFM12 nicht gegenseitig in die Quere?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das hängt davon ab, was Du genau vorhast. Wenn Du die Sensoren abfragst 
und sie antworten sollen, entscheidest Du ja, was wann passiert.

Ich habe hier ein paar Sensoren damit laufen, die senden ungefragt ca. 
alle Minute ihre Daten. Da die Sleeptimer recht ungenau sind, ist das 
Risiko recht gering, daß 2 zur gleichen Zeit senden. Würde bei mir aber 
auch nicht stören, ich nutze die Daten nur alle 5 Minuten und da ist es 
egal, wenn mal ein Paket nicht ankommt.

http://www.avr.roehres-home.de/

Gruß aus Berlin
Michael

Autor: Flo G. (phlo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde keine RFMs nehmen, wäre mir zuviel Gefrickel und 
Unsicherheitsfaktoren drumherum. Bluetooth ist denke ich am ehesten das 
Stichwort - such mal nach den BTM-222 Modulen, die sollten den Job mit 
minimaler Außenbeschaltung machen...

Grüße

Autor: Maggo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann auch empfehlen, das generell mit den BTM Modulen zu machen, die 
sind ganz einfach zu implementieren, laufen am AVR auch ganz einfach mit 
zwei Widerständen als Pegelwandler von AVR->BT-Modul und in die andere 
Richtung brauchst du nichts, der Mega erkennt den 3,3V Pegel sicher als 
High.

In deinem speziellen Fall (wenn ich dich richtig verstanden habe) wird 
es aber ein Problem sein, dass du mehrere Sensoren an einen PC verbinden 
willst. Soweit ich weiß, kann doch über BT nur jeweils ein Gerät 
gleichzeitig, in dem Fall ein BT-Modul + Mega + Sensor angebunden 
werden. Man könnte die Strecke vielleicht so implementieren, dass du 
einen mega + Modul als Sendestation nimmst und alle Sensoren in BT 
Master sind. Dann übergibst du der "Sendestation" Befehl und Adresse und 
diese verbindet dann an den entsprechenden Sensor und führt den Befehl 
aus. Auf die gleiche Art kannst du zyklisch die Sensoren abfragen, indem 
deine Slave-Sendestation auf alle Master nacheinander verbindet und eine 
Anfrage sendet.

Zusätzlich wird das ganze mit 5-15 + 1 BT-Modul bei ca. 10-14€ pro Modul 
ins Geld gehen und die aufwändige Implementierung der Sensoren bringt 
dann vielleicht kein Vorteil mehr gegenüber 433MHz-Modulen...

Wäre aber auch daran interessiert, wie die Geschichte umgesetzt wird.


Gruß

Maggo

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die BTM-xxx können sich zu einer Zeit mit nur 7 anderen Modulen paaren, 
was bei 15 Sensoren ein Problem darstellen könnte. "Entpaaren" und 
"Neupaaren" dauert einige 100ms bis mehrere Sekunden. Wenn man mehrere 
Sensoren zusammen an den Controller eines BT-Moduls anschließen kann, 
läßt sich das vielleicht umgehen.

Autor: Blumi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wozu müssen sich die Module mit anderen Modulen paaren? Es reicht doch 
wenn der PC zu allen Kontakt aufnimmt. Alle Module als Slave machen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist schon richtig, aber nur gepaarte Module können Daten austauschen 
bzw. stellen ihre Dienste zur Verfügung; selbst der Computer kann sich 
mit seinem internen Modul u.U. mit nur einer bestimmten Anzahl externer 
Module zu einer Zeit paaren. Wenn die Sensoren zeitkritische Daten über 
zu viele Module liefern müssen, ist es Essig.

Autor: Matze Niemand (hupe123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm zigbee. ich hab zwei module von atmel und die sind klasse.
nur etwas gefrickel und nach ein paar tage haareraufen versteht man 
sogar was die wann machen :)
kosten allerdings 30€/stk können aber sogar mashnetzwerke!

gruß

Autor: Funky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal die easy-radio Module: kein großer Aufwand, reine 
RS232-Ankopplung, laufen im 430MHz-ISM-Band, können auf 10 Kanäle 
programmiert werden und haben 10 Ausgangsleistungsstufen.
Werden ganz einfach über UART-Protokoll angesteuert, vorne Daten rein, 
hinten Daten raus.
Kannst Du jeder Zeit wunderbar mit einem Terminal-Programm überprüfen 
(z.B. HyperTerm).
Der PC ist der Master und der kann problemlos eine beielbige Anzahl von 
Salves abfragen bzw. mit Anweisungen versorgen.
Den ganzen Aufwand mit Blue-Tooth und ZigBee brauchst Du doch gar nicht.

Funky

Autor: Alfons (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Easy-Radio-Module sehen sehr gut aus. Die Einschränkung auf 10 
Kanäle und damit 10 Geräte könnte ich verkraften. Allerdings die Frage: 
Wie empfängt der PC die Daten von allen 10 Modulen? Braucht der dann 
auch 10 Empfänger?

Und wo kann ich die Module für weniger als 30 Euro kaufen (Geheimtipp!)? 
Weil das ist schon happig bei 10 Modulen...

Danke im Voraus!

Autor: Mathias R. (prinz77) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ohne wirklich schon Ahnung von der Materie zu haben versuch ich mal 
zu helfen.

Die 10 Kanäle sind meiner Meinung nach ja nur dazu da um mit anderen 
"Netzwerken" nicht zu kollidieren?

Alle Sensoren als Slave laufen lassen. PC als Master.

Jeder Sensor bekommt eine ID.

Wenn der Master einen Befehl mit entsprechende ID sendet, mit der 
Auforderung Daten zu schicken, dann fühlt sich eben nur der Sensor mit 
der entsprechenden ID angesprochen und spuckt die Daten aus. Alle 
anderen halten die Klappe. :D

Sollte doch so in etwa zu realisieren sein, oder lieg ich da voll 
daneben?

Autor: lightninglord (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich Pfriemle gerade auch so eine SW zusammen. Es gibt 2 Möglichkeiten 
dein Netzwerg auftzubauen:

Sensoren müssen sich nach dem anschalten beim Hub anmelden, dort 
bekommen sie eine ID zugeteilt ( bei Funkmodulen / -chips mit ID-Code 
hat man sogar ne MAC die man ggt im E²PROM des Hubs ablegen kann -> Fixe 
ID ) nun legt sich der Sensor für x Sekunden schlafen, wenn er aufwacht 
misst er und dann Schaut er ob auf dem Channal was los ist, wenn ja 
wartet er bis er CH frei ist und sendet dann ein REQ Signal zum Hub, 
dieser nimmt dann entweder an und Sendet ein ACK oder verweigert und 
sendet ein NACK. Im Falle eines ACK darf der Sensor seine Daten senden. 
Der Empfang wird vom Hub bestätigt ( ACK ) und der Sensor darf wieder 
schlafen.

So in etwa funktionieren auch die iDwaRF-Module ( CYPRESS N:1 Software 
).

Wenn man eine getriggerte Messung will dann kann man o verfahren:

Der Sensor muss sich nach dem Anschalten wieder beim Hub melden, bekommt 
ne ID ( naja wie oben hald ). Nun legt sich der Sensor für ein paar 
hundert mSec schalfen. Wenn er aufwacht sucht der nach nem Prebrust, 
wenn er einen findet wartet er auf das Preamble, wird dieses gefunden 
dann misst er ( alle Sensoren die den Prebrust erkannt haben messen 
dann, das sollten für gewöhnlich alle sein ;-) ) nun kommt der Hub ins 
spiel: Er sendet an den 1. Sensor ein REQ Signal ( ID !!! ) dieser 
Sendet seine Daten zurück, welche dann vom Hub bestätigt werden. nun 
legt sich Sensor1 schalfen. Jetzt wird an den 2. Sensor ein REQ 
gesendent, rest siehe Sensor1, dann Sensor3,4,5...

Wichtig bei der 2. Methode ist das der Prebrust länger ist als die 
Sleep-Zeit der Sensoren, dadurch wird sicher gestellt, das alle Sensoren 
triggern, egal wann sie aufwachen.

Grüßle

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.