Forum: Haus & Smart Home Opensource 2-Draht Hausbus


von Markus S. (liquid2026)


Lesenswert?

Guten Morgen Zusammen,

Als erstes eine kurze Einleitung:
Ich habe vor, dieses Jahr einen Open-Source-Bus auf CAN Basis zu 
implementieren. Und dies mit mehreren Firmen zusammen. Die Anforderungen 
sind ähnlich wie bei KNX (Spannung und Signal via 2-Draht), jedoch mit 
einem "Master/Controller" bzw. einer SPS. Der Bus wird Asynchron sein 
und es werden Elektronik-Module hergestellt. Diese sollen aber 
Nachbaubar sein OHNE Lizenzen. Gleichermassen die Software. Das 
Protokoll soll unabhängig von Medien sein. Sprich auch via Funk oder 
PowerLine kompatibel bleiben. Er darf keine "120 Ohm 
Einbau-Wiederstände" enthalten. Diese kann ein 0815 Elektriker nicht 
vernünftig verbauen. Die Versorgungsspannung beträgt 24V Nominal. Die 
Baud-Rate soll bei ca. 9600 oder höher liegen. Dies werde ich nochmals 
in den Feldversuchen/Praxistests definieren. Die ID von jedem Gerät wird 
eindeutig Definiert. Das Gerät wird dadurch bei einem Scan automatisch 
erkannt.


Die Idee dahinter ist ganz einfach: Kostengünstiger Bus für jedes Haus. 
Zukunftssicher. Herstellerunabhängig. Ich finde dies sollte bereits 
heute Standard sein!


Die Lösung für Software und Protokoll kann ich bereits beisteuern. Auch 
die Geräte werden kein Problem sein. Am Bus selbst arbeiten wir noch. 
Bisher habe ich das mit dem Voltage-Level-Shifting noch nicht 
herausgefunden. Ev. hat einer dazu eine Idee?


Auch andere Vorschläge sind Herzlichst Willkommen!


PS: Die Resultate sind für die Allgemeinheit und nicht um Profit zu 
machen. Der Profit soll über die Software gehen und über den Verkauf von 
Servern und nicht von Bussystemen. Das Bussystem soll dann auch im Haus 
bleiben können wenn es die Firma schon nicht mehr gibt. Deshalb bitte 
ich euch auch Sachlich zu bleiben. Danke.

: Verschoben durch Moderator
von Markus S. (liquid2026)


Lesenswert?

PPS: Die Seite 
"https://www.mikrocontroller.net/articles/Hausbus_Diskussion"; habe ich 
bereits gelesen. Nur leider hat das Projekt wenig Erfolg. Bitte gebt 
auch Wünsche und Mittel an, die weiter euch helfen können. Z.B. könnten 
wir eine Webseite zur Entwicklungshilfe erstellen oder ähnliches?

Vielen Dank

von Thomas (kosmos)


Lesenswert?

ein EIB/KNX Kabel hat 4 Adern wieso also nicht Versorgungsspannung und 
Daten aufteilen dann muss man da nichts aufmodulieren sondern nimmt 
normale CAN-Treiber und hat ein Kabel das auch mit Zusammenverlegung von 
230V Leitungen zugelassen ist.

von Johannes R. (Gast)


Lesenswert?

Markus S. schrieb:
> Die Anforderungen sind ähnlich wie bei KNX
> (Spannung und Signal via 2-Draht), jedoch mit
> einem "Master/Controller" bzw. einer SPS.

Habt ihr euch auch den M-Bus angeschaut? Ich bin mir gerade nicht 
sicher, was die maximalen Übertragungsraten sind, aber ansonsten könnte 
der eure Anforderungen erfüllen. Ist gut dokumentiert, der Physical 
Layer ist sehr robust (es gibt mit "Wireless M-Bus" sogar eine 
Drahtlosvariante), und von TI gibt es fertige Treiber (TSS521/TSS721, 
kann man aber auch leicht diskret aufbauen). Protokollseitig könnt ihr 
euch dann immer noch austoben.

http://www.m-bus.com/mbusdoc/default.php

Ein weiterer Vorteil: Er wird in einigen weit verbreiteten kommerziellen 
Produkten (z.B. meiner Viessmann Heizungssteuerung) verwendet, so dass 
man vielleicht die Möglichkeit hat auch bereits erhältliche Sensoren, 
Aktoren, etc. einzubinden (wobei man dazu wahrscheinlich Abstriche beim 
Protokolldesign machen müsste).

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wirklich sinnvoll wäre ein galvanisch getrennter Bus, wie das z.B. bei 
MIDI der Fall ist. Das würde es auch erlauben, Geräte mit z.B. 
Kondesatornetzteil anzusteuern und einen vor lästigen Schleifen zu 
bewahren.

: Bearbeitet durch User
von Tobias .. (bitfehler)


Lesenswert?


von Paddy (Gast)


Lesenswert?

>> Diese sollen aber Nachbaubar sein OHNE Lizenzen. Gleichermassen die Software.

Kann ich mich von die eine seite vorstellen, von die andere seiten 
klappen viele Projekten nicht oder schwierig wenn die separate Produkten 
nicht garantiert die Spezifikationen erfuellen. Meine erfahrung ist auch 
das das verknuepfen von funktionalitaet der einzelen Produkten viel zeit 
und noch mehr geld kostet.

Ich spreche nicht ueber kleine (Hobby) Projekten aber professionele 
Projekten.

Vergleich : Wenn ein Anhaengerkupplung nicht genau an die Richtlinien 
trefft, gibt es eine chance das er nicht auf jedem Auto zu benutzen ist.

PS : Ich schreib dies nur um diese Meinung in deine ueberwegung 
mitzunehmen und nicht zu leicht darueber zu denken. Es gibt schon sehr 
viele leuten/geschaeften die gute ideeen hatten ueber bussystemen aber 
die es nicht geschafft haben.

von Einer K. (Gast)


Lesenswert?

Naja...

Ich finde die Idee eines "Offenen Hausbusses" interessant.
Mache mir aber Sorgen über die Angreifbarkeit.

Da krankelt es bei einigen Systemen ...

Der Einbrecher braucht nur Zugang, zu einem Bewegungsmelder am Bus, und 
kann draußen mit dem Läptop auf dem Schoß warten, bis alle Bewohner weg 
sind und die Alarmanlage vom Auto aus deaktivieren.

von Alex W. (a20q90)


Lesenswert?

Hi Markus,

ich finde die Idee sehr gut! Grund: ich baue selber Hausbussysteme.
OpenSource ist dabei wichtig!

Ich würde CAN bevorzugen, denn dies ist mit Softwareanpassung und einem 
uC mit integrierten CAN-TRX auch als RS485 nutzbar.

4 Draht ist ausreichend, da normalerweise überall mindestens JY/St)Y 
2x2x0,x verlegt ist (Telefonleitung mit Schirm).

Anschlussterminals für die Datenleitung also 5 Polig.

Buswiderstände normalerweise nicht nötig da nur am Anfang (Zentrale) und 
am Ende nötig. Da kann man eigendlich ein Termination-R-modul einsetzen.

Wie macht ihr das mit der Adressierung? Dip-Schalter oder feste 
Seriennummer mit nem IC? Es würde sich dann ein EEPROM mit EUI48 wie 
2AA02E48 anbeiten. Ist ein EEPROM mit einer MAC-Adresse.

Die Ansteuerung der Module sollte übrigends in FHEM oder OpenHAB 
unterstützt werden! So wie bei 1Wire etc.

Grüße
Alex

von THOR (Gast)


Lesenswert?

Arduino F. schrieb:
> Naja...
>
> Ich finde die Idee eines "Offenen Hausbusses" interessant.
> Mache mir aber Sorgen über die Angreifbarkeit.
>
> Da krankelt es bei einigen Systemen ...
>
> Der Einbrecher braucht nur Zugang, zu einem Bewegungsmelder am Bus, und
> kann draußen mit dem Läptop auf dem Schoß warten, bis alle Bewohner weg
> sind und die Alarmanlage vom Auto aus deaktivieren.

"offen" ist bestimmt im Sinne von "Open Source/Hardware" gemeint, nicht 
im Sinne von "keine Security".

von Einer K. (Gast)


Lesenswert?

THOR schrieb:
> "offen" ist bestimmt im Sinne von "Open Source/Hardware" gemeint, nicht
> im Sinne von "keine Security".
Das ist mir schon so klar....

Habe aber hier noch nichts von "Security" gehört.
Mir wäre "Security" wichtig, um ein solches System empfehlen zu können.

von THOR (Gast)


Lesenswert?

Security muss nicht zwingend im Bus implementiert werden, dass kann auch 
auf der Transport- oder Anwendungsschicht passieren.

Man muss sich nur Gedanken machen, was später am Bus dranhängen soll. 
Kann ein Angreifer den Schliessbefehl für die Haustür verhindern sodass 
dann die Tür nachts offen ist?
In dem Fall liegt der Fehler nicht beim Bus der keine Security 
implementiert hat, sondern am Software-Schreiber der von uneingeschränkt 
zuverlässiger Buskommunikation ausgegangen ist.

Security im Bus ist sogar leicht grenzwertig, da single point of 
failure: Sobald die Bus-Security geknackt ist, kann ein Angreifer 
gleichzeitig die Haustür öffnen und die Alarmanlage abstellen.

von Paddy (Gast)


Lesenswert?

Vergess auch nicht das man fuer ein professionellen bus-system die 
folgende sachen unbedingt unterstuetzen soll :

* Software upgrade von embedded software ueber den netz. Du schlagst 
9600 baud vor. Dann kann man das vergessen. Machdem so etwas dann noch 
einbauen geht nicht mehr.

* Dezentrales system - Man musz nicht die situation haben wenn die 
zentrale aus faellt (oder teilweise strom des Gebaudes) das dann alles 
stoppt. Du gibs and es wird ein zentrales system. Meiner meinung ist die 
definition damit schon nicht zukunftfaehig.

Ja, ich weisz es ist einfach fuer mich auf deine definitionen zu 
'schiessen' aber vergess nie die gedanke die T... (bitfehler) schon 
angab :
https://xkcd.com/927/

Warum das rad neu erfinden ?

von Cyblord -. (cyblord)


Lesenswert?

THOR schrieb:
> Security muss nicht zwingend im Bus implementiert werden, dass kann auch
> auf der Transport- oder Anwendungsschicht passieren.
>
> Man muss sich nur Gedanken machen, was später am Bus dranhängen soll.
> Kann ein Angreifer den Schliessbefehl für die Haustür verhindern sodass
> dann die Tür nachts offen ist?
> In dem Fall liegt der Fehler nicht beim Bus der keine Security
> implementiert hat, sondern am Software-Schreiber der von uneingeschränkt
> zuverlässiger Buskommunikation ausgegangen ist.

Das Konzept ist aber grenzwertig. Wozu dann überhaupt einen eigenen Bus 
definieren. Wenn alles was interessant ist, den Anwendungen überlassen 
wird? Security/Verschlüsselung und natürlich auch Arbitrierung, Auto 
Retransmit/Ack, Staukontrolle, Flußkontrolle usw. sind ja gerade die 
interessanten Dinge die man in das Konzept packen muss.

Sonst nehm ich RS232 oder RS485 und fertig ist der neue Hausbus?

Stell dir vor, TCP/IP müsste von jeder Netzwerk- oder Internetanwendung 
wieder selbst mitgebracht werden. Inklusive TLS Verschlüsselung.

PS: Mit dem Begriff "Bus" verbinde ich jetzt mal das ganze Konzept, 
welches natürlich aus mehreren Schichten bestehen kann.

: Bearbeitet durch User
von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Hallo.
Ich habe ein ähnliches Projekt, allerdings habe ich versucht mich 
weitgehend an Industriestandards zu halten. Ich verwende CANopen und 
eine zentrale Steuerung. Bei KNX Kabel sollten 100 Teilnehmer und 500m 
problemlos möglich sein. Eine erste kleine Testanlage läuft seit 6 
Monaten ohne Probleme. Zur Zeit wird die Hard- und Software überarbeitet 
um einen EMV Test zu überstehen.
Christian_RX7

von Frank K. (fchk)


Lesenswert?

Cyblord -. schrieb:
> natürlich auch Arbitrierung, Auto
> Retransmit/Ack, Staukontrolle, Flußkontrolle usw. sind ja gerade die
> interessanten Dinge die man in das Konzept packen muss.

Das macht die CAN-Peripherie in Hardware. Deswegen auch CAN.

> Sonst nehm ich RS232 oder RS485 und fertig ist der neue Hausbus?

RS232 ist kein Bus, sondern Punkt-zu-Punkt. Und RS485 definiert nur 
Spannungspegel, nicht aber Kollisionserkennung, Paketformat etc.

fchk

von Cyblord -. (cyblord)


Lesenswert?

Frank K. schrieb:
> Cyblord -. schrieb:
>> natürlich auch Arbitrierung, Auto
>> Retransmit/Ack, Staukontrolle, Flußkontrolle usw. sind ja gerade die
>> interessanten Dinge die man in das Konzept packen muss.
>
> Das macht die CAN-Peripherie in Hardware. Deswegen auch CAN.

ja aber CAN macht halt nur einen Teil.

>
>> Sonst nehm ich RS232 oder RS485 und fertig ist der neue Hausbus?
>
> RS232 ist kein Bus, sondern Punkt-zu-Punkt. Und RS485 definiert nur
> Spannungspegel, nicht aber Kollisionserkennung, Paketformat etc.

Aber CAN macht eben z.B. keine Verschlüsselung oder Authentifizierung.

War ein Beispiel. Außerdem kann ich RS232 auch als Bus betreiben. Da 
gibt's genügend Beispiele. Es reicht ja die ganze ID Geschichte in die 
Anwendung zu verlagern ;-)

Es ist ja sinnvoll als unterste Schicht CAN zu verwenden und dessen 
Vorteile hier mitzunehmen. Aber oben drauf fehlt da halt noch was. Das 
alles in die Anwendung zu verlagern gibt Chaos und macht das ganze 
Fehleranfällig.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Markus S. schrieb:

> Er darf keine "120 Ohm
> Einbau-Wiederstände" enthalten. Diese kann ein 0815 Elektriker nicht
> vernünftig verbauen.

Wieso nicht? Bei ISDN geht das seit 30 Jahren.
Du kannst die Physik nicht ändern. Bei einem Bus brauchst Du 
Terminierungswiderstände, um keine Leitungsreflektionen an den offenen 
Enden zu haben.

> Die Versorgungsspannung beträgt 24V Nominal.

Ungünstig. ISDN und PowerOverEthernet verwenden 48V. Das ist übliche 
Telco-Spannung und fällt auch noch unter Sicherheitskleinspannung. Du 
willst mit der Spannung so hoch wie möglich gehen, um die 
Spannungsverluste in den Leitungen zu minimieren.

> Die
> Baud-Rate soll bei ca. 9600 oder höher liegen.

Die Bitrate MUSS deutlich größer als 10...12kbit sein, weil sonst in den 
CAN-Transceivern Timeouts ablaufen, die die Dauer von dominanten 
Zuständen (logisch 0) auf dem Bus begrenzen, die durch irgendwelche 
Gerätefehler entstehen können. Ein Gerät soll den Bus eben nicht 
dauerhaft blockieren können.

> Bisher habe ich das mit dem Voltage-Level-Shifting noch nicht
> herausgefunden. Ev. hat einer dazu eine Idee?

Ist doch alles vorhanden. Nimm für die Verkabelung Sternvierer, wie sie 
für Telefone verwendet werden, und gut ist. Ein Paar strägt die 48V 
Versorgungsspannung, das andere Paar die Daten. Am Besten 48V-tolerante 
CAN-Transceiver verwenden (zB MAX1305x,
https://datasheets.maximintegrated.com/en/ds/MAX13050-MAX13054.pdf
), ESD-Schutz und stromkompensierte Drossel davor (die übliche 
Automotive-Schutzschaltung, die die gängige Literatur zeigt), und los 
gehts.

Als Controller reicht ein PIC18F26K80 
(http://www.microchip.com/wwwproducts/en/PIC18F26K80), der hat ein ECAN 
eingebaut.

Als Schaltregler zum Wandeln der 48V nach 5V nimmst Du den TPS54060A
http://www.ti.com/lit/ds/symlink/tps54060a.pdf

Damit sind die wesentlichen technischen Probleme erledigt - der Rest ist 
Datenblatt Lesen.

fchk

von Markus S. (liquid2026)


Lesenswert?

Ich werde mich später wieder melden wir erarbeiten ein Konzept.


Bis jetzt ist wohl wirklich 4 draht mit 24V separat gut geeignet. So 
können auch andere Komponenten mitgespiesen werden. Der CAN wird als Bus 
genommen. Adressierung Fix oder per Zufall inkl. Lerntaste und LED so 
fällt die Identifikation einfach aus.

Die Programmierung wird wie bei KNX Dezentral aber auch Zentral möglich 
sein. Somit ist die Installation ohne Master lauffähig.

Punkto Sicherheit werden noch Überlegungen folgen. Für mich als 
Integrator kenne ich dies auch nicht von KNX. Das Protokoll wird nur 
schwerer zu verstehen bei der Fehlersuche. Ev. Kommt dies dann eher bei 
RF und Ethernet zustande. Am Buskabel wirds womöglich nicht gehen. Ev. 
Hat ja einer eine Idee bevor das Protokoll beim hochstufen inkompatibel 
wird. Wer EnOcean kennt weiss das es früher schon versuche mit 
Verschlüsselung gab diese wurden aber wieder verforfen (Siehe EnOcean 
ESP3.0).

Man müsste nur noch eine Art ETS entwickeln. Diese soll auch OpenSource 
und völlig frei sein. Dies und noch mehr werden wir noch erarbeiten.

Vielen Dank für den Tipp mit dem ECAN MC und allen anderen Anregungen.

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

Hallo,

ich arbeite gerade an einer komplett Open Source Protokollspezifikation 
inclusive Beispieltreiber. Sie wird transportunabhängig, sicherbar und 
skalierbar sein.

Hintergrund ist, dass ich seit 20 Jahren in der Protokollspezifikation 
und -implementation in Embedded aktiv bin und schon unzählige Protokolle 
realisiert habe. Eines meiner letzten Protokolle läuft bereits sehr 
stabil in kommerziellen Umgebungen, und ich denke, dass ich über die 
Anfängerfehler hinaus bin.

Der erste draft wird demnächst zur Verfügung stehen, und ich möchte die 
Spezifikation in einem möglichst offenen Prozess erstellen. Das einzige 
was ich nicht weiss ich wie ich "den Daumen drauf halten" kann - NICHT 
um wirtschaftliche Vorteile davon zu haben (die Initiative wird non 
profit, ausser wenn Jemand Consultinghilfe bei der Umsetzung in Anspruch 
nehmen will) sondern damit das Protokoll in einer Hand bleibt und nicht 
in 27 proprietäre branches zerfällt und Jeder sein eigenes Süppchen 
daraus kocht.


Weiss Jemand, wie man so etwas sinnvoll angeht?

von Oboendieb (Gast)


Lesenswert?

Moin,

spannendes Vorhaben, aber macht's bloss nicht kompliziert.
Ein paar Anmerkungen:
- Terminierung ist zwingend, das mit der Physik wurde schon gesagt.
- Neben Ethernet, CAN, RS485/modbus wird es schwierig, ein neues 
physikalisches Protokoll zu verteidigen.
Mir persönlich dürfte es eine verbesserte modbus-RTU-Implementierung 
sein.
- Software-Updates über den Bus sind eigentlich verboten. Also darf der 
Bus ruhig langsam sein. Wichtig ist Robustheit und genau definierte 
Timeouts.
In so einigen Gebäudeanwendungen geht es um Sensorik der 
sicherheitsrelevanten Art (Luftqualität), dahingehend würde ich 
Verkaufsargumente für neuartige Busse steuern.

Ruediger A. schrieb:
> nehmen will) sondern damit das Protokoll in einer Hand bleibt und nicht
> in 27 proprietäre branches zerfällt und Jeder sein eigenes Süppchen
> daraus kocht.
>
> Weiss Jemand, wie man so etwas sinnvoll angeht?

Ich hätte schon einige Ideen, aus Erfahrung mit diversen 
Standardisierungsgremien kann ich leider nur berichten, dass die 
cleveren Lösungen seltenst das Rennen machen und die Platzhirsche im 
Geschäft gehörig blockieren können, wenn sie sich übergangen fühlen.
Ich würde das Problem im "stealth mode" lösen. Bloss nicht zuviel 
ankündigen, und zunächst im kleinen Kundenkreis etablieren.
Dann setzt du ne Webseite auf, nennst ein paar Referenzprojekte und 
bietest eine Testbench/Zertifizierung an. Ich würde mich einfach 
markenrechtlich soweit vorbereiten, dass du einen registrierten Namen 
für deinen "Standard" hast.
Wenn dein Standard gut ist, ist es auch durchaus legitim, dass du trotz 
OpenSource manchen Mitspielern untersagen kannst, sich mit dem 
"Schnorf-Standard-compliant" Logo zu schmücken, wenn die Testbench nicht 
bestanden ist. Also z.B. so wie bei GigE, USB, usw.
Nur den Bockmist der VID-PID-Registrierung würde ich nicht gerade 
wiederholen, das nervt wohl jeden Entwickler.
Bei der Testbench ist die Frage, wie man das am besten angeht. Da fiele 
mir spontan ein:

- Simulationsmodell als Executable mit virtuellen I/O
- Compliance-Testgerät (Hardware zum Kaufen)

Das ist aber alleine schon gehörig aufwendig, vielleicht will man da 
dann eine (nicht allzugrosse) Firma mit ins Boot holen.

Die Frage ist nur noch, wie weit du beim Zwang zur OpenSource dann 
schliesslich gehen willst. Darf ein Hersteller z.B. dein Protokoll 
physikalisch nutzen, aber logisch verstümmeln, dass es proprietäre 
Bibliotheken zur Ansteuerung benötigt, usw.

von Janvi (Gast)


Lesenswert?

2drahtbus ist immer ein Kompromis. Entweder Leitungslänge oder 
Stromstärke oder Geschwindigkeit. Alles zusammen geht halt nicht und die 
Teilnehmeranzahl ist auch begrenzt. Von Esser gibts einen wunderschönen 
proprietären 2 Draht Bus für Brandmeldeanlagen mit vielen tollen 
Features. Einfehlertoleranz auf Drahtbruch und Kurzschlüsse (!!!) mit 
Anzeige des Defektes an der Zentrale, Autoadressierung per Software, 
automatisches einscannen von Busstrukturen mit Ring und Stichleitungen, 
Alarm bei entnommenen/defekten  Teilnehmern usw. Die 4 Drahtleitungen 
werden übrigens zum Schliessen des 2-Draht Rings genommen was dann auch 
ohne Abschlusswiderstände an den Teilnehmern geht. Bis zu 127 Teilnehmer 
auf 3500m Länge mit J-Y(St)Y 0,8mm wobei dann nicht mehr jeder arg viel 
Strom entnehmen darf. Als Nachteil ist das System arschlangsam aber zum 
Ansteuerern einzelner I/O, technischer Alarme, Lichtkuppeln usw. noch 
gut genug. Mit der Nennspannung sind die übrigens auch mal nach oben 
gegangen um mehr Leistung zu kriegen. Komplexere Teilnehmer, 
Relaiskarten, Magnete, Antriebsmotoren, Bedientableaus  usw. brauchen 
aber allemal eigene Versorgungsspannung. Kleinere Sensoren, Lautsprecher 
o.ä. haben Cmos uC und versorgen sich aus dem 2-draht Bus.

von Andi B. (andi_b2)


Lesenswert?

Oboendieb schrieb:
> - Terminierung ist zwingend, das mit der Physik wurde schon gesagt.

Kommt doch auf die Länge, die Geschwindigkeit und die verwendeten 
Treiber an. Alle diese Dinge wurden hier noch nicht definiert, also 
(noch) nicht zwingend. RS485 z.B. mit passenden Treibern ist seeeehr 
robust auch ohne Abschluss.

> - Software-Updates über den Bus sind eigentlich verboten. Also darf der
> Bus ruhig langsam sein.

Wieso? Gibt es da eine Norm die darauf anwendbar wäre und dies 
verbietet? Für welche Geräte wäre das verboten? Das würde mich wirklich 
interessieren.

Für'n Privatbereich kannst natürlich updaten und diese Feature ist IMHO 
heutzutage zwingend. Aber auch im kommerziellen Umfeld wüsste ich jetzt 
nicht, was dagegen spricht.

Markus S. schrieb:
> Protokoll soll unabhängig von Medien sein. Sprich auch via Funk oder
> PowerLine kompatibel bleiben.

Da wird die Sache dann kompilziert, finde ich. Denn in jedem Protokoll 
brauchst du irgendwelche Timingkriterien. Und wenn's nur um die Zeit 
geht bis du einen Ausfall erkennst, oder ein Senderetry anstößt. Wenn du 
die Timings sehr groß machst, z.B. für eine Funkverbindung mit Gateway, 
dann hast du automatisch nur geringen garantierten Durchsatz (unabhängig 
von der Baudrate). Oder meinst du auf garantierte 
Antwortzeiten/Durchsatz verzichten zu können?

von Cyblord -. (cyblord)


Lesenswert?

Andi B. schrieb:
> Da wird die Sache dann kompilziert, finde ich. Denn in jedem Protokoll
> brauchst du irgendwelche Timingkriterien. Und wenn's nur um die Zeit
> geht bis du einen Ausfall erkennst, oder ein Senderetry anstößt.

Es gibt ja nun Protokolle auf verschiedene Ebenen. Bitaustausch und 
Timings finden auf unterster Ebene statt und werden sozusagen mit dem 
physikalischen Medium zusammen ausgetauscht. Das interessante sind deine 
Protokolle höherer Ebenen und DIE sollten allgemein sein. Und natürlich 
solltest du erst mal ein solches Schichtenkonzept vorsehen. Wer alles in 
einer Schicht abhandelt und bei jeglichen abstrakteren Aufgaben, gleich 
wieder auf das letzte Bit achten muss, der macht ein extrem 
festgezurrtes, nicht erweiterbare und schlecht wartbares Protokoll.

von Oboendieb (Gast)


Lesenswert?

Andi B. schrieb:
> Oboendieb schrieb:
>> - Terminierung ist zwingend, das mit der Physik wurde schon gesagt.
>
> Kommt doch auf die Länge, die Geschwindigkeit und die verwendeten
> Treiber an. Alle diese Dinge wurden hier noch nicht definiert, also
> (noch) nicht zwingend. RS485 z.B. mit passenden Treibern ist seeeehr
> robust auch ohne Abschluss.
>

Kann robust sein. Aber eben nur kann, muss nicht. Ich will auf jeden 
Fall keinen neuartigen Bus sehen, der Probleme mit Leitungsreflexionen 
bei hohen Bitraten zeigt.

>> - Software-Updates über den Bus sind eigentlich verboten. Also darf der
>> Bus ruhig langsam sein.
>
> Wieso? Gibt es da eine Norm die darauf anwendbar wäre und dies
> verbietet? Für welche Geräte wäre das verboten? Das würde mich wirklich
> interessieren.
>

Ich weiss nicht, was SIL-3 diesbezüglich vorschreibt, aber es ist nicht 
erwünscht, dass Sensoren durch ein fehlerhaftes oder gar schadhaftes 
Neuprogrammieren falsche Werte liefern, mal abgesehen davon, dass jede 
Firmware-Version einzeln zertifiziert werden muss. Für den Hausgebrauch 
kann man ja schon was frickeln. Aber die Kunden wollen das Feature 
wirklich zuletzt, da darf nur ein Techniker ran.

> Für'n Privatbereich kannst natürlich updaten und diese Feature ist IMHO
> heutzutage zwingend. Aber auch im kommerziellen Umfeld wüsste ich jetzt
> nicht, was dagegen spricht.
>

Sicherheit und Haftung. Wenn ein CO-Sensor einen falschen Grenzwert 
liefert, wird's lebensgefährlich.
Hindert dich aber ja nicht dran, für dein Gerät ein OTA-Update zu 
implementieren. Muss nur nicht in ne Bus-Spec.

> Markus S. schrieb:
>> Protokoll soll unabhängig von Medien sein. Sprich auch via Funk oder
>> PowerLine kompatibel bleiben.
>
> Da wird die Sache dann kompilziert, finde ich. Denn in jedem Protokoll
> brauchst du irgendwelche Timingkriterien. Und wenn's nur um die Zeit
> geht bis du einen Ausfall erkennst, oder ein Senderetry anstößt. Wenn du
> die Timings sehr groß machst, z.B. für eine Funkverbindung mit Gateway,
> dann hast du automatisch nur geringen garantierten Durchsatz (unabhängig
> von der Baudrate). Oder meinst du auf garantierte
> Antwortzeiten/Durchsatz verzichten zu können?

Aus Erfahrung kann ich bestätigen, dass das schwierig wird. Teils ist es 
dann einfacher, das Gerät einfach mit Ethernet auszustatten. Oder alles 
irgendwie über abonnierte Daten a la MQTT zu vernetzen.
Wo wir wieder beim Thema wären, warum nicht alles im Haus zum IoBS 
hinzugefügt werden sollte...
Ein uniformer EWMS (eierlegende...) Bus ist von den Kunden auch oft gar 
nicht gewünscht, denn sie wollen auch ihre Profibus to Ethernet-Gateways 
verkaufen. Finde ich auch die pragmatischste Lösung.

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

Hallo, hier eine unabhägige Weiterführung des threads 
Beitrag "Re: Opensource 2-Draht Hausbus" :

Cyblord -. schrieb:
> Andi B. schrieb:
>> Da wird die Sache dann kompilziert, finde ich. Denn in jedem Protokoll
>> brauchst du irgendwelche Timingkriterien. Und wenn's nur um die Zeit
>> geht bis du einen Ausfall erkennst, oder ein Senderetry anstößt.
>
> Es gibt ja nun Protokolle auf verschiedene Ebenen. Bitaustausch und
> Timings finden auf unterster Ebene statt und werden sozusagen mit dem
> physikalischen Medium zusammen ausgetauscht. Das interessante sind deine
> Protokolle höherer Ebenen und DIE sollten allgemein sein. Und natürlich
> solltest du erst mal ein solches Schichtenkonzept vorsehen. Wer alles in
> einer Schicht abhandelt und bei jeglichen abstrakteren Aufgaben, gleich
> wieder auf das letzte Bit achten muss, der macht ein extrem
> festgezurrtes, nicht erweiterbare und schlecht wartbares Protokoll.

Ja, und das ist auch genau mein Ansatz - ich werde die Spezifikation 
sehr streng nach dem Modell ISO/OSI trennen, bei layer 2 anfangen (der 
weder von irgendeiner Physik unterhalb noch irgendwelchen konkreten 
Anwendungen oberhalb abhängt). Dort wird das framing definiert sowie ein 
Framegenerator und ein Frameparser implementiert. Layer 3 (Adressierung) 
wird angesprochen, aber ausser der Vorgabe, wie ein Knoten in einem Bus 
angesprochen wird, nicht spezifiziert (also Adressvergabe, 
KOnfliktarbitrierung etc nicht festgenagelt). Dann folgt Sequenzierung 
und das Format der Nutzdaten (immer noch losgelöst von konkreten 
Anwendungsfeldern), und später folgen dann Anwendungsprofile (also z.B. 
Home Automation, Sensorik, Alarmanlagen, ZK etc), wobei ich selber mich 
aus naheliegenden Gründen auf die Bereiche beschränke, in denen ich 
eigene Erfahrungen habe.

Aus dieser Strategie folgt zwingend, dass keinerlei Timingvorgaben an 
sich im Protokoll spezifiziert sind; das Protokoll muss es nur leisten, 
möglichst vielen (von der Physik, der Netzwerktopologie und der 
Anwendung gegebenen Vorgaben gerecht werden zu können.

Über weitere Gedanken und Input (sowohl hier im VOrfeld als auch später 
bei der Basisspec und konkreten Spezifikation von Applikationsprofilen) 
freue ich mich sehr!

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

Also erst Mal vielen ernst gemeinten Dank für die sehr konstruktiven und 
hilfreichen Ideen und Gedanken! :-)

Ich habe einen separaten thread zu meinem Projekt gestartet:

Beitrag "RFC: Open Source Bus Protokollspec"

und wünsche dem TO, dass er an dieser Stelle mehr sachdienliche Hinweise 
für sein konkretes Anliegen bekommt!

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

Uhm, irgendwie hat der Moderator hier Müll gebaut und meinen neuen 
thread wieder hier zurück gebaut, was soll das bitte?

von Andi B. (andi_b2)


Lesenswert?

>> - Software-Updates über den Bus sind eigentlich verboten. Also darf der
>> Bus ruhig langsam sein.
>
> Wieso? Gibt es da eine Norm die darauf anwendbar wäre und dies
> verbietet? Für welche Geräte wäre das verboten? Das würde mich wirklich
> interessieren.
>
Oboendieb schrieb:
> Ich weiss nicht, was SIL-3 diesbezüglich vorschreibt,

Man kann doch keine Sicherheitsanforderung auf einen Bus anwenden wollen 
solange man noch nicht mal die Funktionalität des Gesamtsystems 
definiert hat. Sicherheit gegen Gefährdung kann man auf viele Arten 
erreichen. Ein update einzelner Busteilnehmer alleine, darf im 
Gesamtsystem halt keine Gefahr verursachen.

Oboendieb schrieb:
> Sicherheit und Haftung. Wenn ein CO-Sensor einen falschen Grenzwert
> liefert, wird's lebensgefährlich.

Wenn bei Ausfall eines CO-Sensors, und nichts anderes ist ein falsch 
gelieferter Wert, eine Gefahr droht, dann hat das System nicht nur 
diesen einen Sensoren um die Gefahr zu erkennen, und auch eine Menge 
Plausibilitätschecks dahinter. Wenn während eines Updates eine 
Gefährdung vom Gesamtsystem nicht erkannt werden könnte, dann muss man 
halt die Sicherheit anders gewährleisten. Generell zu sagen, Firmware 
update darf nicht sein, ist falsch. Auch in Autos ist das 
selbstverständlich erlaubt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ruediger A. schrieb:
> Uhm, irgendwie hat der Moderator hier Müll gebaut und meinen neuen
> thread wieder hier zurück gebaut, was soll das bitte?
Ich wars nicht, kann es aber nachvollziehen: in Projekte&Code wird 
zuerst ein komplettes Projekt vorgestellt. Und dann darüber 
diskutiert. Ein Projekt das irgendwie ohne Diskussionsgrundlage beginnt, 
hat dort erst mal nichts zu suchen. Wenn es dann wirklich was zum 
Nachbauen gibt und das Konzept steht, dann kann es dort rein.

Ausserdem gehört der ganze Thread eh' nach Haus&Hof...

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
Noch kein Account? Hier anmelden.