Dorfautomatisierung: Difference between revisions

From Chaosdorf Wiki
Line 100: Line 100:


Aber das UI ist schon nett. Vielleicht einfach nur das Backend austauschen?
Aber das UI ist schon nett. Vielleicht einfach nur das Backend austauschen?
Der Hauptentwickler des bisherigen Backends empfielt: Frontend beibehalten (10/10 auf intuitive Bedienung), Backend neu. --[[User:Derf|Derf]] ([[User talk:Derf|talk]])


=== neue Software selber schreiben ===
=== neue Software selber schreiben ===

Revision as of 15:55, 13 October 2019

Dorfautomatisierung 2019 idea
Dorfbus für die neuen Räume
Ort neuer / alter Hackerspace
Beteiligt xportdus


Hardware

Der alte „Dorfbus“ setzt auf SI2C - eine Art „i2c-Standard“ auf. Gegenüber dem Original ist hier aber nur eine Übertragung vom Master (Server) zum Slave (Aktor) möglich. (Für mehr Details siehe den verlinkten Wiki-Artikel und Lichtsteuerung.)

Bedingt durch die neuen Räumlichkeiten müssen / sollten wir hier auf einen neuen echten Industriestandard umbauen, an dem auch neue Leute aktiv mitwirken können. Auch werden wir den alten Dorfbus nicht einfach an die neuen Räume anpassen können.

Welche Standards kämen da in Frage?

KNX

Im Bereich der Hausautomatisierung gibt es hier den KNX-Standard. Dieser ist aber - bedingt durch die meist recht teure Spezialhardware - eher ungeeignet.

wikipedia - KNX-Standard

Beim KNX Bus erfolgt die Übertragung der Daten in Richtung Aktor durch Erhöhung der Busspannung. Die Antwort erfolgt als Stromantwort seitens des Aktors. Dieses ist recht schön ersichtlich auf Seite 4 im Datenblatt unten.


www.onsemi.com APPLICATION NOTE AND9289-D

Modbus

Im Bereich der Mess- und Regeltechnik und auch in größeren Objekten hat sich der „Modbus“ als Standard durchgesetzt.

Die rein elektrische Schnittstelle ist ein RS485-Bus, der nur 2 Drähte benötigt.

Über ein 4-poliges Kabel kann also sowohl die Versorgung mit Strom als auch die Datenübertragung erfolgen. Die Anbindung an den Master erfolgt über eine Standard Serielle Schnittstelle nach dem Master-Slave-Prinzip. Die Stromversorgung für die reine Steuerung kann von einer zentralen Stelle sogar Akku-gepuffert erfolgen. Dies kann hilfreich sein z.B. bei der Türsteuerung, wenn der Strom ausfällt.

Mit sehr kleinem Aufwand können auch eigene Aktoren gebaut werden. (Arduino Nano und RS484-Wandler). Dieser können dann auch LED-Anzeigen / LC-Display / Temperatur- / Feuchtefühler / Onewire-Leser / RFID-Leser / Aktoren enthalten. Der „Mitmach-“ und Bastelfaktor ist hier also ganz besonders hoch.


CAN

CAN-Bus (Controller Area Network) ISO 11898-2 (Highspeed-CAN) und ISO 11898-3 (Lowspeed-CAN) Der CAN Bus Controller selber kümmert sich um die ganze Übertragung incl. der "Datensicherung"


Zigbee

Einfache Funktionen wie Lichtsteuerung sind natürlich auch über Zigbee möglich. Nur ist das Format hier nicht so offen, dass eigene Aktoren mit eigenen Funktionen an den neuen Dorfbus angeschlossen werden können. (TODO: Stimmt das?) Ein Vorteil hier ist allerdings das Funkmesh - damit entfällt das Verlegen von Kabeln.

DMX

DMX ist das alternativlose Bus-System der Veranstaltungstechnik. Es gibt einen riesigen Markt an Geräten, die darüber angesteuert werden, zum Beispiel PAR-Scheinwerfer (Bühnenbeleuchtung), Fluter (flächige Beleuchtung), Nebelmaschinen (die Cave ist überall), Moving Heads (wir haben welche im Keller!).

Funktionsweise: 512 Client-Adressen auf einem dreipoligen Kabel. Geräte werden daisy-chained (hintereinander geschaltet) und belegen jeweils eine Startadresse und 0 bis n weitere Adressen, zum Beispiel für einzelne Farbkanäle bei RGBW-Leuchten. Zu jeder Adresse wird eine Einstellung zwischen 0 und 255 gesendet. Das macht man mit einem Controller.

Der Controller ist ein mehr oder weniger bezahlbares Stück Hardware (Lichtpult) oder Software, die über einen DMX-Adapter mit dem Bus spricht. Dies erfolgt entweder direkt per USB-DMX-Adapter oder über das Netzwerk mit einem standardisierten Protokoll: Art-Net.

Vorschlag fürs Chaosdorf: in jedem Raum, der gestaltete Beleuchtung erhalten soll, kommt jeweils ein DMX-Bus rein, der über einen DIY-Adapter angesteuert wird (Raspberry-Pi mit DMX und PoE-Shield). Ein von uns gebauter Backend-Service spricht auf der einen Seite Art-Net zu den Controllern und auf der anderen Seite unsere Dorf-API, um die Veranstaltungs-Beleuchtung in den Rest der Technik zu integrieren.

Vorteile:

  • große Auswahl an günstigen Geräten
  • Veranstaltungstechnik können relativ viele Menschen
  • Ansteuerung der Controller über Netzwerk spezifiziert bei Art-Net

Beispiele:

Welcher Hardware gibt es?

Modbus

Reine Modbus-Aktoren gibt es als reine Platinen-Version für deutlich unter 10 €:

Zigbee

Es gibt viele komplett fertige Geräte (z.B. Taster, Schalter, Temperatursensoren, Leuchmittel, schaltbare Steckdosen) für relativ wenig Geld (unter oder um 20€).

Software

Wir wollen ein Webinterface, in dem Leute rumklicken können und damit Aktionen auslösen. Zusätzlich wollen wir u.a. zeitgesteuerte Aktionen.

dorfmap

Wir könnten die bisher verwendete Software (Wiki, Backend, Frontend) an einen neuen Bus, einen neuen Grundriss und neue Gerät anpassen. Die konzeptionellen Probleme der Software löst das aber nicht.

Aber das UI ist schon nett. Vielleicht einfach nur das Backend austauschen?

Der Hauptentwickler des bisherigen Backends empfielt: Frontend beibehalten (10/10 auf intuitive Bedienung), Backend neu. --Derf (talk)

neue Software selber schreiben

Wir könnten eine komplett neue Software selber schreiben. Das wäre der flexibelste Ansatz, aber auch der zeitaufwändigste. Wir haben eh schon (zu?) viel selbstgefrickelte Software.

OpenHAB, Home Assistant, Node-RED, ...

Hier ist noch Recherche und Evaluation nötig.

allgemeine Überlegungen

  • Das bisherige Setup mit Webinterface auf einem Pi, der den Bus steuert, ist sinnvoll. (Wir erinnern uns an den Ausfall von Helios.)
  • Fertige Lösungen haben wahrscheinlich einen niedrigeren Zeitaufwand nötig als selbstgebaute Lösungen - dafür sind sie möglicherweise teurer. (Ja, wir sind ein Hackspace, aber Infrastruktur sollte funktionieren und zu viel Zeit hat auch niemand.)