Hm, ja, I2C hätte zumindest auch den Vorteil einer eleganten Rückmeldung in Form von ACK und NACK. Wäre allerdings eine sehr "kopflastige" Geschichte, wo der Master alles regelt.
74HC595 wäre eher so eine Art SPI für Arme. Wenn da Übertragungsfehler auftauchen wird die Fehlersucher sicher lustig.
CAN wäre eher dezentral und hat, aufgrund des Botschaftskonzeptes, schon vieles eingebaut, was man sonst programmieren müsste. Wichtig ist nur, dass es nie zwei Teilnehmer gibt, die die gleiche Message ID verwenden. Das kann man aber einfach sicherstellen, in dem man eine Gerätenummer vergibt, z.B. über Codierschalter oder Mäuseklavier einstellbar, die beim Senden in die Message ID aufgenommen wird.
Weitere Bits der Message ID kann man dann verwenden, um Gruppen von Empfängern zu definieren, z.B. "das ist eine Nachricht für alle Lampen" oder "das ist für die Ventilatoren". Jeder Empfänger, der sich da zugehörig fühlt, macht dann was damit. Wenn man beide Bits setzt, kann man dann auch einfach "alle Ventilatoren und Lampen" ansprechen, usw. Empfänger können die Botschaften dann wieder mit eigenen Botschaften quittieren, so kann das Netzwerk erfahren, wer alles da ist. Geräte können also einfach entfernt und hinzugefügt werden, Fragen wie "welche Lampen sind da ?" lassen sich einfach realisieren.
Es wird ja z.B. auch bei manchen Modelleisenbahnen verwendet. Da hat man ja auch viele Teilnehmer zu koordinieren.
Aber für den Anfang kann man es ja mal mit I2C versuchen, halte ich immer noch für besser als diskrete Logik ICs.
Lesezeichen