Indholdsfortegnelse:

IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub: 9 trin (med billeder)
IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub: 9 trin (med billeder)

Video: IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub: 9 trin (med billeder)

Video: IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub: 9 trin (med billeder)
Video: Automated Garden watering with Raspberry Pi and OpenSprinkler. 2024, November
Anonim
IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub
IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub
IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub
IoT -aktiveret sensordataindsamlingscenter med ESP8266 og PubNub

De fleste af tutorials på ESP8266 er enten på newbie -niveau (eksternt blinkende en LED) eller for komplekse for nogen, der leder efter noget at forbedre og opgradere efter sine led -blinkende færdigheder. Dette instruerbare formål har til formål at bygge bro over dette hul for at skabe et sensorhub ved hjælp af ESP8266 og poste de indsamlede data til PubNub. Hovedformålet/målet er at minimere den tid, folk bruger på at bygge hardware og i stedet fokusere deres tid på dataanalyse og visualisering med de indsamlede data.

For folk, der ikke kender ESP8266/NodeMCU, foreslår vi, at du får en grundlæggende forståelse for, hvordan man blinker og programmerer via ESPLORER. Der er mange tutorials/instruktiver, der tilbyder dette som Kom i gang-med-ESP8266-Brug-AT -Commands-NodeMCU.

I slutningen af denne instruktive vil du være i stand til at opbygge din egen hub for sensordataindsamling og en grundlæggende grafisk visualisering i realtid ved hjælp af PubNub

Velkommen til ESP8266 -NodeMCU -lektion - 102 !!

Trin 1: Komponenter, der bruges i projektet

Komponenter, der bruges i projektet
Komponenter, der bruges i projektet

Følgende komponenter kræves for at fuldføre projektet

  • Et ESP8266 -kort. Det kort, der bruges til denne instruerbare, er NodeMCU devKit v1.0 (indsæt modul 143 link her)
  • Enhver sensor, hvis data skal indsamles og logges. Her bruges et simpelt potentiometer som en analog sensor
  • En skydekontakt
  • Et mikro til USB (type han) kabel for at uploade koden til NodeMCU devKit v1.0 og drive enheden
  • 2 LED'er til tilstandsindikator
  • Nogle han- til han -kabler og brødbræt
  • En PubNub -konto med publiceringsnøgle, abonnementsnøgle og en kanal

Download nedenstående filer. Hvis du ikke vil ændre noget og bare har brug for det til at fungere, skal du downloade den forhåndskompilerede version (indsæt den kompilerede version zip-mappe her). Hvis du vil forstå, hvordan det fungerer og vil gøre dine hænder beskidte så kan du også downloade hovedkildekoden (indsæt kildekodeversion her)

Trin 2: Kredsløbsdesign

Hvis du har købt (indsæt link til det endelige produkt her), kan du springe dette trin over

Trin 3: Upload kode til NodeMCU Kit ved hjælp af ESPlorer

Upload kode til NodeMCU Kit ved hjælp af ESPlorer
Upload kode til NodeMCU Kit ved hjælp af ESPlorer
Upload kode til NodeMCU Kit ved hjælp af ESPlorer
Upload kode til NodeMCU Kit ved hjælp af ESPlorer

Når du har åbnet ESPlorer -applikationen, vil startskærmen ligne det første billede. Vælg COM -porten fra rullemenuen øverst. Hvis COM -port ikke vises, selv når enheden er tilsluttet, skal du bare åbne appen igen.

Nu er der to måder, du kan gå videre og fuldføre dette instruerbare

Afslut sensorhub -hardwaredelen så hurtigt som muligt, og fortsæt med at lege med dataene

Forstå, hvordan NodeMCU og lua script fungerer, og tilpas efter dit behov

hvis (option == 1)

Upload alle forhåndskompilerede filer (.lc-filer) og gå videre til næste trin

ellers hvis (option == 2)

Bare åbn kildekodefilerne (.lua) i ESPlorer, og begynd at lege med koden. Gå til trin 5 for at få en beskrivelse

Trin 4: Konfiguration af sensorhub

Konfiguration af sensorhub
Konfiguration af sensorhub
Konfiguration af sensorhub
Konfiguration af sensorhub

Skub nu kontakten mod konfigurationstilstand, og genstart modulet. Konfig modeindikator -LED skal lyse.

Som vist i første billede og trådløse netværk med navnet "configMode" vil blive oprettet og synlig. Forbind til dette netværk med adgangskoden som "password1234" fra enhver computer, lapotop eller mobil.

Åbn enhver browse, og indtast følgende url

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Udskift parametrene i anførselstegn med dine egne wifi (med internetadgang) brugernavn -adgangskodeværdier og PubNub -nøgler. Den sidste url skal være sådan som nedenfor

192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&sensorOneName=sensor1&check=1

Hvis sensorhuben er korrekt konfigureret, slukker lyset i konfigurationstilstanden, og datatilstandslys tændes, og det "configMode" trådløse netværk forsvinder. Hvis du vil forstå, hvordan dette fungerer, eller hvis du vil ændre nogle parametre, skal du gå til næste trin, og gå derefter til trin 8

Trin 5: Tilpasning af konfigurationen

Tilpasning af konfigurationen
Tilpasning af konfigurationen

Så hvad der sker, er, at ESP8266 fungerer som en router og opretter et trådløst netværk med den givne ssid, brugernavn og ip -adresse, som du kan oprette forbindelse til. Konfigurationen udføres ved at indtaste parametrene i formatet nedenfor og trykke på nedenstående url fra en hvilken som helst browser af enhver enhed, der er tilsluttet det konfigurerede trådløse netværk.

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Åbn ap.lua -fil i ESPlorer. Dette script er ansvarlig for den første konfiguration af sensorhubben. Det genererer to filer baseret på de data, der er givet af brugeren

  • station.lua (indeholder netværkssid og adgangskode, som har internetadgang til at sende dataene)
  • api_file.lua (indeholder PubNub -nøgler, kanalnavn med sensornavne)

For at tilpasse ip -adresse:

IP'en kan indstilles til en hvilken som helst vaild -adresse, som skal ændres i url. Standardadressen vil være "192.168.4.1". Som det ses på det første billede, er de første 3 linjer ansvarlige for at indstille ip -adressen og gatewayen. Du kan kontrollere hvis adressen er korrekt ved at sende "= wifi.sta.getip ()" kommando

For at tilpasse ssid -navn

Det næste sæt kode i det samme billede er ansvarligt for indstilling af ssid og adgangskode til det trådløse netværk.

Husk, at hvis du har foretaget nogen ændringer i.lua -filen, skal du kompilere dem, så ændringerne afspejles efter genstart

  1. Upload den ændrede.lua -fil..for eksempel ap.lua -fil
  2. Send kommandoen "node.compile (ap.lua)" ved at klikke på send -knappen i bunden af ESPlorer
  3. Nu er dine lua -filer samlet, og der vil blive genereret nye.lc -filer

Trin 6: Tilføjelse af sensorer til Hub og PubNub

Tilføjelse af sensorer til Hub og PubNub
Tilføjelse af sensorer til Hub og PubNub
Tilføjelse af sensorer til Hub og PubNub
Tilføjelse af sensorer til Hub og PubNub

For at tilføje mere sensor

Som standard sender koden kun én sensordata, der er forbundet til analog pin 0. Du kan tilføje flere sensorer til at sende data samtidigt. Følg nedenstående trin

  1. Tilføj sensornavnet i webadressen som vist med fed skrift. Så nu vil url være som nedenforhttps://192.168.4.1/? Brugernavn = 'wifi_network_name' & pwd = 'password' & apipubkey = 'publish_key' & apisubkey = 'subscribe_key' & channel = ' Channel_name '& sensorOneName =' Sensor_1_name '& sensorTwoName =' Sensor_2_name '& check = 1
  2. Det tilsvarende navn skal tilføjes til ap.lua -fil som vist på billede 1sensorTwo = _GET.sensorTwoName print (sensorTwo). (Dette er bare for at se og kontrollere dataene)
  3. Det sidste trin er at tilføje det til api_file generation del i slutningen som vist på billede 2 {"eon": {"'..sensorOne..'": / '.. adc.read (0).. \', "'..sensorTwo..'": / '.. gpio.read (2).. \'}} Gentag det samme trin for hver tilføjelse af sensor. Husk at bruge gpio.read (pin#) til digital og adc.read (pin#) til analoge til digitale signaler

Husk, at hvis du har foretaget nogen ændringer i.lua -filen, skal du kompilere dem, så ændringerne afspejles efter genstart

  1. Upload den ændrede.lua -fil..for eksempel ap.lua -fil
  2. Send kommandoen "node.compile (ap.lua)" ved at klikke på send -knappen i bunden af ESPlorer
  3. Nu er dine lua -filer samlet, og der vil blive genereret nye.lc -filer

Trin 7: Initialisering af dataindsamling og afsendelse til PubNub

Initialiserer dataindsamling og sender til PubNub
Initialiserer dataindsamling og sender til PubNub

Når konfigurationen er udført korrekt, tændes datatilstands -LED'en.

Grundlæggende betyder det, at sensordataene sendes til PubNub baseret på de konfigurationsindstillinger, du havde givet i de foregående trin.

Som standard sender hubben data til PubNub hvert 5. sekund. Hvis du vil konfigurere det, skal du følge nedenstående trin

Sådan tilpasser du dataindsamlingens frekvens:

  • Åbn main.lua i ESPlorer
  • Gå til den linje, der er fremhævet i billedet
  • Den der nævnte værdi skal være i millisekunder. Det tilrådes mindst at have et interval på 2 sekunder for at undgå tab af data.
  • Upload main.lua -filen til esp, og kompilér filen for at generere.lc -fil
  • Genstart modulet, og kontroller

Trin 8: Enkel html -side til visning af data i realtid fra PubNub

Enkel HTML -side til visning af data i realtid fra PubNub
Enkel HTML -side til visning af data i realtid fra PubNub
Enkel HTML -side til visning af data i realtid fra PubNub
Enkel HTML -side til visning af data i realtid fra PubNub

Åbn Sample.html -filen fra de downloadede filer. Dette er bare en almindelig html -side for at se en graf i realtid over de indsamlede data.

Som det ses på billede 1, skal du bare konfigurere det med dine egne PubNub -nøgler og kanalnavn.

Du kan også tilføje dette til ethvert websted, du udvikler, og skabe endnu mere fantastisk visualisering. Se PunNub EON for mere information.

Trin 9: Fejlfinding og ofte stillede spørgsmål

Opdateres snart

Anbefalede: