Wir untersuchen die verschiedenen IoT-Anwendungsfälle und -Lösungen. Um das Erkunden, Experimentieren, Entwerfen, Entwickeln und Testen möglicher Lösungen zu erleichtern, untersuche ich die Möglichkeit, einen einfachen IoT-Server lokal einzurichten.
Daher möchte ich die zugrunde liegende Architektur von Servern verstehen, die IoT-Geräte bedienen. Allgemein gesagt, verbinden IoT-Geräte Dienste, die Daten bereitstellen und die Informationen zur Verwendung durch andere Geräte verfügbar machen. Das ist ziemlich einfach.
Derzeit werden die möglichen IoT-Edge-Geräte Wi-Fi verwenden, planen jedoch die Migration auf ein Protokoll mit niedriger Datenrate und geringem Stromverbrauch wie ZigBee, BLE oder möglicherweise Z-Wave. Zu diesem Zeitpunkt benötige ich eine Art Hub . Die Datennutzlast beträgt ungefähr 100 Bytes, zu Spitzenzeiten kann die Übertragung bis zu einer Transaktion pro Minute betragen. Die IoT-Edge-Geräte laden meistens Daten hoch, gelegentlich auch auf die Geräte.
Es wurde vorgeschlagen, dass ich mir MQTT und RabbitMQ als mögliche Optionen anschaue . Außerdem wurde ich zum Thema " Anzeigen von MQTT-Nachrichten in einem Browser in Echtzeit " weitergeleitet, auf das ich mich zum Zeitpunkt des Schreibens beziehe.
Hier sind ein paar Fragen, von denen ich glaube, dass sie zusammenhängen:
- Was unterscheidet einen IoT-Server von einem Webserver, Mailserver oder FTP-Server?
- Was ist die zugrunde liegende Architektur eines grundlegenden IoT-Servers?
- Welche Eigenschaften sind wichtig, wenn einfache, leichte IoT-Server in Betracht gezogen werden?
quelle
Wie @ralight zeigte, arbeitet der IoT-Server mit dem IoT-Protokollstapel. Dies ist nicht auf eine OSI-Schicht beschränkt. Tatsächlich ist oder kann jede Stufe für die Verwendung im Internet der Dinge optimiert werden, und natürlich sind neue Protokolle erforderlich.
Es ist auch möglich, dass die Hardware untypisch ist: In kleinen Setup-Datenkollektoren wie Raspberry PI können die Aufgaben des Servers ganz oder teilweise übernommen werden.
Teilweise bedeutet Nebel-Computing, bei dem Daten dort verarbeitet werden, wo sie gesammelt werden und nur die Endergebnisse an den Hauptserver gesendet werden.
Von dieser Seite aus einige Hardwarespezifikationen:
Also, grundlegende Serverhardware.
Ich habe nicht viel Einblick, aber ich würde mich persönlich dafür interessieren, ob Raspberry PI als eine Art MQTT-Server ausreicht. Ich habe irgendwo in Quora gelesen, dass es sich bei Esp8266 nicht handelt, aber ich habe ein normales Desktop-Linux gesehen, das an RPI arbeitet. Warum sollte es nicht auch als Server fungieren?
Was zu beachten ist, bevor Sie Raspberry ausprobieren, sind die Hardwareanforderungen des ausgewählten Service-Stacks. Bei normaler Serverhardware sind die Speichermengen heutzutage so hoch, dass es keine Probleme geben wird.
Die angegebenen 3000 msg / s sind im Vergleich zu IoT-Testfällen relativ hoch, und RPI3 verfügt über 1 GB RAM. Das ist die Hälfte, also hängt es davon ab, ob die Nachrichten in diesem Fall den Speicher füllen oder wie viel der reine MQTT benötigt. Das wirkt sich darauf aus, wie geeignet es wäre.
quelle