Um mich mit IoT-Plattformen (Internet of Things) zu befassen, wurde ich durch das Fehlen eines IoT-GerÀts gestoppt, das mit Protokollen und Zugriffsmethoden kompatibel wÀre. Als ich jedoch feststellte, dass Sie ein gewöhnliches Smartphone als GerÀt verwenden können, dauerte die Implementierung einer Arbeitskette einen Tag.
Nehmen Sie ein Smartphone, das ein IoT-GerÀt mit Temperatur-, Feuchtigkeits- und Drucksensoren emuliert, und senden Sie Messwerte an die Amazon IoT-Plattform. Auf der Plattform legen wir eine Regel fest, nach der nach Erhalt der Daten von unserem GerÀt ein Benachrichtigungsdienst aufgerufen wird, der wiederum eine E-Mail mit den empfangenen Daten sendet.
Ein solches System hat natĂŒrlich wenig praktischen Wert, aber es ermöglicht Ihnen zu verstehen, wie alles funktioniert:

Warum die IoT-Plattform von Amazon? Und warum mĂŒssen Sie verstehen, wie IoT-Plattformen funktionieren?
M2M - IoT - IoE
Es gibt immer mehr IoT-GerĂ€te auf der Welt, sowohl analytische Agenturen als auch Weltstatistiken sprechen darĂŒber.
Wir selbst können deutlich sehen, dass immer mehr Systeme mit dem Internet verbunden sind und automatisch oder von Menschen gesteuert werden: Smart Homes, Autos, tragbare GerĂ€te. Und jetzt reden sie nicht nur ĂŒber IoT, sondern auch ĂŒber IoE (Internet of Everything), weil GerĂ€te, die mit Plattformen verbunden sind, werden nicht nur in industriellen Systemen verwendet, sondern auch von Menschen.
Daher mĂŒssen wir die Prinzipien der Arbeit selbst verstehen, zumindest um zu verstehen, wie Sie Ihre GerĂ€te effektiv nutzen können oder welche EinschrĂ€nkungen und Nuancen die Sicherheit aufweist.
Warum Amazon?
Amazon erstellt Dienste unter BerĂŒcksichtigung der weltweiten Trends und als Ergebnis werden âuniverselleâ Systeme erhalten, deren Grundprinzipien von allen Herstellern verwendet werden. Die Cloud-Plattform hat ein noch gröĂeres Plus: Dies ist die Möglichkeit, das System in wenigen Stunden selbst bereitzustellen, ohne den IT-Service und die Sicherheit des Unternehmens zu beeintrĂ€chtigen.
Warum ein Smartphone und kein IoT Starter Kit?
Bei nÀherer Betrachtung emuliert das Smartphone das IoT-GerÀt gut:
- Es hat Linux, auf dem Anwendungen ausgefĂŒhrt werden können.
- Es besteht eine mobile Verbindung zum Internet.
- Mithilfe von Software können Sie Sensorwerte emulieren.
Das heiĂt, Die Arbeit mit einem echten IoT-GerĂ€t unterscheidet sich nicht von der Arbeit mit einem Smartphone, auĂer dass ein bestimmtes SDK verwendet wird, um Sensorwerte zu erhalten. Alle anderen Mitteilungen werden Ă€hnlich sein.
Lassen Sie mich den Abschnitt mit Standards, Analysen und Marktforschung ĂŒberspringen - am Ende des Artikels werde ich einige relevante Links geben. Ich bin gespannt auf etwas Interessantes.
AWS IoT-Plattform
Amazon zeichnet ein ziemlich klares Diagramm seiner Plattform:

Hier ist im Allgemeinen alles klar:
- (1) Es gibt GerĂ€te, die ĂŒber das SDK mit der IoT-Plattform interagieren.
- (2) GerĂ€te senden Nachrichten, die vom Authentifizierungs- und Autorisierungsdienst ĂŒberprĂŒft werden.
- (3) Nachrichten kommen mit verschiedenen Protokollen am GerÀte-Gateway an und gehen dann zum Regelhandler (4.1) und werden (4.2) nach GerÀteschatten kopiert.
- (4.2) GerĂ€teschatten sind digitale Doppelbilder, die den aktuellen Status von GerĂ€ten speichern, die Anwendungen immer zur VerfĂŒgung stehen. Wenn andererseits keine Kommunikation mit dem GerĂ€t erfolgt, fĂŒhrt Device Shadow Steuerbefehle von Anwendungen aus und synchronisiert beim Wiederherstellen der KonnektivitĂ€t den aktuellen Status mit dem GerĂ€t.
- (4.1) AbhĂ€ngig von den empfangenen Daten fĂŒhrt der Regelhandler vorgegebene Aktionen aus (5.1), speichert beispielsweise Daten in der Datenbank, sendet SMS- oder E-Mail-Benachrichtigungen, ruft die HTTP-API auf, sendet Daten an das Analysesystem usw.
- (5.2) Anwendungen verwenden diese Daten zur Steuerung und Verwaltung von GerÀten mithilfe der AWS-API. (6)
- Informationen zu allen GerÀten werden auf der AWS IoT-Plattform (7) gespeichert.
Wir beginnen zu verstehen, dass das Schema etwas kompliziert ist:

Erscheinen:
Jobs - FĂŒhren Sie Standardaktionen auf GerĂ€ten aus, z. B. installieren Sie Anwendungen, aktualisieren Sie die Firmware, starten Sie GerĂ€te neu usw.
Themen sind die Essenz des MQTT-Protokolls. Nachrichten von IoT-GerÀten werden an bestimmte Themen gesendet.
IAM-Rollen - AWS-Benutzer, fĂŒr die die Regeln ausgefĂŒhrt werden und die Zugriff auf die erforderlichen AWS-Ressourcen haben.
Regeln bestehen aus:
- Filter - Nachrichtenfilter zur Verarbeitung. Als SQL-Abfrage festlegen.
- Aktion - Die auszufĂŒhrende Aktion.
- Rolle - eine oder mehrere IAM-Rollen.
Zertifikat - Auf das IoT-GerÀt hochgeladen, mit dessen Hilfe die Authentifizierung von GerÀten auf der AWS-Plattform erfolgt. Bestehend aus:
- X.509-GerÀtezertifikat
- Privater SchlĂŒssel
- AWS-Stammzertifikat
Richtlinie - Richtlinien werden an Zertifikate angehĂ€ngt, die bestimmen, welche Aktionen das GerĂ€t ausfĂŒhren kann. Richtlinien autorisieren GerĂ€te.
Details
AWS-Services , die Informationen von der IoT-Plattform erhalten: Analytics, DB, SNS-Benachrichtigungsservice.
Wir verbinden das GerÀt
Ich werde keine vollstĂ€ndigen Anweisungen zum AnschlieĂen des IoT-GerĂ€ts an die Amazon-Plattform geben:
Erste Schritte mit AWS IoT . Um den Umfang der Aufgabe zu verstehen, werde ich die Schritte auflisten, die unternommen werden mĂŒssen, damit das Schema funktioniert:
- Erstellen Sie ein my-iot-dev-GerÀt auf der Plattform
- Wir erhalten das GerĂ€tezertifikat X.509, privaten SchlĂŒssel, öffentlichen SchlĂŒssel
- Beziehen Sie das Stammzertifikat der AWS-Plattform (Stammzertifizierungsstelle fĂŒr AWS IoT)
- Erstellen Sie die Richtlinie my-iot-dev-policy. FĂŒr unsere Demos erlauben wir alle Aktionen: iot: *

- FĂŒgen Sie einem Zertifikat eine Richtlinie hinzu
- HÀngen Sie das Zertifikat an das GerÀt an
- Als Ergebnis haben wir ein Zertifikat mit dem GerÀt und der Richtlinie erhalten:

- Erstellen Sie eine Regel. Die Regel ruft den AWS SNS-Benachrichtigungsdienst (Simple Notification Service) auf, um E-Mails zu senden. Daher mĂŒssen Sie zuerst ein Thema in AWS SNS (my-iot-dev-sns-topic) erstellen:

- Jetzt konfigurieren wir, was genau dieses Thema beim Empfang von Daten tun soll. Erstellen Sie dazu ein Abonnement fĂŒr das Thema (Abonnieren Sie das Amazon SNS-Thema), geben Sie die Ziel-E-Mail-Adresse ein, warten Sie auf das BestĂ€tigungsschreiben und bestĂ€tigen Sie die E-Mail.

Erstellen Sie nun die Regel selbst (my_iot_dev_rule), die das erstellte Thema aufruft:
- Filter: SELECT * FROM 'my / dev-topic' - Der Filter wird ausgelöst, wenn eine Nachricht im Thema 'my / dev-topic' empfangen wird.
- Aktion: Senden einer Nachricht an das zuvor erstellte SNS-Thema "arn: aws: sns: eu-central-1: 1219xxx34064: my-iot-dev-sns-topic";
- IAM-Rolle: Erstellen Sie die Rolle " Meine-Entwickler-Rolle" mit Zugriff auf SNS-Themen.

- Alle logischen EntitĂ€ten fĂŒr unser GerĂ€t werden erstellt. Jetzt können Sie testen, ob das Schema theoretisch funktioniert. Zu diesem Zweck verfĂŒgt AWS ĂŒber ein Testtool, mit dem Sie Nachrichten senden und empfangen können, die denen realer GerĂ€te Ă€hneln. Wir starten es, abonnieren das Thema (mein / dev-Thema) und senden "Hallo Welt!" Nachricht:

- Wir ĂŒberprĂŒfen, ob die Nachricht "Hallo Welt!" Angekommen ist und schlieĂen Sie, dass die Schaltung funktioniert.
Smartphone-Konfiguration
Es ist an der Zeit, das IoT-GerÀt zu konfigurieren, das mein Smartphone sein wird. Verwenden Sie dazu
die JavaScript-Anweisung AWS SDK . Um ein Smartphone in ein IoT-GerÀt zu verwandeln, benötigen Sie:
- Auf GerÀt kopieren: Private Key-, X.509- und "Root CA for AWS" -Zertifikate;
- Installieren Sie Node.js und den npm-Paketmanager.
- Installieren Sie das AWS SDK.
- Installieren Sie das Testprogramm und fĂŒhren Sie es aus.
In unserem Fall wird alles etwas einfacher, weil Ich habe die Zertifikate, das AWS SDK und das Testprogramm auf GitHub gestellt und Sie können einfach
das IoT-Sensors-Repository klonen. Wenn jemand mein Testprogramm verwenden möchte, muss er seine Zertifikate im Verzeichnis / IoT / certs ablegen und den tatsĂ€chlichen Rest-API-Endpunkt fĂŒr das GerĂ€t in die Datei / server / src / services / IoT-AOI-Server schreiben:
device = deviceModule({ ⊠host: 'a2lqo1xxx4zydi-ats.iot.eu-central-1.amazonaws.com', ⊠})
Der Rest-API-Endpunkt wird aus den GerĂ€teeinstellungen ĂŒbernommen:

Wenn Sie etwas Standardisches ausprobieren möchten, können Sie die Testprogramme aus dem AWS SDK verwenden.
Android ist das gleiche Linux, jedoch mit seinen EinschrÀnkungen.
Um JS-Anwendungen auszufĂŒhren, mĂŒssen Sie ein spezielles Terminal installieren,
z. B. Termux .
FĂŒr die anfĂ€ngliche Entwicklung von Termux gibt es eine Reihe von Artikeln, zum Beispiel:
Starten einer NodeJS-Anwendung unter Android . Im GroĂen und Ganzen mĂŒssen Sie nach der Installation von Termux nur wenige magische Befehle ausfĂŒhren:
git clone https://github.com/AlexeySushkov/IoT-Sensors.git
Serverinstallation
cd ~/IoT-Sensors/server npm install npm start
Wenn alles gut gegangen ist, erscheint die Zeile im Terminal:
Server gestartet an Port: 8081
Live sieht es so aus:

Client-Installation
cd ~/IoT-Sensors/client npm install npm run serve
Wenn alles gut gegangen ist, erscheint die Zeile im Terminal:
App lÀuft am Port: 8080
Geben Sie als NĂ€chstes im Smartphone-Browser Folgendes ein:
http: // localhost: 8080Auf dem Bildschirm wird eine Testanwendung angezeigt:

DrĂŒcken Sie die Taste âINIT DEVâ. Dadurch wird das IoT-GerĂ€t auf der AWS IoT-Plattform authentifiziert und autorisiert. Bei Erfolg wird der Status "Init OK".
Als nÀchstes geben wir die Werte der Temperatur-, Feuchtigkeits- und Drucksensoren ein, zum Beispiel:
Temperatur: 23
Luftfeuchtigkeit: 65
Druck: 787
Und drĂŒcken Sie die Taste "SEND DATA".

Danach fĂŒgt die Anwendung einen Zeitstempel hinzu und sendet die Daten in Form von MQTT-Nachrichten an das Thema âmy / dev-topicâ. Die IoT-Plattform empfĂ€ngt eine Nachricht und aktiviert eine Regel, die eine Nachricht an den AWS SNS-Benachrichtigungsdienst sendet, der eine E-Mail mit den empfangenen Daten im JSON-Format sendet:
{"time":"Mon, 30 Sep 2019 13:54:52 GMT", "temperature":"23", "humidity":"65", "pressure":"787"}
Wenn die Nachricht erfolgreich gesendet wurde, Àndert sich der Status in: "OK veröffentlichen" und eine E-Mail wird an die E-Mail gesendet:

Die AWS IoT-Plattform verfĂŒgt ĂŒber ein Ăberwachungssystem, das die Anzahl der Verbindungen und Nachrichten von IoT-GerĂ€ten, Statistiken zu Protokollen, Nachrichtentypen usw. anzeigt.

Jetzt funktioniert also alles echt!
Fazit
Wir haben ein kleines, aber echtes IoT mit einer Amazon-Plattform erstellt. Alle Plattformen basieren auf denselben Prinzipien. Wenn sich also die Frage nach der Auswahl eines IoT-Systems stellt, sind wir bereit, die folgenden Fragen zu stellen. Wenn wir die Antworten von Amazon kennen, können wir daraus schlieĂen, wie ausgereift die Plattform angeboten wird:
GerĂ€te- Wie werden GerĂ€te zum System hinzugefĂŒgt?
- Wie wird die GerÀteauthentifizierung und -autorisierung sichergestellt?
- Tritt eine VerschlĂŒsselung der an die Plattform gesendeten Daten auf?
Plattform- Wie werden SchlĂŒssel und Zertifikate auf der Plattform geschĂŒtzt?
- Wie werden Regeln gebildet?
- Welche Aktionen können die Regeln befolgen?
- Wie werden GerĂ€te ĂŒberwacht und verwaltet?
- Gibt es Schatten (digitale Doppelbilder) von GerÀten auf der Plattform?
- Welche Berichte und Analysen sind verfĂŒgbar?
Interaktion- Welche Protokolle werden zum Verbinden von GerÀten verwendet?
- Wie ist die Interaktion von Anwendungen mit dem GerÀt?
- Wie wird die Interaktionslogik getestet?
Wie versprochen werde ich einige relevante Links zu Standards und Analysen bereitstellen:
IoT-Standards
Ăberraschenderweise haben die Standardisierungsriesen (
ISO / IEC ,
IEEE ,
ITU-T ) nach 2016 das Interesse an IoT verloren. Sie machen natĂŒrlich etwas, aber irgendwie ohne ein Funkeln). NIST hat auch seine Studie "
Netzwerke der Dinge" veröffentlicht , aber nach 2016 gibt es nichts Interessanteres.
Telekommunikationsinstitute sehen besser aus, was seitdem nicht verwunderlich ist Ohne KonnektivitÀt ist IoT kein IoT. Das TM-Forum sammelt unter seinem Dach FÀlle und Projekte von
IoE & Digital Ecosystems . ETSI ist einfacher und tritt
OneM2M bei .
Und jetzt kommen wir zu zwei Organisationen, die vor relativ kurzer Zeit gegrĂŒndet wurden, aber bereits die weltweite Richtung der IoT-Entwicklung bestimmen:
OneM2MOneM2M ist eine
Vereinigung von Standardisierungsorganisationen, Telekommunikationsunternehmen und Herstellern aus verschiedenen LÀndern. Sie haben Dutzende relevanter Dokumente im öffentlichen Bereich, die die Seele mit
Architekturmodellen und Funktionsdiagrammen wÀrmen.
IICIIC (Industrial Internet Consortium) - eine Organisation zur Standardisierung des industriellen Internet der Dinge - sind hauptsÀchlich
Hersteller von Software und GerÀten . Sie veröffentlichen auch ihre
Referenzarchitekturen. Im Allgemeinen gibt es einen Ort, an dem man die perfekte Welt betrachten kann! )
IoT Analytics
Alle unsere bevorzugten Analyseagenturen veröffentlichen IoT-Forschung, aber nicht alle sind frei verfĂŒgbar. Als Beispiel werde ich einige relevante Artikel geben, die optimistische Prognosen fĂŒr die Entwicklung des IoT zeigen:
Es ist nur der Anfang!