Innehållsförteckning:

IoT -aktiverat sensordatainsamlingscenter med ESP8266 och PubNub: 9 steg (med bilder)
IoT -aktiverat sensordatainsamlingscenter med ESP8266 och PubNub: 9 steg (med bilder)

Video: IoT -aktiverat sensordatainsamlingscenter med ESP8266 och PubNub: 9 steg (med bilder)

Video: IoT -aktiverat sensordatainsamlingscenter med ESP8266 och PubNub: 9 steg (med bilder)
Video: Android Arduino ESP8266 КАТО ThingSpeak Устройства управления 2024, November
Anonim
IoT -aktiverat sensordatainsamlingscenter med ESP8266 & PubNub
IoT -aktiverat sensordatainsamlingscenter med ESP8266 & PubNub
IoT -aktiverat sensordatainsamlingscenter med ESP8266 & PubNub
IoT -aktiverat sensordatainsamlingscenter med ESP8266 & PubNub

De flesta självstudierna på ESP8266 är antingen på nybörjarnivå (fjärrblinkar en LED) eller för komplexa för någon som letar efter något att förbättra och uppgradera efter sina LED -blinkande färdigheter. Detta instruerbara syfte är att överbrygga detta gap för att skapa ett sensorhub med ESP8266 och publicera den insamlade informationen på PubNub. Huvudsyftet/målet är att minimera den tid människor lägger på att bygga hårdvaran och istället fokusera sin tid på dataanalys och visualisering med den insamlade data.

För personer som inte är bekanta med ESP8266/NodeMCU föreslår vi att du får en grundläggande förståelse för hur man blinkar och programmerar via ESPLORER. Det finns många självstudier/instruktioner som erbjuder detta som Get-Started-with-ESP8266-Using-AT -Commands-NodeMCU.

I slutet av denna instruerbara kommer du att kunna bygga din egen hubb för sensordatainsamling och en grundläggande realtidsgrafvisualisering med hjälp av PubNub

Välkommen till ESP8266 -NodeMCU -lektion - 102 !!

Steg 1: Komponenter som används i projektet

Komponenter som används i projektet
Komponenter som används i projektet

Följande komponenter krävs för att slutföra projektet

  • Ett ESP8266 -kort. Kortet som används för denna instruerbara är NodeMCU devKit v1.0 (infoga modul 143 länk här)
  • Varje sensor vars data måste samlas in och loggas. Här används en enkel potentiometer som en analog sensor
  • En skjutreglage
  • En mikro till USB (typ hane) -kabel för att ladda upp koden till NodeMCU devKit v1.0 och driva enheten
  • 2 lysdioder för lägesindikator
  • Några manliga till manliga kablar och brödbräda
  • Ett PubNub -konto med publiceringsnyckel, prenumerationsnyckel och en kanal

Ladda ner nedanstående filer. Om du inte vill ändra någonting och bara behöver det för att fungera ladda ner den förkompilerade versionen (sätt in den kompilerade versionen zip-mapp här). Om du vill förstå hur det fungerar och vill få dina händer smutsiga då kan du också ladda ner huvudkällkoden (infoga källkodversion här)

Steg 2: Kretsdesign

Om du har köpt (infoga länk till slutprodukten här) kan du hoppa över det här steget

Steg 3: Ladda upp kod till NodeMCU Kit med ESPlorer

Överför kod till NodeMCU -kit med ESPlorer
Överför kod till NodeMCU -kit med ESPlorer
Överför kod till NodeMCU -kit med ESPlorer
Överför kod till NodeMCU -kit med ESPlorer

När du har öppnat ESPlorer -programmet kommer den första skärmen att se ut som den första bilden. Välj COM -porten från rullgardinsmenyn högst upp. Om COM -port inte visas även när enheten är ansluten är det bara att öppna appen igen.

Nu finns det två sätt att gå vidare och slutföra detta instruerbara

Avsluta sensornavets hårdvarudel så snart som möjligt och fortsätt att spela med data

Förstå hur NodeMCU och lua script fungerar och anpassa efter dina behov

om (alternativ == 1)

Ladda upp alla förkompilerade filer (.lc-filer) och gå vidare till nästa steg

annars om (alternativ == 2)

Öppna bara källkodfilerna (.lua) i ESPlorer och börja spela med koden. Gå till steg 5 för beskrivning

Steg 4: Konfigurera sensorhubben

Konfigurera sensorhubben
Konfigurera sensorhubben
Konfigurera sensorhubben
Konfigurera sensorhubben

Skjut nu omkopplaren mot konfigurationsläge och starta om modulen. Indikatorlampan för konfigurationsläge ska lysa.

Som visas i den första bilden och det trådlösa nätverket med namnet "configMode" kommer att skapas och visas. Anslut till det nätverket med lösenordet som "password1234" från vilken dator, lapotop eller mobil som helst.

Öppna valfri bläddring och ange följande webbadress

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

Ersätt parametrarna i citattecken med dina egna wifi (med internetåtkomst) användarnamn lösenord och PubNub -nycklar. Den sista webbadressen ska vara ungefär som nedan

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

Om sensorhubben är korrekt konfigurerad, släcks lysdioden för konfigurationsläge och datalägeslampan slås på och det "configMode" trådlösa nätverket försvinner. Om du vill förstå hur detta fungerar eller vill ändra några parametrar, kolla in nästa steg, hoppa till steg 8

Steg 5: Anpassa konfigurationen

Anpassa konfigurationen
Anpassa konfigurationen

Så vad som händer är att ESP8266 fungerar som en router och skapar ett trådlöst nätverk med den angivna ssid, användarnamn och ip -adress som du kan ansluta till. Konfigurationen görs genom att ange parametrarna i formatet nedan och slå på nedanstående url från valfri webbläsare alla enheter som är anslutna till det konfigurerade trådlösa nätverket.

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

Öppna ap.lua -filen i ESPlorer. Detta skript ansvarar för den initiala konfigurationen av sensorhubben. Den genererar två filer baserat på data som ges av användaren

  • station.lua (innehåller nätverkssid och lösenord som har internetåtkomst för att posta data)
  • api_file.lua (innehåller PubNub -nycklarna, kanalnamn med sensornamnen)

Så här anpassar du ip -adress:

IP: n kan ställas in på vilken vaild -adress som helst som bör ändras i url. Standardadressen kommer att vara "192.168.4.1". Som det syns i den första bilden är de tre första raderna ansvariga för att ställa in ip -adressen och gatewayen. Du kan kontrollera om adressen är korrekt genom att skicka kommandot "= wifi.sta.getip ()"

För att anpassa ssid -namn

Nästa uppsättning kod i samma bild är ansvarig för inställningen av ssid och lösenord för det trådlösa nätverket.

Kom ihåg att om du har gjort någon ändring i.lua -filen måste du kompilera dem för att ändringarna ska återspeglas efter omstart

  1. Ladda upp den modifierade.lua -filen … till exempel ap.lua -filen
  2. Skicka kommandot "node.compile (ap.lua)" genom att klicka på skicka -knappen längst ner i ESPlorer
  3. Nu är dina lua -filer sammanställda och nya.lc -filer kommer att genereras

Steg 6: Tillägg av sensorer till Hub och PubNub

Tillägg av sensorer till Hub och PubNub
Tillägg av sensorer till Hub och PubNub
Tillägg av sensorer till Hub och PubNub
Tillägg av sensorer till Hub och PubNub

För att lägga till mer sensor

Som standard skickar koden endast en sensordata som är ansluten till analog pin 0. Du kan lägga till fler sensorer för att skicka data samtidigt. Följ stegen nedan

  1. Lägg till sensornamnet i webbadressen med fet stil. Så nu kommer webbadressen att vara som nedan https://192.168.4.1/? Username = '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. Motsvarande namn bör läggas till i ap.lua -filen som visas i bild 1sensorTwo = _GET.sensorTwoName print (sensorTwo). (Detta är bara för att visa och kontrollera data)
  3. Det sista steget är att lägga till den i api_file generation del i slutet som visas i bild 2 {"eon": {"'..sensorOne..'": / '.. adc.read (0).. \', "'..sensorTwo..'": / '.. gpio.read (2).. \'}} Upprepa samma steg för varje tillägg av sensor. Kom ihåg att använda gpio.read (pin#) för digitalt och adc.read (pin#) för analoga till digitala signaler

Kom ihåg att om du har gjort någon ändring i.lua -filen måste du kompilera dem för att ändringarna ska återspeglas efter omstart

  1. Ladda upp den modifierade.lua -filen … till exempel ap.lua -filen
  2. Skicka kommandot "node.compile (ap.lua)" genom att klicka på skicka -knappen längst ner i ESPlorer
  3. Nu är dina lua -filer sammanställda och nya.lc -filer kommer att genereras

Steg 7: Initiera datainsamling och skicka till PubNub

Initierar datainsamling och skickar till PubNub
Initierar datainsamling och skickar till PubNub

När konfigurationen är gjord korrekt kommer datalägesledningen att slås på.

I grund och botten betyder det att sensordata skickas till PubNub baserat på konfigurationsinställningarna som du hade gett i de föregående stegen.

Som standard skickar navet data till PubNub var 5: e sekund. Om du vill konfigurera följande steg

Så här anpassar du datainsamlingsfrekvensen:

  • Öppna main.lua i ESPlorer
  • Gå till raden markerad i bilden
  • Värdet som nämns där bör vara i millisekunder. Det rekommenderas att minst ha ett intervall på 2 sekunder för att undvika förlust av data.
  • Ladda upp main.lua -filen till esp och kompilera filen för att generera.lc -fil
  • Starta om modulen och verifiera

Steg 8: Enkel HTML -sida för realtidsvisning av data från PubNub

Enkel html -sida för visning av data från PubNub i realtid
Enkel html -sida för visning av data från PubNub i realtid
Enkel html -sida för visning av data från PubNub i realtid
Enkel html -sida för visning av data från PubNub i realtid

Öppna Sample.html -filen från de nedladdade filerna. Detta är bara en vanlig html -sida för att se realtidsdiagram över de insamlade data.

Som framgår av bild 1 behöver du bara konfigurera den med dina egna PubNub -nycklar och kanalnamn.

Du kan också lägga till detta på alla webbplatser du utvecklar och skapa ännu mer fantastisk visualisering. Se PunNub EON för mer information.

Steg 9: Felsökning och vanliga frågor

Uppdateras inom kort

Rekommenderad: