Inhaltsverzeichnis:

So senden Sie Daten mit Arduino Ethernet an die Cloud - Gunook
So senden Sie Daten mit Arduino Ethernet an die Cloud - Gunook

Video: So senden Sie Daten mit Arduino Ethernet an die Cloud - Gunook

Video: So senden Sie Daten mit Arduino Ethernet an die Cloud - Gunook
Video: LoRa Gateway selber bauen mit ESP32 LoRa Board & Daten an den eigenen Webserver senden 2024, November
Anonim
So senden Sie Daten mit Arduino Ethernet an die Cloud
So senden Sie Daten mit Arduino Ethernet an die Cloud

Diese Anleitung zeigt Ihnen, wie Sie Ihre Daten mit Arduino Ethernet Shield auf der AskSensors IoT-Plattform veröffentlichen. Mit dem Ethernet Shield kann Ihr Arduino problemlos mit der Cloud verbunden werden und Daten über eine Internetverbindung senden und empfangen.

Was wir lernen werden:

Wir lernen die Grundlagen zum Verbinden eines Arduino-Ethernet-Shields mit dem AskSensors-Webserver und zum Senden von Dummy-Daten über HTTP-Anfragen. Am Ende werden Live-Datenströme in der AskSensors-Cloud visualisiert.

Warum HTTP und nicht

AskSensors unterstützt HTTPS, auf Arduinos montierte MCUs verarbeiten jedoch keine HTTPS-Verbindungen. Aus diesem Grund werden wir HTTP anstelle von HTTPS verwenden.

Hinweis: Wenn Sie das MQTT-Protokoll bevorzugen, besuchen Sie bitte diese Seite: Verbinden Sie Arduino Ethernet mit AskSensors über MQTT

Schritt 1: Arduino Ethernet-Shield

Hardware-Eigenschaften:

  • Benötigt ein Arduino-Board.
  • Betriebsspannung 5V, versorgt vom Arduino Board.
  • Ethernet Controller: Wiznet Ethernet Controller W5100 mit internem 16K Puffer
  • Der Wiznet W5100 bietet einen Netzwerk (IP) Stack, der sowohl TCP als auch UDP unterstützt.
  • Verbindungsgeschwindigkeit: bis zu 10/100 Mb
  • Verbindung mit Arduino am SPI-Port: Es verwendet die ICSP-Header-Pins und Pin 10 als Chipauswahl für die SPI-Verbindung zum Ethernet-Controller-Chip.
  • Die neueste Version des Ethernet Shield enthält einen Micro-SD-Kartensteckplatz an Bord, der zum Speichern von Dateien für die Bereitstellung über das Netzwerk verwendet werden kann.
  • Das Ethernet-Modul verfügt über einen Standard-RJ45-Anschluss mit integriertem Leitungstransformator.
  • Der Anschluss an ein Netzwerk erfolgt über ein RJ45-Ethernet-Kabel.

Softwarebibliothek:

Das Ethernet-Shield basiert auf der Arduino-Ethernet-Bibliothek

Die Bibliothek wird mit der Arduino IDE gebündelt

Wir müssen einige Netzwerkeinstellungen im Programm ändern, damit sie unserem Netzwerk entsprechen.

Informations-LEDs:

Später müssen Sie möglicherweise den Ethernet-Status anhand der Informations-LEDs überprüfen:

  • PWR: zeigt an, dass die Platine und das Schild mit Strom versorgt werden
  • LINK: zeigt das Vorhandensein einer Netzwerkverbindung an und blinkt, wenn das Schild Daten sendet oder empfängt
  • FULLD: zeigt an, dass die Netzwerkverbindung Vollduplex ist
  • 100M: zeigt das Vorhandensein einer 100-Mbit/s-Netzwerkverbindung an (im Gegensatz zu 10 Mbit/s)
  • RX: blinkt, wenn das Schild Daten empfängt
  • TX: blinkt, wenn das Schild Daten sendet
  • COLL: blinkt, wenn Netzwerkkollisionen erkannt werden

Schritt 2: Materialien, die wir brauchen

Die für diese Tutorials erforderliche Hardware ist:

  1. Ein Computer, auf dem die Arduino IDE-Software ausgeführt wird.
  2. Ein Arduino-Board wie das Arduino Uno.
  3. Ein Arduino-Ethernet-Schild.
  4. Ein USB-Kabel zur Stromversorgung und Programmierung des Arduino.
  5. Ein Ethernet-Kabel zum Anschluss an Ihren Netzwerkrouter.

Schritt 3: AskSensors einrichten

AskSensors erfordert Folgendes:

  • Erstellen Sie ein Benutzerkonto: Sie können eines kostenlos erhalten (https://asksensors.com)
  • Einen Sensor erstellen: Ein Sensor ist ein Kommunikationskanal mit einem einzigartigen API-Schlüssel, in dem AskSensors Benutzerdaten sammelt und speichert.

Jeder Sensor bietet mehrere Module, an die der Benutzer separat Daten senden kann. Der Benutzer kann die gesammelten Daten jedes Moduls auch in einem Diagramm visualisieren. AskSensors bietet mehrere Auswahlmöglichkeiten an Grafiken, einschließlich Linie, Balken, Streuung und Anzeige.

Schritt 4: Codierung

In diesem Moment konnten wir einen neuen Sensor in der AskSensors-Plattform registrieren. Jetzt werden wir etwas Code in den Arduino schreiben, um ihn mit der Plattform zu verbinden. Es gibt Hunderte von Tutorials zum Verbinden des Arduino mit dem Internet über die Ethernet-Shields, daher werde ich diesen Teil nicht erklären.

Laden Sie dieses Arduino-Skizzenbeispiel von github herunter. Der Code verwendet DHCP und DNS für den Server und soll mit wenigen Änderungen sofort funktionieren:

  1. Wenn Sie mehr als ein Ethernet-Shield in einem Netzwerk verwenden, stellen Sie sicher, dass jedes Ethernet-Shield im Netzwerk eine eindeutige MAC-Adresse haben muss.
  2. Ändern Sie die IP-Adresse in der Skizze so, dass sie dem IP-Adressbereich Ihres Netzwerks entspricht.
  3. Stellen Sie den Api Key In Ihres Sensors ein (von AskSensors im vorherigen Schritt angegeben)
  4. Legen Sie Ihre Dummy-Daten fest.

// MAC

Byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Festlegen der statischen IP-Adresse, die verwendet werden soll, wenn DHCP keine IPAddress ip(192, 168, 1, 177) zuweist; // ASKSENSORS-Konfig. const char* apiKeyIn = "MTWN7AQOLWJNEIF8RGMAW5EGKQFAHN2K"; // Ändern Sie es mit Ihrem API KEY IN // Dummy-Daten int dumData = 100; // setze deine Daten

Schritt 5: Programmierung

Programmierung
Programmierung
  1. Stecken Sie das Ethernet-Shield in die Arduino Uno-Platine.
  2. Verbinden Sie die Ethernet-Abschirmung über das Ethernet-Kabel mit Ihrem Router/Netzwerk.
  3. Verbinden Sie den Arduino über das USB-Kabel mit dem Computer. Die Stromversorgung der beiden Boards erfolgt über das USB-Kabel.
  4. Öffnen Sie Ihren Code in der Arduino IDE, wählen Sie das richtige Arduino-Board und den richtigen COM-Port aus. Laden Sie dann den Code auf Ihr Arduino-Board hoch. Stellen Sie sicher, dass der Code erfolgreich hochgeladen wurde.

Schritt 6: Ausführen des Codes

  • Zurücksetzen: Sie können die Reset-Taste auf dem Schild verwenden, um sowohl den Ethernet-Controller als auch das Arduino-Board zurückzusetzen.
  • Führen Sie den Code aus: Öffnen Sie nach dem Zurücksetzen / Einschalten ein serielles Terminal. Sie sollten sehen, wie das Arduino den Programmstatus druckt: Das Arduino verbindet sich mit dem Netzwerk (dauert einige Sekunden) und sendet dann die Dummy-Daten über HTTP-Get-Anfragen an die AskSensors.
  • Server-Antwort: Nachdem der Server die Anfrage zum Schreiben von Daten an den spezifischen Sensor vom Client erhalten hat, sendet er zunächst eine HTTP-Antwort mit der Anzahl der erfolgreich aktualisierten Module (in unserem Fall '1').

Schritt 7: Daten visualisieren

Daten visualisieren
Daten visualisieren

Jetzt sind Ihre Daten gut in der AskSensors-Cloud veröffentlicht. Sie können diese Daten in einem Diagramm anzeigen oder in eine CSV-Datei exportieren.

Jeder Sensor verfügt über ein eigenes Dashboard, das es derzeit ermöglicht, seinen Status in Echtzeit zu überwachen (letztes Update-Datum, Verbindungsstatus..).

Klicken Sie in der Liste auf Ihren Sensor und legen Sie eine Grafik für Ihr Modul fest (Modul 1). Das obige Bild zeigt ein Beispiel für die Anzeige mit dem Gauge-Graph-Typ.

Schritt 8: Gut gemacht

Vielen Dank fürs Lesen. Weitere Tutorials findest du hier.

Wenn Sie Fragen haben, treten Sie der AskSensors-Community bei!

Empfohlen: