Wir befinden uns in einem frühen Stadium der Planung eines IoT-Projekts.
Ein Problem, mit dem wir zu kämpfen haben, ist, wie unser internetbasierter Server auf jede Einheit unseres IoT-Projekts zugreifen und Code-Updates, Nachrichten usw. bereitstellen kann.
Ich mache mir darüber Sorgen, da sich natürlich jede IoT-Einheit in einem eigenen WiFi-Netzwerk befindet, das vom Design her geschlossen ist.
Wie nennt unser Server, ein wesentlicher Bestandteil unseres Setups, alle "Kinder" in ihren jeweiligen geschlossenen Netzwerken?
remote-access
Sisko
quelle
quelle
Antworten:
Es hört sich so an, als ob Sie nach einer vollständigen IoT-Geräteverwaltungsplattform suchen sollten - es gibt zu viele komplizierte Aspekte der Skalierbarkeit, Sicherheit, Bereitstellung und Firmware-Aktualisierung, als dass dies sinnvoll wäre, um sie von Grund auf selbst zu entwickeln. Stellen Sie sicher, dass Sie eine Plattform auswählen, die offene Standards verwendet.
Um Ihre Frage direkter zu beantworten, öffnet jeder Endpunkt im Allgemeinen eine TLS-gesicherte Verbindung zu einem Cloud-Server (je nach Zweck der Verbindung wird CoAP, LWM2M oder MQTT verwendet), sodass Verbindungen fast immer vom Endpunkt aus initiiert werden. Nur mit IPv6 oder besonders spezifischen Anwendungsfällen kann die Cloud die Verbindung ohne Unterstützung des Endpunkts initiieren.
quelle
Eine gute Möglichkeit, auf Geräte zuzugreifen, die in privaten Netzwerken verstreut sind, ist die Verwendung von MQTT für die Kommunikation. In MQTT veröffentlicht der Server Nachrichten zu Themen und Geräte können diese abonnieren und werden so benachrichtigt, wenn neue Inhalte zum Thema eingehen.
Im Internet sind Lösungen verfügbar. Wählen Sie entweder eine aus oder implementieren Sie Ihre eigene.
Die Hauptidee besteht darin, ein Thema für z. B. "Firmware-Updates" zu erstellen, und entweder der Link oder das Paket selbst werden als Antwort geliefert. Durch MQTT-Nachrichten zum Markieren der gelesenen Nachricht wird die Aktualisierung nur einmal durchgeführt.
quelle