Hallo, mit dem RFM12-Funkmodul von Pollin (433MHz Band) in Verbindung mit einem ATtiny84-AVR versuche ich momentan ein Netzwerk zwischen mehreren dieser Geräte herzustellen. Die Hardware und die grundlegenden Routinen stehen bereits, nur muss ich mich jetzt an ein Protokoll für die Übertragung wagen. Hat hier jemand Erfahrungen, Links, Ideen oder Vorschläge für Funkübertragung zwischen mehr als zwei Endgeräten? Wie gesagt, es gibt keinen Server, das Protokoll muss quasi Peer-2-Peer fähig sein. Ich hoffe ihr könnt mir helfen. ;-) Gruß, Paul
Geht es dabei um kleine Datenblöcke oder eher größere Datenmengen? Du könntest dir z.B. so eine art Mini-TCP/IP machen. Jeder "rechner" bekommt eine ID (=>IP). Dann einfach einen kleinen Header, der z.B. Quelle,Ziel,Länge,Checksumme enthält und dann einfach dahinter die Daten. Gibt zig Möglichkeiten. Du könntest auch NMEA nehmen oder so. NMEA hätte den vorteil dass sie in ASCII sind => ohne Umwandlung lesbar, dafür natürlich ein ziemlich großer Overhead.
Hey, danke für die Antwort. Bei der Anwendung handelt es sich um einen Chat, es werden also hauptsächliche kleine Blöcke Klartext übertragen. Das mit der ID ist schon klar, aber ich weiß noch nicht wie ich es Timingtechnisch hinbekomme, dass nicht z.B. zufällig zwei Geräte gleichzeitig senden und dann natürlich nur Datenmüll herauskommt... :-/ Gruß, Paul
Schrieb dir doch dein eigenes Protokoll: Header mit: * ID * Größe des Datenpaketes * Checksumme ( zb. CRC ) Datenblock mit deinem Text EOF-Message Du musst dann nur dafür sorgen das die anderen Teilnehmer, die gerade nicht an gefunkt werden bis zum EOF warten und dann erst wieder senden dürfen, damit haste auch abgesichert das es kein Datenwirwar gibt. Am besten du deklarierst einen als Host, der die Kontrolle über das Netz hat.
Also ich würde vielleicht einen logische Ring aufbauen durch den ein Sende-Token läuft. Wenn sich die Anzahl der Stationen in deinem Chat nie ändert, ist das sicher ne einfache Möglichkeit. Du vergibst jeder Station ne eindeutige Nummer. Am Anfang hat die Station mit der Nummer 0 das Sendetoken. Alle anderen Stationen überwachen den Äther und empfangen die Daten (einfache Pakete wie oben beschrieben). Sendet eine Station mal nix (weil sie ausgeschaltet ist) dann übernimmt nach einem Timeout die nächste in der Reihenfolge automatisch das Token.
Hi, Token Ring fällt flach, da die Anzahl variiert.. Danke für die vielen Antworten, ich denke ich werde das mit MACA lösen. :-) Gruß, Paul
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.