Gegevens naar de cloud verzenden met Arduino Ethernet: 8 stappen
Gegevens naar de cloud verzenden met Arduino Ethernet: 8 stappen
Anonim
Gegevens naar de cloud verzenden met Arduino Ethernet
Gegevens naar de cloud verzenden met Arduino Ethernet

Deze instructable laat zien hoe u uw gegevens publiceert op AskSensors IoT Platform met behulp van Arduino Ethernet Shield. Met het Ethernet Shield kan uw Arduino eenvoudig verbinding maken met de cloud en gegevens verzenden en ontvangen via een internetverbinding.

Wat gaan we leren:

We zullen de basis leren van het aansluiten van een Arduino Ethernet-schild op de AskSensors-webserver en het verzenden van dummy-gegevens via HTTP-verzoeken. Aan het einde worden live datastreams gevisualiseerd in de AskSensors-cloud.

Waarom HTTP en niet

AskSensors ondersteunt HTTPS, maar MCU's die op Arduino's zijn gemonteerd, kunnen geen HTTPS-verbindingen aan. Om deze reden zullen we HTTP gebruiken in plaats van

Opmerking: als u de voorkeur geeft aan het MQTT-protocol, bezoek dan deze pagina: Sluit Arduino Ethernet aan op AskSensors via MQTT

Stap 1: Arduino Ethernet-schild

Hardwarekenmerken:

  • Vereist een Arduino-bord.
  • Bedrijfsspanning 5V, geleverd door het Arduino-bord.
  • Ethernet-controller: Wiznet Ethernet-controller W5100 met interne 16K-buffer
  • De Wiznet W5100 biedt een netwerk (IP)-stack die zowel TCP als UDP aankan.
  • Verbindingssnelheid: tot 10/100Mb

  • Verbinding met Arduino op SPI-poort: het gebruikt de ICSP-headerpinnen en pin 10 als chipselectie voor de SPI-verbinding met de Ethernet-controllerchip.
  • De nieuwste revisie van het Ethernet Shield bevat een micro-SD-kaartsleuf aan boord, die kan worden gebruikt om bestanden op te slaan voor gebruik via het netwerk.
  • De Ethernet-module heeft een standaard RJ45-aansluiting, met een geïntegreerde lijntransformator.
  • De verbinding met een netwerk wordt gemaakt met een RJ45 Ethernet-kabel.

Softwarebibliotheek:

Het Ethernet-schild is afhankelijk van de Arduino Ethernet-bibliotheek

De bibliotheek wordt geleverd met de Arduino IDE

We zullen enkele netwerkinstellingen in het programma moeten wijzigen om overeen te komen met ons netwerk.

Informatieve LED's:

Later moet u mogelijk de Ethernet-status controleren met behulp van de informatieve LED's:

  • PWR: geeft aan dat het bord en het schild worden gevoed
  • LINK: geeft de aanwezigheid van een netwerkverbinding aan en knippert wanneer het schild gegevens verzendt of ontvangt
  • VOLLEDIG: geeft aan dat de netwerkverbinding full-duplex is
  • 100M: geeft de aanwezigheid van een netwerkverbinding van 100 Mb/s aan (in tegenstelling tot 10 Mb/s)
  • RX: knippert wanneer het schild gegevens ontvangt
  • TX: knippert wanneer het schild gegevens verzendt
  • COLL: knippert wanneer netwerkbotsingen worden gedetecteerd

Stap 2: Materialen die we nodig hebben

De hardware die nodig is voor deze tutorials is:

  1. Een computer met Arduino IDE-software.
  2. Een Arduino-bord zoals de Arduino Uno.
  3. Een Arduino Ethernet-schild.
  4. Een USB-kabel voor het voeden en programmeren van de Arduino.
  5. Een Ethernet-kabel, voor aansluiting op uw netwerkrouter.

Stap 3: Stel AskSensors in

AskSensors vereist het volgende:

  • Maak een gebruikersaccount aan: u kunt er een gratis krijgen (https://asksensors.com)
  • Maak een sensor: een sensor is een communicatiekanaal met een unieke API-sleutel waar AskSensors gebruikersgegevens verzamelt en opslaat.

Elke sensor biedt verschillende modules die de gebruiker afzonderlijk naar hen kan verzenden. De gebruiker kan de verzamelde gegevens van elke module ook in een grafiek visualiseren. AskSensors biedt meerdere keuzes van grafieken, waaronder lijn, staaf, spreiding en meter.

Stap 4: Coderen

Dus op dit moment hebben we een nieuwe Sensor kunnen registreren in het AskSensors-platform. Nu gaan we wat code in de Arduino schrijven voor de verbinding met het platform. Er zijn honderden tutorials over het verbinden van de Arduino met het web via de Ethernet Shields, dus ik ga dit deel niet uitleggen.

Download dit Arduino-schetsvoorbeeld van github. De code gebruikt DHCP en DNS voor de server en zou met enkele wijzigingen meteen moeten werken:

  1. Als u meer dan één Ethernet-shield op een netwerk gebruikt, zorg er dan voor dat elk Ethernet-shield op het netwerk een uniek mac-adres moet hebben.
  2. Wijzig het IP-adres in de schets zodat het overeenkomt met het IP-adresbereik van uw netwerk.
  3. Stel de Api Key In van uw sensor in (gegeven door AskSensors in de vorige stap)
  4. Stel uw dummy-gegevens in.

// MAC

byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Stel het statische IP-adres in dat moet worden gebruikt als de DHCP geen IPAddress ip (192, 168, 1, 177) toewijst; // ASKSENSORS-configuratie. const char* apiKeyIn = "MTWN7AQOLWJNEIF8RGMAW5EGKQFAHN2K"; // Wijzig het met uw API KEY IN // dummy data int dumData = 100; // stel je gegevens in

Stap 5: Programmeren

Programmeren
Programmeren
  1. Sluit het Ethernet-schild aan op het Arduino Uno-bord.
  2. Verbind de Ethernet-shield met uw router/netwerk via de Ethernet-kabel.
  3. Verbind de Arduino met de computer via de USB-kabel. De twee kaarten worden via de USB-kabel van stroom voorzien.
  4. Open je code in Arduino IDE, selecteer het juiste Arduino-bord en de COM-poort. Upload vervolgens de code naar uw Arduino-bord. zorg ervoor dat de code succesvol is geüpload.

Stap 6: De code uitvoeren

  • Reset: U kunt de resetknop op het schild gebruiken om zowel de Ethernet-controller als het Arduino-bord te resetten.
  • Voer de code uit: Open na het resetten / opstarten een seriële terminal, u zou de Arduino de programmastatus moeten zien afdrukken: de Arduino maakt verbinding met het netwerk (duurt enkele seconden) en verzendt vervolgens de dummy-gegevens naar de AskSensors via
  • Reactie van de server: Na ontvangst van het verzoek om gegevens naar de specifieke Sensor van de client te schrijven, stuurt de server eerst een HTTP-antwoord met het aantal modules dat met succes is bijgewerkt ('1' in ons geval).

Stap 7: Gegevens visualiseren

Gegevens visualiseren
Gegevens visualiseren

Nu uw gegevens goed worden gepubliceerd in de AskSensors-cloud. U kunt deze gegevens in een grafiek bekijken of exporteren naar een CSV-bestand.

Elke sensor heeft zijn eigen dashboard waarmee momenteel de status in realtime kan worden gecontroleerd (laatste updatedatum, verbindingsstatus …).

Klik op uw Sensor in de lijst, stel een grafiek in op uw module (Module 1). De afbeelding hierboven toont een voorbeeld van weergave met het type metergrafiek.

Stap 8: Goed gedaan

Bedankt voor het lezen. meer tutorials vind je hier.

Als je vragen hebt, word dan lid van de AskSensors-community!

Aanbevolen: