IoT - ThingSpeak - ESP32-Long-Range-Wireless-Vibration-And-Temp - Ajarnpa
IoT - ThingSpeak - ESP32-Long-Range-Wireless-Vibration-And-Temp - Ajarnpa
Anonim
IoT - ThingSpeak - ESP32-Long-Range-Wireless-Vibration-And-Temp
IoT - ThingSpeak - ESP32-Long-Range-Wireless-Vibration-And-Temp

In dit project zullen we trillingen en temperatuur meten met behulp van NCD-trillings- en temperatuursensoren, Esp32, ThingSpeak

Trilling is echt een heen en weer beweging - of oscillatie - van machines en componenten in gemotoriseerde gadgets. Trillingen in het industriële systeem kunnen een symptoom of motief zijn van een probleem, of het kan worden geassocieerd met de dagelijkse werking. Zo zijn bijvoorbeeld oscillerende schuurmachines en vibrerende tuimelaars afhankelijk van trillingen. Verbrandingsmotoren en gereedschappen rijden, dan weer, genieten van een zekere hoeveelheid onvermijdelijke trillingen. Trillingen kunnen lastig zijn en als er niets aan wordt gedaan, kan dit schade of versnelde achteruitgang veroorzaken. Trillingen kunnen het gevolg zijn van een of extra factoren op een bepaald moment, met als niet ongebruikelijke onbalans, verkeerde uitlijning, aantrekken en loszitten. Deze schade kan tot een minimum worden beperkt door temperatuur- en trillingsgegevens op ThingSpeak te analyseren met behulp van esp32 en NCD draadloze trillings- en temperatuursensoren.

Stap 1: Vereiste hardware en software

Vereiste hardware en software
Vereiste hardware en software
Vereiste hardware en software
Vereiste hardware en software

Benodigde hardware:

  • ESP-32: De ESP32 maakt het gemakkelijk om de Arduino IDE en de Arduino Wire Language te gebruiken voor IoT-toepassingen. Deze ESP32 IoT-module combineert Wi-Fi, Bluetooth en Bluetooth BLE voor een groot aantal uiteenlopende toepassingen. Deze module is volledig uitgerust met 2 CPU-cores die afzonderlijk kunnen worden aangestuurd en gevoed, en met een instelbare klokfrequentie van 80 MHz tot 240 MHz. Deze ESP32 IoT WiFi BLE-module met geïntegreerde USB is ontworpen om in alle ncd.io IoT-producten te passen.
  • IoT lange afstand draadloze trillings- en temperatuursensor: IoT lange afstand draadloze trillings- en temperatuursensor werken op batterijen en zijn draadloos, wat betekent dat er niet aan stroom- of communicatiedraden hoeft te worden getrokken om hem op te starten en te laten werken. Het volgt de trillingsinformatie van uw machine constant en registreert en bedrijfsuren in volledige resolutie samen met andere temperatuurparameters. Hierbij gebruiken we NCD's Long Range IoT Industrial draadloze vibratie- en temperatuursensor, met een bereik tot 2 mijl met behulp van een draadloze mesh-netwerkarchitectuur.
  • Langeafstands draadloos mesh-modem met USB-interface

Gebruikte software:

  • Arduino IDE
  • ThigSpeak

Bibliotheek gebruikt

  • PubSubClient
  • Draad.h

Arduino Client voor MQTT

  • Deze bibliotheek biedt een client voor het doen van eenvoudige berichten voor publiceren/abonneren met een server die MQTT ondersteunt
  • Ga voor meer informatie over MQTT naar mqtt.org.

Downloaden

De nieuwste versie van de bibliotheek kan worden gedownload van GitHub

Documentatie

De bibliotheek wordt geleverd met een aantal voorbeeldschetsen. Zie Bestand > Voorbeelden > PubSubClient in de Arduino-toepassing. Volledige API-documentatie

Compatibele hardware

De bibliotheek gebruikt de Arduino Ethernet Client API voor interactie met de onderliggende netwerkhardware. Dit betekent dat het gewoon werkt met een groeiend aantal boards en schilden, waaronder:

  1. Arduino Ethernet
  2. Arduino Ethernet-schild
  3. Arduino YUN - gebruik de meegeleverde YunClient in plaats van EthernetClient, en zorg ervoor dat u eerst een Bridge.begin() doet
  4. Arduino WiFi Shield - als u pakketten van meer dan 90 bytes met dit schild wilt verzenden, schakelt u de optie MQTT_MAX_TRANSFER_SIZE in PubSubClient.h in.
  5. Sparkfun WiFly Shield - bij gebruik met deze bibliotheek.
  6. Intel Galileo/Edison
  7. ESP8266
  8. ESP32: De bibliotheek kan momenteel niet worden gebruikt met hardware op basis van de ENC28J60-chip - zoals de Nanode of het Nuelectronics Ethernet Shield. Voor hen is er een alternatieve bibliotheek beschikbaar.

Draadbibliotheek

Met de Wire-bibliotheek kunt u communiceren met I2C-apparaten, vaak ook "2 wire" of "TWI" (Two Wire Interface) genoemd, die kunnen worden gedownload van Wire.h.

Stap 2: Stappen om gegevens naar Labview-trillings- en temperatuurplatform te verzenden met behulp van IoT lange afstand draadloze trillings- en temperatuursensor en lange afstand draadloze mesh-modem met USB-interface-

  • Ten eerste hebben we een Labview-hulpprogramma nodig, namelijk het bestand ncd.io Wireless Vibration and Temperature Sensor.exe waarop gegevens kunnen worden bekeken.
  • Deze Labview-software werkt alleen met de ncd.io draadloze vibratietemperatuursensor
  • Om deze gebruikersinterface te gebruiken, moet u de volgende stuurprogramma's installeren Installeer de runtime-engine vanaf hier 64bit
  • 32 bits
  • Installeer NI Visa-stuurprogramma
  • Installeer LabVIEW Runtime Engine en NI-Serial Runtime.
  • Aan de slag-gids voor dit product.

Stap 3: De code uploaden naar ESP32 met behulp van Arduino IDE:

Aangezien esp32 een belangrijk onderdeel is om uw trillings- en temperatuurgegevens naar ThingSpeak te publiceren.

  • Download en voeg de PubSubClient-bibliotheek en de Wire.h-bibliotheek toe.
  • Download en voeg WiFiMulti.h en HardwareSerial.h Library toe.

#erbij betrekken

#include #include #include #include

U moet uw unieke API-sleutel toewijzen die wordt verstrekt door ThingSpeak, SSID (WiFi-naam) en wachtwoord van het beschikbare netwerk

const char* ssid = "Yourssid"; // Uw SSID (naam van uw wifi)

const char* wachtwoord = "Wifipass"; //Uw wifi-wachtwoordconst char* host = "api.thingspeak.com"; String api_key = "APIKEY"; // Uw API-sleutel geleverd door thingspeak

Definieer de variabele waarop de gegevens worden opgeslagen als een string en stuur deze naar ThingSpeak

int-waarde;int Temp; int Rms_x; int Rms_y; int Rms_z;

Code om gegevens naar ThingSpeak te publiceren:

String data_to_send = api_key;

data_to_send += "&field1="; data_to_send += String (Rms_x); data_to_send += "&field2="; data_to_send += String (Temp); data_to_send += "&field3="; data_to_send += String (Rms_y); data_to_send += "&field4="; data_to_send += String (Rms_z); data_to_send += "\r\n\r\n";client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Verbinding: sluiten\n"); client.print("X-THINGSPEAKAPIKEY: " + api_key + "\n"); client.print("Inhoudstype: applicatie/x-www-form-urlencoded\n"); client.print ("Inhoudslengte: "); client.print(data_to_send.length()); cliënt.print("\n\n"); client.print(data_naar_verzenden);

  • Compileer en upload de Esp32-Thingpeak.ino
  • Open de seriële monitor om de connectiviteit van het apparaat en de verzonden gegevens te controleren. Als er geen reactie wordt gezien, probeert u uw ESP32 los te koppelen en vervolgens weer aan te sluiten. Zorg ervoor dat de baudrate van de seriële monitor is ingesteld op dezelfde als gespecificeerd in uw code 115200.

Stap 4: Seriële monitoruitgang:

Seriële monitoruitgang
Seriële monitoruitgang

Stap 5: Het ThingSpeak laten werken:

Het dingSpeak laten werken
Het dingSpeak laten werken
Het dingSpeak laten werken
Het dingSpeak laten werken
Het dingSpeak laten werken
Het dingSpeak laten werken
  • Maak het account aan op ThigSpeak.
  • Maak een nieuw kanaal aan door op Kanalen te klikken.
  • Klik op Mijn kanalen.
  • Klik op Nieuw kanaal.
  • Geef het kanaal een naam in Nieuw kanaal.
  • Geef het veld een naam binnen het kanaal. Veld is de variabele waarin de gegevens worden gepubliceerd.
  • Sla nu het kanaal op.
  • Nu kunt u uw API-sleutels vinden op het dashboard. Ga naar de kraan op de startpagina en zoek uw 'Write API Key' die moet worden bijgewerkt voordat u de code naar ESP32 uploadt.
  • Nadat het kanaal is gemaakt, kunt u uw temperatuur- en trillingsgegevens in privéweergave bekijken met velden die u in het kanaal hebt gemaakt.
  • Om een grafiek tussen verschillende trillingsgegevens te plotten, kunt u MATLAB-visualisatie gebruiken.
  • Ga hiervoor naar App, klik op MATLAB Visualization.
  • Binnenin selecteert u Aangepast, hierin hebben we geselecteerd om 2D-lijnplots te maken met y-assen aan zowel de linker- als de rechterkant. Klik nu op maken.
  • MATLAB-code wordt automatisch gegenereerd terwijl u visualisatie maakt, maar u moet de veld-ID bewerken, kanaal-ID lezen, en de volgende afbeelding controleren.
  • Sla de code vervolgens op en voer deze uit.
  • Je zou de plot zien.

Aanbevolen: