Hallo! Ich möchte gerne 2 µC per 433MHz ASK Funk mit dem RS232 Protokoll miteinander kommunizieren lassen. Nun habe ich mir von RS-Componentes diese besagten ASK Funkmodule bestellt und erstmal angeschlossen und ausprobiert, am Empfänger kommen schon so sehr sehr viele Störungen an, und ich wollte mal Fragen ob das schonmal jemand probiert hat, und wie ich diese Störungen umgehen kann um trotzdem eine stabile ordentliche Verbindung erreichen zu können? danke! MfG Erich
Erich schrieb: > stabile ordentliche Verbindung und > per 433MHz [...] Funk widerspricht sich. Du kannst nur ein fehlertolerantes Protokoll drüberlegen und für den Fall, dass zeitweise nichts durchkommt, Vorsorge treffen.
Heißt also RS232 kann ich nicht direkt übermitteln sondern muss es zuvor codieren und danach wieder decodieren, seh ich das so richtig ? Oder ists per RS232 garnicht zu machen?
Du musst Deine Nutzdaten irgendwie verpacken, damit Du sie hinterher auf Richtigkeit überprüfen kannst, jedenfalls wenn Du sicher sein willst, dass Du keine falschen Daten weiter verarbeitest. Wenn Du auch sicher sein willst, dass alle Daten ohne Verlust auf der anderen Seite ankommen, musst Du weiteren Aufwand treiben - von Vorwärtskorrektur bis zur Sendewiederholung, je nach Anforderung. Mit RS232 hat das wenig zu tun. Das ist nur eine Pegel- und Leitungsfestlegung für serielle Daten, über das Datenformat und die Integrität der Daten sagt RS232 nichts aus. Schau mal in die Codesammlung hier. Wenn ich mich richtig erinnere, müsste sich dort eine fehlerabgesicherte Übertragung mit den RFM12-Modulen befinden. Ich kenne sie allerdings nicht genauer und kann zu den Eigenschaften nichts sagen.
Ja die Codesammlung habe ich schon durchgeschaut und diese übertragung mit den RFM12 Modulen gefunden, nur hab ich ja diese leider nicht. Naja dachte deshalb RS232 da das ja gleich im µC integriert ist und es das vereinfacht hätte ;) Das heißt also ich muss einen fehlersicheren code finden, bzw. mit dem ich festellen kann wenn ein Fehler aufgetreten ist, um eine Anforderung zur Wiederholung der Sendung zu geben, richtig? Welcher Code bietet sich hierfür an? hast du da einen Vorschlag ? Danke
RS232 ist nicht im µC integriert. Du verwechselst das mit asynchroner serieller Übertragung. Kein mir bekannter µC liefert RS232-Pegel. Ich habe vor über 10 Jahren, als 2,4 GHz noch leer war, mal was mit serieller Übertragung samt Absicherung gemacht, seither nicht mehr. Je nach Anforderungen lässt sich der Aufwand fast beliebig hoch schrauben. Z.B. reicht es zur Übermittlung einer Temperatur aus, durch CRC o.ä. abgesicherte Telegramme zu senden; der Verlust eines oder mehrerer Telegramme lässt sich verschmerzen, solange nur ab und zu was Richtiges durchkommt. Willst Du dagegen eine Datei übertragen, musst Du quittiern und landest schnell bei Fensterprotokollen mit Paketdurchnummerierung und allem PiPaPo. Echtzeit kannst Du grundsätzlich vergessen, denn im 433-MHz-Band (und Funk generell) darf jeder Dich stören - und sei es nur der Wettergott mit seinem Blitz - und Zeiten lassen sich deshalb sowieso nicht garantieren. Wer Funk kennt, nimmt Kabel.
Wohl wahr, ich meinte nur das normale Serielle Protokoll, also zb. Startbit 8-bit parity bit - 1-2 Stop bits Die Pegel sind natürlich nicht richtig, die der µC ausgibt, dazu ja zb. der MAX232 Naja es geht drum Text zu übermitteln, zeitkritisch ist das nicht, aber es sollte hald auch nichts verloren gehen. Das sollte doch per 433Mhz noch funktionieren, soweit ich das beurteilen kann oder doch nicht ?
Zur sicheren Übermittlung von Text brauchst Du ein Protokoll, das mit Quittierung arbeitet und verlorengegangene Fragmente wiederholen kann. Weniger geht nur, wenn Du mit Verlusten von Textteilen leben kannst.
naja nein, mit Verlusten von Textteilen kann ich garnicht leben, kennst du ein Protokoll das dies schon so vorsieht ? Ich weiß, das ist eine andere Welt aber wie ist es bei Handys beim SMS empfang, wird vom Server da auch eine wiederholung der Sendung angefordert, falls da ein Fehler passiert oder wie?
Ich weiß nicht, wie das genau bei Mobiltelefon-SMS abläuft, aber eine abgesicherte Übertragung mit Quittierung ist es sicher. Bei der Handy-Sprachübertragung dürfte dagegen eine Wiederholung sinnlos sein und eine Vorwärtskorrektur ausreichen. Bei der Suche nach Protokollen kann ich Dir leider nicht behilflich sein, dazu sind meine Erfahrungen zu lange her. Nachtrag: Möglicherweise sind die Packet-Radio-Protokolle eine Möglichkeit, weitere Informationen zu beziehen. Ihr Aufwand hält sich in Grenzen und eine gesicherte Punkt-zu-Punkt-Verbindung stellen sie her. Schau mal nach AX-25 (WIMRE).
Du kannst mit den Modulen schon arbeiten... Kläre erst mal, wie lange Du senden darfst (TX ist HIGH, wenn vom UART nichts gesendet wird und das 433MHz-Modul wird immer senden.). Welche Baudrate können Sender und Empfänger vertragen ? Dann must Du die Daten etwas ändern. Du kannst nicht Zeichen senden mit 4 oder 5 gleichen Bits in Folge, da kommt es zu Störungen. Ich mache es so, daß ich jedes Bit Nutzdaten in 2 Bit (10 oder 01) Sendedaten umwandle (das ist dann nah am Manchester-Code), so daß ich fleißig Bitwechsel erzeuge. Dtart- und Stop-Bits stören das auch nicht mehr groß. Dann bildest Du eine Prüfsumme, die Du mit überträgst, um notfalls das ganze Telegram zu verwerfen (die Bitfolge 01 oder 10 gibt auch schon etwas Schutz vor Fehlern beim Empfang). Und ich sende am Anfang der Übertragung immer 2-3 typische Zeichen, auf die der Empfänger wartet. Ich schalte den Sender auch immer aus, wenn ich ihn nicht brauche. Da muß man nach dem Einschalten eine passende Zeit warten, bis der Sender funktioniert.
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.