Moin,
ich bräuchte mal eure Hilfe um auf ein paar Ideen zu kommen
Aktuell habe ich zwei RPi's im Betrieb. Einer steuert mein Licht und meine Rollladen und der
Andere ist eigentlich nur für Hyperion zuständig. Bald soll allerdings noch ein weiterer Folgen, welcher sich um die Steuerung weiterer Lampen und Rollladen kümmern soll.
Jeder RPi soll unabhängig von den anderen laufen sich aber dennoch mit diesen Synchronisieren.
-Die Datenbank-
Hier stehen die Rolllos und Lichter drin und auch, ob diese gerade an/aus bzw. oben/unten sind. Im Erstfall wird also ständig (immer wenn jemand auf den Lichtschalter drückt) etwas in die DB geschrieben.
-Die Synchronisation-
Synchronisiert werden muss eigentlich nur eine besagte SQLite Datenbank (aktuell 12K groß).
Ich dachte mir, die Synchronisation über Bittorrent Sync zu verwirklichen, wobei fraglich ist, ob das Performance-Technisch klar geht.
-Die Verbindung-
Die RPis sollen sich Remote via TCP ansteuern lassen. Die Verbindung als solche soll natürlich gesichert sein, also via SSL/TLS verschlüsselt. Reicht das für einen sicheren Datenverkehr schon aus, oder wäre es sinnvoller die Pakete als solche noch via AES zu verschlüsseln?
Dann bleibt noch die Frage, was passiert, wenn jemand die Pakete abfängt und erneuert an meinen RPi sendet. Darauf sollte er wenn möglich ja dann nicht reagieren. Wie verwirkliche sowas in der Theorie?
Zudem soll jeder RPi, wenn er ein Paket bekommt, dass für einen anderen RPi gedacht ist an den entsprechenden weiterleiten. Hierzu könnte man die SQLite Datenbank benutzen, um Hostname, IP und Port fest zu halten.
So, das war jetzt eine kleiner Vorgeschmack meiner Idee eins internen Meshnets. Meine Python Kenntnisse sollten hierfür ausreichen. Wenn Ihr Anregungen oder Bemerkungen habt, immer her damit