Innehållsförteckning:
- Steg 1: Komponenter som används i projektet
- Steg 2: Kretsdesign
- Steg 3: Ladda upp kod till NodeMCU Kit med ESPlorer
- Steg 4: Konfigurera sensorhubben
- Steg 5: Anpassa konfigurationen
- Steg 6: Tillägg av sensorer till Hub och PubNub
- Steg 7: Initiera datainsamling och skicka till PubNub
- Steg 8: Enkel HTML -sida för realtidsvisning av data från PubNub
- Steg 9: Felsökning och vanliga frågor
Video: IoT -aktiverat sensordatainsamlingscenter med ESP8266 och PubNub: 9 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
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
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
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
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
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
- Ladda upp den modifierade.lua -filen … till exempel ap.lua -filen
- Skicka kommandot "node.compile (ap.lua)" genom att klicka på skicka -knappen längst ner i ESPlorer
- Nu är dina lua -filer sammanställda och nya.lc -filer kommer att genereras
Steg 6: 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
- 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
- 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)
- 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
- Ladda upp den modifierade.lua -filen … till exempel ap.lua -filen
- Skicka kommandot "node.compile (ap.lua)" genom att klicka på skicka -knappen längst ner i ESPlorer
- Nu är dina lua -filer sammanställda och nya.lc -filer kommer att genereras
Steg 7: Initiera datainsamling och skicka 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
Ö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:
DHT -övervakning av temperatur och luftfuktighet med hjälp av ESP8266 och AskSensors IoT -plattform: 8 steg
DHT -övervakning av temperatur och luftfuktighet med hjälp av ESP8266 och AskSensors IoT -plattform: I en tidigare instruktion presenterade jag en steg -för -steg -guide för att komma igång med ESP8266 -nodenMCU och AskSensors IoT -plattform. I den här självstudien ansluter jag en DHT11 -sensor till noden MCU. DHT11 är en vanlig temperatur och fukt
Persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: 5 steg (med bilder)
Kontroll av persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: I den här instruktionsboken visar jag dig hur jag lade automatisering till mina persienner. Jag ville kunna lägga till och ta bort automatiseringen, så all installation är klämd på. Huvuddelarna är: Stegmotor Stegdrivrutinstyrd vid ESP-01 Växel och montering
Växtövervakning och varningar med ESP8266 och AskSensors IoT Cloud: 6 steg
Växtövervakning och varningar med ESP8266 och AskSensors IoT Cloud: Detta projekt syftar till att bygga ett smart anläggningsövervakningssystem med hjälp av ESP8266 och AskSensors IoT -plattform. Detta system kan användas för att hålla koll på markens fuktnivå för att ge objektiva kriterier för bevattningsbeslut. som hjälper till att säkerställa bevattning
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid