Protokoll für die Kommunication in einem Selfmade Smarthome

Gast #4596027
Lesenswert?

Hallo Community,

ich habe ein Protokoll geschrieben, damit sich die Arduinos in meinem 
SmartHome über 433Mhz Sender austauschen können.

Euch wollte ich jetzt fragen, ob ihr irgendwelche Ergänzungen oder 
Vorschläge habt, um das Protokoll sinnvoll zu erweitern/verbessern.
Ich würde mich über Kritik/Anregungen sehr freuen.

Vielen Dank für eure Mühe


PS: Fragen sind auch gern gesehen :)
Angehängte Dateien:
Gast #4596083
Lesenswert?

Simon S. schrieb:
> Zu Beginn des Sketches wird ein Teil erklärt.
> Der Rest ist hoffentlich selbsterkärend.

Vielleicht ist es uncool, aber wenn ich so ein Protokoll entwickeln 
wollte, wäre mein Startpunkt kein Arduino Programm sondern ein 
(virtuelles) weißes Papier.
Dort würden zu erst die Sensoren und Aktoren stehen die ich anbinden 
wollte. Dann die Anforderungen an das Protokoll die sich daraus ergeben. 
Dann würde ich vorhande Protokolle recherchieren und prüfen ob sie meine 
Anforderungen nicht schon erfüllen. Wenn nicht würde ich ein gutes um 
meine Anforderungen ergänzen und dann das ganze zur Diskussion stellen.
Dann erst wäre die Arduino oder eine sonstige IDE für mich zu starten.
Gast #4596090
Lesenswert?

Scelumbro schrieb:
> Vielleicht ist es uncool, aber wenn ich so ein Protokoll entwickeln
> wollte, wäre mein Startpunkt kein Arduino Programm sondern ein
> (virtuelles) weißes Papier.
Das habe ich schon auf (nicht virtuellen) weißem Papier gemacht.
> Dort würden zu erst die Sensoren und Aktoren stehen die ich anbinden
> wollte.
Ich weiß ja gar nicht um was ich mein SmartHome alles in Zukunft 
erweitere.
>Dann die Anforderungen an das Protokoll die sich daraus ergeben.
Grob hab ich sie ja.
> Dann würde ich vorhande Protokolle recherchieren und prüfen ob sie meine
> Anforderungen nicht schon erfüllen.
Ich möchte ein eigenes schreiben.
>Wenn nicht würde ich ein gutes um meine Anforderungen ergänzen und dann das ganze 
zur Diskussion stellen.
s.o.
> Dann erst wäre die Arduino oder eine sonstige IDE für mich zu starten.
Soweit bin ich schon.
Gast #4596094
Lesenswert?

Grundsätzlich soll das "Protokoll" die Übertragung von Messwerte an die 
Basis (auf Abfrage) realisieren, welche diese dann verwaltet.
Die Slaves können aber auch empfangen und so kann die Basis bsp. eine 
Pumpe im Garten ansteuern.
Gast #4596109
Lesenswert?

Scelumbro schrieb:
> Simon S. schrieb:
>> Das habe ich schon auf (nicht virtuellen) weißem Papier gemacht.
>
> Dann stelle doch genau dieses vor und begründe deine Anforderungen.
> Insbesondere diese:
>
> Simon S. schrieb:
>> Ich möchte ein eigenes schreiben.
Egoismus/Perfektionismus/Ehrgeiz ?
> Dann ist es am einfachsten zu entscheiden ob sie erfüllt sind.
Grundsätzlich soll das "Protokoll" die Übertragung von Messwerte an die
Basis (auf Abfrage) realisieren, welche diese dann verwaltet.
Die Slaves können aber auch empfangen und so kann die Basis bsp. eine
Pumpe im Garten ansteuern.
Gast #4596111
Lesenswert?

Bsp: Bei einer Übertragung mit der ID:1234 weis die Basis, dass es der 
Sensorwert XY ist.
Bei einer Übertragung mit der ID:4321 weis der Slave, das er, wenn die 
Übertragung 1 entspricht, die Pumpe anmachen soll.
Das ist nicht in dem Sketch/Protokoll enthalten, jedoch sehr einfach zu 
erweitern.
Gast #4596112
Lesenswert?

Das Protokoll soll die Übertragung zwischen Arduino ermöglichen, indem 
es Übertragungen zuordnen kann (anhand von ID's).

Das ganze soll wirken wie eine Verbindung der Arduinos, damit andere 
nicht mehr "zuhören" , wenn sie nicht gemeint sind (Erkennung anhand der 
ID)
Die Verbindung wird mit einem Start/Stop Signal begonnen/beendet.
Gast #4596114
Lesenswert?

Simon S. schrieb:
> Bsp: Bei einer Übertragung mit der ID:1234 weis die Basis, dass es der
> Sensorwert XY ist.
> Bei einer Übertragung mit der ID:4321 weis der Slave, das er, wenn die
> Übertragung 1 entspricht, die Pumpe anmachen soll.
> Das ist nicht in dem Sketch/Protokoll enthalten, jedoch sehr einfach zu
> erweitern.

Wer kümmert sich um gestörte / beschädigte Übertragungen oder 
Übertragungen die gar nicht erst ankommen? Besonders im 433MHz Band ist 
schon einiges los.
Gast #4596125
Lesenswert?

Simon S. schrieb:
> Es werden nur Übertragungen ausgewertet die vollständig sind.
>
> ID's sind sinnvoll, da, wenn ich nur 1/0 /An/Aus senden würde, alle
> Pumpen im Garten angehen würden. (nur ein Bsp.)

Gibt es Prüfsummen um zu prüfen ob die Übertragung unbeschadet 
angekommen ist? Oder ob die 1 an die Pumpe unterwegs zur 0 geworden ist.

Und wird geprüft ob der Befehl an die Pumpe überhaupt angekommen ist?

Simon S. schrieb:
> Scelumbro schrieb:
>> [...]Besonders im 433MHz Band ist schon einiges los.
> Bei mir nicht.

Ich hoffe du designst dein Protokoll nicht über diese optimistische 
Annahme.
Gast #4596133
Lesenswert?

Scelumbro schrieb:
> Simon S. schrieb:
>> Es werden nur Übertragungen ausgewertet die vollständig sind.
>>
>> ID's sind sinnvoll, da, wenn ich nur 1/0 /An/Aus senden würde, alle
>> Pumpen im Garten angehen würden. (nur ein Bsp.)
>
> Gibt es Prüfsummen um zu prüfen ob die Übertragung unbeschadet
> angekommen ist? Oder ob die 1 an die Pumpe unterwegs zur 0 geworden ist.
Ich hatte bis jetzt nie eine Fehlerhafte Übertragung.
>
> Und wird geprüft ob der Befehl an die Pumpe überhaupt angekommen ist?
Ja, es wird überprüft.
>
> Simon S. schrieb:
>> Scelumbro schrieb:
>>> [...]Besonders im 433MHz Band ist schon einiges los.
>> Bei mir nicht.
>
> Ich hoffe du designst dein Protokoll nicht über diese optimistische
> Annahme.
Nein
Gast #4596136
Lesenswert?

Simon S. schrieb:
>> Gibt es Prüfsummen um zu prüfen ob die Übertragung unbeschadet
>> angekommen ist? Oder ob die 1 an die Pumpe unterwegs zur 0 geworden ist.
> Ich hatte bis jetzt nie eine Fehlerhafte Übertragung.

Willst du eigentlich echtes Feedback oder einfach nur Lob für das 
genialste Protokoll seit TCP/IP?
Gast #4596169
Lesenswert?

Scelumbro schrieb:
> Simon S. schrieb:
>>> Gibt es Prüfsummen um zu prüfen ob die Übertragung unbeschadet
>>> angekommen ist? Oder ob die 1 an die Pumpe unterwegs zur 0 geworden ist.
>> Ich hatte bis jetzt nie eine Fehlerhafte Übertragung.
>
> Willst du eigentlich echtes Feedback oder einfach nur Lob für das
> genialste Protokoll seit TCP/IP?

Echtes Feedback...

Und mein Satz bezieht sich nicht auf mein Protokoll, sondern auf ganz 
normale Tests mit 433Mhz Modulen.
Gast #4596201
Lesenswert?

Simon S. schrieb:
> Entweder kam was an oder nichts.
> Nie falsche Übertragungen.
>
> Das meinte ich.

Welche Entfernung, wieviele Wände dazwischen, welches Wetter? Und wie 
nah liegt der Empfänger neben dem Motor der Pumpe die er schalten soll? 
Alles unter Einsatzbedingungen getestet?
#4596639
Lesenswert?

Ein Protokoll beschreibt man anders. zB

Master-slave Block Protokol : Der Master sendet, der angesprochene Slave 
antwortet.
 -> Adressierung
 -> Begin & End des Blockes

Variable Block Laenge
 -> Laenge ist im Block enthalten

Detektion von Uebertragungsfehlern.
 -> CRC

Ja, es kann Schaden entstehen.
 -> Failsave Zustaende

Zustandsfreie Kommunikation. Dh die Rehenfolge der uebertragenen Bloecke 
ist egal.

Alles ASCII, zum per Teminal Mitlesen oder alles Binaer

Die Control Commands, die alle Teilnehmer unterstuetzen sind : ..
 -> Echo
 -> Set Powerup State
 -> Set Failsave State
 -> Get Info

..

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren