Hallo zusammen
Ich möchte gerne in einem neuen Projekt ein paar Temperatursensoren im
Haus und Garten verteilen. Diese sollen dann an eine zentrale Stelle
senden, welche das alles dann ins Internet zu einem Server von mir
sendet.
Verwenden möchte ich gerne das RFM12 Modul von Pollin, mit welchem ich
noch keine Erfahrung habe.
Eine Hauptfrage welche ich mir stelle ist, wie ich es hinbekomme,
mehrere Sender zu betreiben, ohne sich diese stören.
Überlegt habe ich mir das bis jetzt so:
Bei WLAN ist das Verfahren ja CDMA with CA, also Collision Avoidance:
Immer bevor ein Datenpaket gesendet wird, wird eine gewisse Zeit
gewartet und gehorcht. Falls wärend der Zeitspanne nichts empfangen
wurde von anderen Sendern, dann wird gesendet.
Ich möchte das nun beim RFM12 ähnlich machen.
Klar ist also, dass ich die RFM12 Module brauche, um auch empfangen zu
können (und so zu horchen).
Was mir aber noch Kopfzerbrechen bereitet ist folgendes:
Das ISM Band ist bei 433 Mhz recht voll und viel benutzt.
Wenn ich also da mit meinem Sender bin und warte, dass niemand was
sendet, kann es doch sein das ich immer ein bisschen ein Rauschen
anderer Sender reinkriege und sich der Sender dann entscheidet, nie zu
senden.
Wie wird das in der Praxis gelöst?
Ich sollte dazu anmerken, dass mein Wissen bzgl. Funk nur theoretischer
Natur ist, ich habe selber in der Praxis noch nie mit Funkmodulen
gearbeitet.
liebe Grüsse und gutes neues Jahr
Lisa
Lisa schrieb:> und sich der Sender dann entscheidet, nie zu> senden.> Wie wird das in der Praxis gelöst?
Z.B. indem er einfach lossendet und darauf hofft, dass er wegen der
kürzeren Entfernung den fremden Sender überschreit.
Das ist nämlich eine Eigenschaft der FM: Das stärker einfallende Signal
verdrängt das schwächere, wobei, -anders als bei AM-, kaum Störungen
entstehen.
Wenn du einen Rückkanal zur Verfügung hast, kannst du dir auch den
korrekten Empfang des Datenblocks bestätigen lassen, und die Sendung
ggfs. wiederholen.
Senderkennungen und fortlaufende Blocknummern helfen dabei.
Prinzipiell musst du aber mit Störungen rechnen, und wenn eine
fehlerfreie Übermittlung wichtig ist, musst du Redundanz einbauen.
Eine Parity-Prüfung oder eine andere Prüfsumme zur Fehlererkennung ist
das Mindeste, und zur Fehlerkorrektur wurden eine Menge verschiedene
Verfahren erdacht, deren Eignung sich aber auch nach der Art der
erwarteten Fehler richtet.
Als einfachste Maßnahme könntest du z.B. statt nur eines Datenblocks
stets die letzten zehn übertragen.
Der Empfänger kann bereits korrekt empfangene Daten dann einfach
wegwerfen, und neue Blöcke an passender Stelle in die Nachricht
einfügen.
Lisa schrieb:> Das ISM Band ist bei 433 Mhz recht voll und viel benutzt.
So isses. Da ist alles unterwegs vom Autoschlüssel bis zum Funkamateur.
Warum nimmst du nicht 868 MHz?
868 Mhz verwenden und die 'aussenstellen' anpingen,
d.h. der Temp.Sensor sendet nur wenn er aufgefordert
wird, wenndu nicht viel Daten uebertaegst waehle eine
kleine Baudrate, brint mehr Sicherheit/Stabilitaet
viel erfolg
vlG
Charly
Hallo Lisa,
der Verweis auf JeeLabs ist schon mal ein guter Punkt. Ich verwende auch
JeeNodes und JeeMicros. Je nachdem wie groß dein Abstand zwischen Sender
und Empfänger ist wäre der neuere RFM69 besser. Hat mehr Sendeleistung
und ist empfindlicher, sprich hat mehr Reichweite. Der RFM69CW ist
pinkompaibel zum RFM12B. Ich betreibe 5 Sender mit Batterien. Sie wachen
alle 2 Minuten auf, machen eine Messung und senden falls sich was
geändert hat. Ich sende bei den Daten einen Zähler mit, so kann ich
sehen wie häufig Sendungen nicht ankommen. Aber wenn auch mal eine
Sendung nicht ankommt so macht das auch nichts, da sich Temperaturen nur
sehr langsam ändern. Ich verwende DHT22 als Sensor. Er misst Temperatur
und Luftfeuchtigkeit.
Hier findest du auch interessante Boards :
lowpowerlab.com
anarduino.com
Andreas
RFM12B schrieb:> Die RFM12B haben Start/Stoppfrequenz von 430,24 - 439,7575 MHz.
Davon darfst du bei uns (DL) nur den Frequenzbereich 433,05 - 434,79 MHz
nutzen, sonst bist du Schwarzfunker. Siehe Frequenznutzungsplan Eintrag
223003.
Da ab 435,0 MHz der Bereich für AFu Satelliten beginnt, muss man da auch
mit Entdeckung rechnen. 868 Mhz ist wirklich besser, vor allem bei
geringem Duty Cycle.
Hallo Lisa.
Ich habe mir aufgrund Deines Artikels das Datenblatt angeschaut, also
kurz in 2 vom Download.
Wenn Du das auch machst, wirst Du feststellen, das sich die Bandbreite
und eine Frequenzabweichung programmieren lassen.
Dann gibt es das Modul für verschiedene Frequenzen.
Was willst Du mehr?
Zum hf-technischem wurde schon einiges gesagt, aber zusätzlich:
Für die wenigen Parameter reicht sicher die kleinste Bandbreite.
Fuer eine Plausiblitaetspruefung ala Quersumme brauchts auch nicht viel.
Dann vielleicht noch 2 oder 3 mal senden zum auswaehlen.
Diese hohen Frequenzen erlauben auch eine yagi-Richtantenne auf
Leiterplatte oder aus Draht, natürlich fuer Sender und Empfaenger.
Weniger auffallen wuerde z.B. ein Dipol mit Reflektor, oder eine lambda
5/8, was auch ginge.
OK?
Man könnte auch ein einfaches Protokoll entwickeln, wonach die Sensoren
nur nach Aufforderung von einem Master senden, also nur, wenn sie
"gefragt" werden. Die zu übertragenden Daten werden mit Absenderkennung
und Prüfsumme versehen.
Bekommt der Master nicht innerhalb einer vorgegebenen Zeit eine
verständliche Antwort vom richtigen Sender oder stimmt die Prüfsumme
nicht, wird die Sendung erneut abgerufen ...