Hi Leute ich hab de ne Frage über die ich mir schon seit einiger Zeit gedanken mache. Für mein diesjähriges Maturaprojekt soll ich mit einem Kumpel 8 Temperatursensoren die irgendwo im Raum verteilt sind per Funk ansteuern - also die Temperatur beim Pc empfangen und auswerten. Mein grundlegendes Problem ist wie ich das löse für den Fall, dass beide Sensoren gleichzeitig senden wollen. Wie kann ich alle Daten gleichzeitig empfangen und richtig auswerten? Ich hab dafür eine Überlegung: Vielleicht je nachdem welcher Sensor die Daten schickt eine 3bittige Signatur mitschicken so in dieser Form: Sensor1: Signatur: 000 Sensor2: Signatur: 001 Sensor3: Signatur: 010 Sensor4: Signatur: 011 ... Sensor8: Signatur: 111 Oder auf Anfrage des Empfängers der dann die ID des Sensors der senden soll schickt und in einem bestimmten Zeitintervall die Sensoren a'la Daisy Chain abfragt. Hoffe ihr habt noch bessere Ideen wie ich das lösen kann. mfg Ero_Sennin
Hallo! Vorschlag: jeder Sensor hat seine eigene Kennung, und sendet ausreichend Checksummen und Zusatzdaten, um einen korrekten Empfang erkennen zu können. Dann senden die Sensoren entweder mit unterschiedlichen Widerholraten oder unregelmäßig (zufällige Abstände)Damit fallen vielleicht mal ein paar Datenblöcke aus, aber halt nicht alle. Insgesamt ist es halt wichtig, daß die Sendezeit sehr kurz im Verhältnis zur Ruhezeit ist (die Temperatur ändert sich eh nicht schnell, oder?) Damit sollte eine rein passive Basisstation machbar sein. (gibt's sowas in der Art nicht schon? findet man da nichts im Netz?) servus, Martin
Hi. Also, ich hab bei meinem Maturaprojekt etwas ähnliches gemacht. Zwar haben sich nicht Sensoren über Funk gemeldet, sondern Fernwartungsstationen (also kleine Geräte, die digitale und analoge I/Os hatten) haben per GSM miteinander über DTMF Töne miteinander kommuniziert. Jetzt konnte es natürlich auch passieren, dass 2 oder mehr Station sich gleichzeitig bei einer Basisstation melden. Bei uns gab es damals jedenfalls ein paar Ansatzmöglichkeiten... 1) So wie du das schon gemeint hast, dass sich die Basisstation die einzelnen Sensoren abfragt. Das ist sicherlich schon ein sehr guter Ansatz, da ja die Sender normalerweise nicht wissen, ob der gesendete Wert richtig empfangen wurde, oder?? 2) Mit einer ID wirst du die Sensoren ja sowieso versehen müssen, damit du weisst wo sich welcher im Raum befindet, oder?? Ansonsten kannst du den Temp. Wert ja nicht einem bestimmten Sensor zuordnen. Und wenn der Empfänger, dann die Daten empfangen hat, bestätigt er die Daten beim Sender mit einem OK, oder so! Wenn jetzt 2 oder mehr Sensoren gleichzeitig senden, dann wird einer ja nicht das OK bekommen! Und dieser wird sich dann mit einem Zufallsgenerator eine bestimmte Zeit suchen, die er dann abwartet und danach einen erneuten Sendeversuch startet. So macht es zum Beispiel Ethernet. Wenn es eine Kollision gibt, wartet jeder PC eine zufällige Zeit und versucht danach nochmals einen Sendeversuch! Ich denke mal, dass wären sinnvolle Ansätze! Vielleicht weiß noch jemand irgendwelche anderen! mfg Andreas -- Student of Telematics aauer1 (at) sbox.tugraz.at Graz, University of Technology http://home.pages.at/aauer1
zu 1. Du solltest evtl. auf verschiedenen Frequenzen senden und versuchen mit deinem Empfänger die Daten zu filtern. Gestaltet sich aber "softwareseitig" bestimmt aufwändiger als 2. Server schickt Adresse -> alle empfangen. Client mit zugehöriger Adresse -> schickt Daten an Server. Server kann nächsten Sensor abgrasen usw. Allerdings müssen dann Client&Server jeweils senden und empfangen können. Also Hardwareseitig: Lösung 1 bevorzugt "softwareseitig": Lösung 2 :-) Gruß, Micha
Danke erst mal für die Antworten. Das hilft mir schon mal weiter. Hmmm ich hatte ziemlich ähnliche ideen. Das mit ethernet war mir klar, daran wollte ich mich anlehnen nur wie ich das realisier: Leitung abhören ob jemand sendet, wenn nicht dann schick ich und wenn schon paket zerstören und ma per random nen timer abwarten. Das Problem ist wenn ich nur 433MHz nehme ohne verschiedene Channels also halt die Sensoren im Frequenzbereich um ein paar khz variieren lasse wirds bei überlagerungen ein Problem geben. Wenn ich eines immer richtig empfangen kann, gehts mit Acknowledge nur bled is halt wenn mehrere gleichzeitig senden und ich durch Überlagerung kein Signal richtig empfange. Dann noch eine billige Idee hätte ich wobei ich nicht weis ob das funzzt. Das ganze so lösen dass ich mich um Acknowledges nicht kümmern müsste, nähmlich durch koordiniertes Senden. Jeder bekommt seinen eigenen 5min Timer, jeder muss ja nur alle 5min senden. Der 1. Sensor startet sofort mit 5min, der 2te wartet noch zb 500ms oder 2 sec was auch immer und dann 5min Timer. Somit sollte keiner kollidieren. Nach Ablauf der 5min wird halt der Wert sofort reloaded und das Spiel beginnt von vorn.
die ganz billige Idee hat einen haken, man muss alle geräte gleichzeitig einschalten :-) und jedes induviduell programmieren und bei einem batteriewechsel das ganze system neu starten?? halte ich für ziemlich albern :-) wie wäre es jede stadion sagen wir alle 100s senden zu lassen, warum nicht 3 mal hintereinander, die Übertragung am sender wie empfänger durch eine led anzuzeigen, und die geräte nacheinander einzuschalten. das die geräte in realistischer zeit so weit auseinanderlaufen das sich sich irgendwann überlagern ist praktisch ausgeschlossen. tb
Hmmm, klingt plausibel. Nur wenn ich mich um Acknowledges kümmere, ist es doch so das jeder ne eigene ID senden muss, somit muss ich, wenn das nur per Software zu lösen ist auch alle einzeln programmieren, außer jeder Sensor hat von Haus aus etwas ähnliches wie bei Netzwerkkarten - eine Mac- Adresse - wovon ich eigentlich ausgehe.
Hallo, mit einem solchen Sensor-System hatte ich mich mal beschäftigt. Dort stellte man an jedem Sensor die Adresse (0 bis 7) per Jumper ein. Die Messdaten wurden dann periodisch gesendet, wobei die Periodendauer von der Adresse abhängig war. Also sowas in der Art: Periodendauer = 150s - (Adresse * 1s) So senden die Sensoren mit unterschiedlichen Periodendauern. Dabei kommt es natürlich auch vor, dass Sensoren mal gleichzeitig senden. Aber nicht sehr oft und wenn, dann klappt der darauf folgende Sendevorgang. Die Sensoren brauchen dabei nichts empfangen und der "Empfänger" muss nichts senden - macht das ganze einfacher. Thomas
Hey das is super, kannst du mir vielleicht auch die genaue Typenbezeichnung dieser Sensoren sagen?
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.