Inhaltsverzeichnis:

IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS - Gunook
IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS - Gunook

Video: IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS - Gunook

Video: IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS - Gunook
Video: Удаленно контролировать энергопотребление дома | ПЗЭМ-004Т | Облако Интернета вещей RemoteXY 2024, November
Anonim
IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS
IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS
IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS
IoT-Grundlagen: Verbinden Ihres IoT mit der Cloud mit Mongoose OS

Wenn Sie eine Person sind, die sich mit Basteln und Elektronik beschäftigt, werden Sie meistens auf den Begriff Internet der Dinge stoßen, der normalerweise als IoT abgekürzt wird und sich auf eine Reihe von Geräten bezieht, die sich mit dem Internet verbinden können! Da ich selbst so ein Mensch bin, war ich fasziniert, als ich erfuhr, dass mir so tolle Geräte leicht zugänglich sind. Der bloße Gedanke, meine Projekte mit einer kleinen Hardware ans Internet anbinden zu können und nur an die unzähligen Tore zu denken, die sich damit für meine Projektideen öffnen würden, hat mich begeistert.

Aber dem IoT zu sagen, dass es sich mit dem Internet verbinden soll, ist nicht so einfach wie es einfach von der Stange zu kaufen und es hochzufahren. Und abgesehen davon, dass wir das Gerät mit dem Internet verbinden, müssen wir auch einige nützliche Daten ins Internet übertragen. Dieses Instructable befasst sich mit dem Verfahren, das erforderlich ist, um das oben genannte Ziel zu erreichen, und richtet sich an Leser aller Erfahrungsstufen, von Anfängern bis hin zu Veteranen, die neu im IoT sind.

In diesem Instructable werde ich als Beispiel demonstrieren, wie das Diagramm der internen Temperatursensormesswerte der ESP32-Entwicklungsplatine gezeichnet wird, was den Lesern eine gute Vorstellung von dem Prozess geben sollte.

Obwohl dieses Instructable ESP32 und Mongoose OS verwendet, kann das Verfahren auf alle IoTs und Firmware ausgedehnt werden, die es gibt!

Lieferungen

Um dieses Instructable selbst implementieren zu können, benötigen Sie nur eine minimale Menge an Hardware, und sie sind:

  • An Internet of Thing (IoT): Ich habe einen billigen ESP32-Entwicklungsboard-Klon verwendet. Wenn Sie vorhaben, ein neues ESP32-Entwicklungsboard zu kaufen, müssen Sie sich das ESP32-Board von DFRobot ansehen.
  • Ein Datenkabel: Verwenden Sie ein Kabel, das Ihr IoT zum Flashen usw. benötigt.
  • Eine Batterie (optional): Kaufen Sie diese nur, wenn Sie beabsichtigen, Ihr IoT für längere Zeit hochzufahren.
  • Ein Mini-Breadboard (optional)

Ich schlage dem Leser vor, ein anderes IoT als ESP32 zu verwenden, damit er/sie wirklich versteht, was hier gemacht wird, anstatt mich einfach nachzuahmen. Vertrauen Sie mir, Sie werden es genießen, diesen Prozess mit Ihrem eigenen Verstand in einem anderen IoT zu implementieren, zum Beispiel wäre ESP8266 eine gute Wahl.

Schritt 1: Einführung in MQTT

Einführung in MQTT
Einführung in MQTT

Was ist MQTT?

„MQTT ist ein einfaches Messaging-Protokoll, das für eingeschränkte Geräte mit geringer Bandbreite entwickelt wurde. Es ist also die perfekte Lösung für Internet-of-Things-Anwendungen. MQTT ermöglicht es Ihnen, Befehle zur Steuerung von Ausgängen zu senden, Daten von Sensorknoten zu lesen und zu veröffentlichen und vieles mehr. (Aus RandomNerdTutorials)

Wie funktioniert MQTT?

Bevor wir in die Technik gehen, denken wir zuerst an unsere reale Welt. Angenommen, Sie interessieren sich für eine Kartensammlung, die einem Freund Ihres Freundes gehört, zum Beispiel Laurel, den Sie persönlich nicht kennen. Da Sie bei dieser Kartensammlung sehr genau sind, werden Sie Ihren Freund, angenommen Tom, fragen, ob Laurel bereit ist, sie zu verkaufen oder nicht. Dabei bitten Sie Tom, die Kartensammlung selbst zu kaufen, wenn Laurel bereit ist, sie zu verkaufen, da Sie nicht möchten, dass eine andere Person die Sammlung, nach der Sie sich sehnen, in die Hände bekommt! Im Laufe der Zeit interagieren Tom und Laurel, und im gegenseitigen Einvernehmen gibt Laurel Tom ihre Kartensammlung im Austausch gegen Geld. Nach diesem Austausch behält Tom die Karten bei sich, bis er dich wieder trifft und dir dann endlich die Kartensammlung überreicht. So läuft ein normaler Austausch in unserem täglichen Leben ab.

In MQTT sind die grundlegenden Elemente des Austauschs der Herausgeber (Laurel), ein Abonnent (Sie) und der Broker (Tom). Der Arbeitsablauf ähnelt auch dem oben genannten realen Beispiel, bis auf einen großen Unterschied! Bei MQTT wird der Tausch vom Broker initiiert, d.h. Laurel wäre die erste, die Tom erreicht, um mitzuteilen, dass sie ihre Kartensammlung verkaufen möchte. Wenn wir die Funktionsweise von MQTT mit unserem realen Beispiel vergleichen, dann sieht dies wie folgt aus:

  1. Laurel sagt Tom, dass sie ihre Kartensammlung (Daten oder Nutzlast) verkaufen möchte und gibt ihm die Karten.
  2. Tom nimmt diese Karten in seinen Besitz und ist offen für Angebote zur Kartensammlung. Wenn Sie und Tom sich treffen und er herausfindet, dass Sie sich für die Karten interessieren (ein Thema abonnieren). Tom gibt dir dann die Karten.

Da der gesamte Prozess vom Broker abhängt und keine direkte Interaktion zwischen Abonnent und Herausgeber stattfindet, entfällt mit MQTT die mühsame Synchronisierung von Herausgeber und Abonnent. Das Vorhandensein eines Zwischenbrokers ist ein Segen für ressourcenbeschränkte Geräte wie IoTs und Mikroprozessoren, da deren Rechenleistung für die normale Datenübertragung nicht ausreicht, was zusätzliche Kosten für Authentifizierung, Verschlüsselung usw. mit sich bringen würde. MQTT verfügt über viele weitere Funktionen, wie z. B. eine leichte Eins-zu-Viele-Verteilung usw., die es ideal für eingeschränkte Netzwerke und Clients machen

Schritt 2: Einführung in die IoT-Plattform

Was ist eine IoT-Plattform?

„Auf einer hohen Ebene ist eine Internet of Things (IoT)-Plattform die unterstützende Software, die Edge-Hardware, Zugangspunkte und Datennetzwerke mit anderen Teilen der Wertschöpfungskette (die im Allgemeinen die Endbenutzeranwendungen sind) verbindet. IoT-Plattformen typischerweise laufende Verwaltungsaufgaben und Datenvisualisierung übernehmen, die es den Benutzern ermöglichen, ihre Umgebung zu automatisieren. (Von Link-Labs)

Abstrakt betrachtet fungiert eine IoT-Plattform als Medium zwischen dem Benutzer und den Datensammelstellen, die für die Darstellung der gesammelten Daten verantwortlich sind.

In diesem Instructable planen wir, die Temperaturmesswerte unseres ESP32 online zu schieben. Unser ESP32 wird als MQTT-Publisher fungieren und der MQTT-Broker wird eine IoT-Plattform unserer Wahl sein. Beachten Sie, dass es in unserem Projekt keine Rolle eines MQTT-Abonnenten gibt, da die Daten aus erster Hand von der Plattform selbst dargestellt werden. Die IoT-Plattform wird dafür verantwortlich sein, unsere veröffentlichten Daten zu speichern und sie hier als Liniendiagramm schön darzustellen. Ich werde hier Losant als meine IoT-Plattform verwenden, da es kostenlos zu verwenden ist und einige gute Möglichkeiten zur Darstellung von Daten bietet. Einige andere Beispiele für IoT-Plattformen sind Google Cloud, Amazon AWS und Adafruit, Microsoft Azure usw. Ich möchte dem Leser empfehlen, auf die Dokumentation der von ihm gewählten IoT-Plattform zu verweisen.

Losant einrichten:

  1. Anmelden bei Losant
  2. Gerät erstellen (Standalone-Typ)
  3. Fügen Sie dem Gerät einige Datentypen hinzu1. Name: Temperatur, Datentyp: Zahl2. Name: Offset, Datentyp: Zahl3. Name: Einheit, Datentyp: String
  4. Zugangsschlüssel generieren und Geräte-ID und Zugangsschlüssel notieren
  5. Erstellen Sie ein Diagramm1. Erstellen Sie ein Dashboard.2. Fügen Sie den Block "Time Series Graph" hinzu, indem Sie die Temperaturvariable und Ihr erstelltes Gerät verwenden.

Die „Geräte-ID“dient als eindeutiger Fingerabdruck für ein Gerät. Die „Zugriffsschlüssel“, wie der Name schon sagt, ermöglichen es dem IoT, unter der Geräteidentität an Losant zu veröffentlichen.

Schritt 3: Bereiten Sie den MQTT-Publisher vor

Image
Image

Nachdem wir nun die IoT-Plattform für den Empfang und die Darstellung der Daten vorbereitet haben, müssen wir einen MQTT-Publisher vorbereiten, der für das Sammeln und Senden der Daten an die Plattform verantwortlich ist.

Die Gliederung der MQTT-Publisher-Vorbereitung sieht wie folgt aus:

  • Schreiben Sie den Code: Um den Herausgeber (IoT) anzuweisen, wie er Daten sammelt, verarbeitet und an die IoT-Plattform sendet. Die Anweisungen sind in von Menschen lesbaren höheren Programmiersprachen geschrieben, die normalerweise als Code bezeichnet werden.
  • Flashen der Firmware: Das IoT wird diese Anweisungen nicht ohne weiteres verstehen, da es zunächst keine Sprache beherrscht. Um diese Sprachbarriere zwischen Mensch und Maschine zu überbrücken, wird der Code in einen groben Satz von Anweisungen kompiliert, im Wesentlichen Sätze von hexadezimalen oder binären Werten, die spezifisch für Speicherorte im IoT sind, bekannt als Firmware, die dann auf das IoT geflasht wird.

In diesem Instructable, da ich mein handliches ESP32 verwende, werde ich Mongoose OS-Firmware darauf flashen, die Programme akzeptiert, die sowohl in C als auch in JavaScript geschrieben sind. Abgesehen von der JS-Kompatibilität hat Mongoose OS noch viel zu bieten, z. B. Over-the-Air-Updates, um Ihr Programm online zu optimieren, und ein spezielles Dashboard für Geräte (mDash) usw.

Ich habe eine Open-Source-App für Mongoose OS für dieses Instructable entwickelt. Es handelt sich um eine einfache App namens losant-temp-sensor, die MQTT verwendet, um die ungefähren Umgebungstemperaturmesswerte basierend auf den internen Temperaturmesswerten des ESP32 an Losant (eine kostenlos nutzbare IoT-Plattform) zu senden. Es wird empfohlen, den Code der App zum besseren Verständnis durchzugehen. Wir werden diese App für dieses Instructable blinken.

Wenn Sie abenteuerlustig sind, können Sie versuchen, das gleiche Ziel mit der Arduino-ESP32-Firmware zu erreichen, die die Verwendung des ESP32 als Arduino (mit WiFi-Fähigkeit) ermöglicht.

Ein kurzer Überblick über die Flashing-App mit Mongoose OS:

  1. Installieren Sie das mos-Tool für Ihr Betriebssystem.
  2. Öffnen Sie das Tool und führen Sie die folgenden Befehle aus:

    1. mos-Klon
    2. CD Losant-Temp-Sensor
    3. mos build --platform esp32
    4. mos flash
  3. Lassen Sie das Gerät nach erfolgreichem Flashen neu starten und führen Sie dann die folgenden Befehle aus:

    1. mos wifi "Ihre WLAN-Ssid" "Ihr WLAN-Passwort" zB. mos wifi "Zuhause" "Zuhause@123"
    2. mos config-set temperature.basis=

      Temperatur. Einheit="

      "zB mos config-set temperature.basis=33 \temperature.unit="celsius"

    3. mos config-set device.id=mqtt.client_id=mqtt.user=mqtt.pass=

Nachdem Sie alle diese Schritte korrekt ausgeführt haben, erhalten Sie einen ESP32, der die Temperaturmesswerte regelmäßig alle 10 Minuten an Losant sendet. Die erfolgreiche Veröffentlichung wird durch die blaue LED angezeigt, wie im obigen Video gezeigt.

Schritt 4: Fußnote

Image
Image
Fußnote
Fußnote

Wenn Sie die vorherigen Schritte korrekt nachbilden können, haben Sie jetzt ein Arbeitsprojekt, mit dessen Hilfe Sie die Temperaturentwicklung in Ihrem Raum oder wo auch immer Sie das Projekt platzieren möchten, beobachten können. Da ich dieses Instructable so allgemein gehalten habe, wie ich es machen konnte, können Sie Ihr IoT verwenden, um Daten aller Art zu sammeln und versuchen, daraus etwas Nützliches zu schließen, oder Sie können es nur zum Basteln tun, wenn Sie ' ve richtig verstanden dieses Instructable.

Für mich ist das Beste am IoT die Tatsache, dass es uns ermöglicht, riesige Datenmengen zu sammeln, die für sich allein genommen nicht schlüssig sind, und sie in etwas schlüssiges umzuwandeln. Das trifft wirklich den Geist der Wissenschaft. Für mich war es sehr befriedigend und aufschlussreich zu sehen, wie die Temperatur in meinem Zimmer während der Regenstunden durch meine Grafik sinkt.

Die losant-temp-sensor-App wurde für den Stromverbrauch optimiert, da sie die Deep-Sleep-Funktion von ESP32 verwendet, sodass Sie sie über lange Zeiträume verwenden können, ohne sich um den Akku kümmern zu müssen. Sie können die Energieeffizienz weiter erhöhen, indem Sie die LED auf der Entwicklungsplatine entfernen. Die Stromaufnahme des gesamten Setups wurde oben gezeigt.

Das Ziel dieses Instructable war von Anfang an nur, Ihnen eine Einführung in die Welt des IoT zu geben. Wenn Sie dieses Instructable beenden, haben Sie die Grundlagen gut im Griff, die Sie durch andere Online-Ressourcen noch mehr stärken können.

Obwohl Sie in dieser Phase keine komplexen Projekte erstellen können, sollten Sie immer im Hinterkopf behalten, dass Sie, wenn Sie einen ausreichend starken Ziegel haben und eine Möglichkeit haben, sie miteinander zu kombinieren, jede erdenkliche Struktur erstellen können, von einfachen zu komplex. In ähnlicher Weise können Sie eine Vielzahl von Apparaten aufstellen, wenn Sie die Grundlagen gut verstehen und wissen, wie man sie richtig anwendet. Klopfen Sie sich deshalb für den ersten Schritt auf die Schulter.

Schritt 5: Credits und Support

Dieses Instructable besteht aus Illustrationen, z. diejenige, die den MQTT-Austausch erklärt, die ich persönlich gemacht habe. Diese Illustrationen waren nur dank der folgenden kostenlosen SVG-Pakete möglich:

  • Infografik-Vektor erstellt von freepik - www.freepik.com
  • Infografik-Vektor erstellt von starline - www.freepik.com
  • Personenvektor erstellt von pikisuperstar - www.freepik.com
  • Abstrakter Vektor erstellt von macrovector - www.freepik.com
  • Abstrakter Vektor erstellt von macrovector - www.freepik.com
  • Infografik-Vektor erstellt von pikisuperstar - www.freepik.com

Dieses Instructable wurde von DFRobot gesponsert. DFRobot hat eine großartige Elektroniksammlung, also schau sie dir unbedingt an.

Wenn Sie das Gefühl haben, dass Ihnen dieses Instructable gefallen hat und mehr Instructables wie dieses möchten, können Sie mich auf Patreon unterstützen. Wenn Sie nicht so weit gehen können, können Sie mir hier auf Instructables folgen.

Empfohlen: