Innehållsförteckning:

ThingSpeak, ESP32 och trådlös temp och luftfuktighet för långa avstånd: 5 steg
ThingSpeak, ESP32 och trådlös temp och luftfuktighet för långa avstånd: 5 steg

Video: ThingSpeak, ESP32 och trådlös temp och luftfuktighet för långa avstånd: 5 steg

Video: ThingSpeak, ESP32 och trådlös temp och luftfuktighet för långa avstånd: 5 steg
Video: Time, date, temperature, and humidity in an ESP32 based device 2024, Juli
Anonim
ThingSpeak, ESP32 och trådlös temp och luftfuktighet för långa avstånd
ThingSpeak, ESP32 och trådlös temp och luftfuktighet för långa avstånd

I denna handledning kommer vi att mäta olika temperatur- och luftfuktighetsdata med hjälp av temperatur- och fuktsensor. Du lär dig också hur du skickar dessa data till ThingSpeak. Så att du kan analysera det var som helst för olika applikationer

Steg 1: Hårdvara och programvara krävs

Hårdvara och programvara krävs
Hårdvara och programvara krävs
Hårdvara och programvara krävs
Hårdvara och programvara krävs

Hårdvara:

  • ESP-32: ESP32 gör det enkelt att använda Arduino IDE och Arduino Wire Language för IoT-applikationer. Denna ESp32 IoT-modul kombinerar Wi-Fi, Bluetooth och Bluetooth BLE för en mängd olika applikationer. Denna modul är fullt utrustad med 2 CPU-kärnor som kan styras och drivas individuellt och med en justerbar klockfrekvens på 80 MHz till 240 MHz. Denna ESP32 IoT WiFi BLE -modul med integrerad USB är utformad för att passa i alla ncd.io IoT -produkter. Övervaka sensorer och kontrollreläer, FET, PWM -styrenheter, solenoider, ventiler, motorer och mycket mer från var som helst i världen med hjälp av en webbsida eller en dedikerad server. Vi tillverkade vår egen version av ESP32 för att passa in i NCD IoT -enheter och erbjuder fler expansionsalternativ än någon annan enhet i världen! En integrerad USB -port möjliggör enkel programmering av ESP32. ESP32 IoT WiFi BLE -modulen är en otrolig plattform för utveckling av IoT -applikationer. Denna ESP32 IoT WiFi BLE -modul kan programmeras med Arduino IDE.
  • IoT trådlös temperatur- och luftfuktighetssensor för långa avstånd: Industriell långdistans trådlös temperaturfuktighetssensor. Gradering med en sensorupplösning på ± 1,7%RH ± 0,5 ° C. Upp till 500 000 överföringar från 2 AA -batterier. Mäter -40 ° C till 125 ° C med batterier som överlever dessa betyg. Överlägsen 2-mils LOS-räckvidd och 28 miles med High-Gain-antenner. Gränssnitt till Raspberry Pi, Microsoft Azure, Arduino och mer.
  • Långdistans trådlöst nätmodem med USB-gränssnitt

Programvara som används

  • Arduino IDE
  • ThingSpeak

Bibliotek används

  • PubSubClient Library
  • Wire.h

Arduino -klient för MQTT

Detta bibliotek tillhandahåller en klient för att göra enkla publicerings-/prenumerationsmeddelanden med en server som stöder MQTT

Mer information om MQTT finns på mqtt.org.

Ladda ner

Den senaste versionen av biblioteket kan laddas ner från GitHub

Dokumentation

Biblioteket kommer med ett antal exempelskisser. Se Arkiv> Exempel> PubSubClient i Arduino -applikationen. Fullständig API -dokumentation.

Kompatibel hårdvara

Biblioteket använder Arduino Ethernet Client API för att interagera med den underliggande nätverkshårdvaran. Detta betyder att det bara fungerar med ett växande antal brädor och sköldar, inklusive:

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN - använd den medföljande YunClient istället för EthernetClient och se till att göra en Bridge.begin () först
  • Arduino WiFi Shield - om du vill skicka paket större än 90 byte med denna sköld, aktivera alternativet MQTT_MAX_TRANSFER_SIZE i PubSubClient.h.
  • SparkFun WiFly Shield - när det används med detta bibliotek
  • Intel Galileo/Edison
  • ESP8266
  • ESP32Biblioteket kan för närvarande inte användas med hårdvara baserad på ENC28J60 -chipet - till exempel Nanode eller Nuelectronics Ethernet Shield. För dem finns det ett alternativt bibliotek tillgängligt.

Trådbibliotek

Wire -biblioteket låter dig kommunicera med I2C -enheter, ofta även kallade "2 wire" eller "TWI" (Two Wire Interface), kan laddas ner från Wire.h

Grundläggande användning

  • Wire.begin () Börja använda Wire i huvudläge, där du kommer att initiera och styra dataöverföringar. Detta är den vanligaste användningen vid gränssnitt med de flesta I2C -perifera chips.
  • Wire.begin (adress) Börja använda Wire i slavläge, där du kommer att svara på "adress" när andra I2C -masterchips initierar kommunikation. Överföring
  • Wire.beginTransmission (adress) Starta en ny överföring till en enhet på "adress". Masterläge används.
  • Wire.write (data) Skicka data. I huvudläge måste beginTransmission anropas först.
  • Wire.endTransmission () I huvudläge avslutas överföringen och gör att all buffrad data skickas.

Tar emot

  • Wire.requestFrom (adress, räkna) Läs "räkna" byte från en enhet på "adress". Masterläge används.
  • Wire.available () Returnerar antalet tillgängliga byte genom att ringa mottagning.
  • Wire.read () Få 1 byte.

Steg 2: Ladda upp koden till ESP32 med Arduino IDE

  • Innan du laddar upp koden kan du se hur sensorn fungerar på en given länk.
  • Ladda ner och inkludera PubSubClient -biblioteket och Wire.h -biblioteket.
  • Du måste tilldela din API -nyckel, SSID (WiFi -namn) och lösenord för det tillgängliga nätverket.
  • Kompilera och ladda upp Temp-ThinSpeak.ino-koden.
  • För att verifiera enhetens anslutning och data som skickas, öppna den seriella bildskärmen. Om inget svar visas, försök att koppla ur din ESP32 och sedan ansluta den igen. Se till att överföringshastigheten för seriell bildskärm är inställd på samma som anges i koden 115200.

Steg 3: Seriell bildskärmsutmatning

Seriell bildskärmsutgång
Seriell bildskärmsutgång

Steg 4: Få ThingSpeak att fungera

Få ThingSpeak att fungera
Få ThingSpeak att fungera
Få ThingSpeak att fungera
Få ThingSpeak att fungera
Få ThingSpeak att fungera
Få ThingSpeak att fungera
  • Skapa kontot på ThnigSpeak.
  • Skapa en ny kanal genom att klicka på Kanaler.
  • Klicka på Mina kanaler.
  • Klicka på Ny kanal.
  • Inuti New Channel, namnge kanalen.
  • Namnge fältet inuti kanalen, fältet är variabeln där data publiceras.
  • Spara nu kanalen.
  • Nu kan du hitta dina API -nycklar på instrumentpanelen. Gå till kranen på hemsidan och hitta din 'Skriv Api -nyckel' som måste uppdateras innan du laddar upp koden till ESP32.
  • När kanalen väl skapats skulle du kunna se dina temperatur- och luftfuktighetsdata i privat vy med fält som du skapade inuti kanalen.
  • För att plotta en graf mellan temp- och luftfuktighetsdata kan du använda MATLAB -visualisering.
  • För att gå till appen, klicka på MATLAB -visualisering.
  • Inuti väljer det Custom, i detta har vi valt plottemperatur och vindhastighet på två olika y-axlar 8 som ett exempel. Klicka nu på skapa.
  • MATLAB -koden genereras automatiskt när du skapar visualisering men du måste redigera fält -ID, läsa kanal -id, kan kontrollera följande figur.
  • Spara sedan och kör koden.
  • Du skulle se handlingen.

Rekommenderad: