Inhoudsopgave:
- Stap 1: Componenten die in het project worden gebruikt
- Stap 2: Circuitontwerp
- Stap 3: Code uploaden naar NodeMCU Kit met ESPlorer
- Stap 4: De sensorhub configureren
- Stap 5: De configuratie aanpassen
- Stap 6: Toevoeging van sensoren aan de Hub en PubNub
- Stap 7: Gegevensverzameling initialiseren en naar PubNub verzenden
- Stap 8: Eenvoudige HTML-pagina voor realtime weergave van gegevens van PubNub
- Stap 9: Problemen oplossen en veelgestelde vragen
Video: IoT-enabled sensorgegevensverzamelingscentrum met ESP8266 en PubNub - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
De meeste tutorials over ESP8266 zijn ofwel op het newbie-niveau (op afstand knipperend een led) of te complex voor iemand die op zoek is naar iets om zijn led-knippervaardigheden te verbeteren en te upgraden. Deze instructable heeft tot doel deze kloof te overbruggen om een sensorhub te creëren met behulp van ESP8266 en post de verzamelde gegevens naar PubNub. Het belangrijkste doel/doel is om de tijd die mensen besteden aan het bouwen van de hardware te minimaliseren en in plaats daarvan hun tijd te besteden aan data-analyse en visualisatie met de verzamelde data.
Voor mensen die niet bekend zijn met ESP8266/NodeMCU, raden we je aan om een basiskennis te krijgen van hoe te flashen en programmeren via ESPLORER. Er zijn veel tutorials/instructables die dit aanbieden, zoals Get-Started-with-ESP8266-Using-AT -Commando's-NodeMCU.
Aan het einde van deze instructable kun je je eigen sensorgegevensverzamelingshub en een eenvoudige realtime grafiekvisualisatie bouwen met behulp van PubNub
Welkom bij ESP8266-NodeMCU-les - 102!!
Stap 1: Componenten die in het project worden gebruikt
De volgende componenten zijn vereist om het project te voltooien:
- Een ESP8266-bord. Het bord dat voor deze instructable wordt gebruikt, is NodeMCU devKit v1.0 (voeg module 143-link hier in)
- Elke sensor waarvan de gegevens moeten worden verzameld en geregistreerd. Hier wordt een eenvoudige potentiometer gebruikt als een analoge sensor
- Een schuifschakelaar
- Een micro-naar-USB-kabel (type mannelijk) om de code te uploaden naar NodeMCU devKit v1.0 en het apparaat van stroom te voorzien
- 2 led's voor modusindicator
- Sommige mannelijke naar mannelijke kabels en breadboard
-
Een PubNub-account met publicatiesleutel, abonneersleutel en een kanaal
Download de onderstaande bestanden. Als je niets wilt veranderen en het gewoon nodig hebt om te werken, download dan de voorgecompileerde versie (voeg hier de gecompileerde versie zip-map in). Als je wilt begrijpen hoe het werkt en je handen vuil wilt maken dan kunt u ook de hoofdbroncode downloaden (vul hier de broncodeversie in)
Stap 2: Circuitontwerp
Als je hebt gekocht (vul hier de link van het eindproduct in), dan kun je deze stap overslaan
Stap 3: Code uploaden naar NodeMCU Kit met ESPlorer
Zodra u de ESPlorer-toepassing opent, ziet het beginscherm eruit als de eerste afbeelding. Selecteer de COM-poort in de vervolgkeuzelijst bovenaan. Als de COM-poort niet wordt weergegeven, zelfs niet wanneer het apparaat is aangesloten, opent u de toepassing gewoon opnieuw.
Er zijn nu twee manieren waarop u door kunt gaan en deze instructable kunt voltooien
Voltooi het hardwaregedeelte van de sensorhub zo snel mogelijk en ga verder om met de gegevens te spelen
Begrijp de manier waarop NodeMCU en lua-script werken en pas deze aan uw behoefte aan
if(optie==1)
Upload alle vooraf gecompileerde bestanden (.lc-bestanden) en ga verder met de volgende stap
anders if(optie==2)
Open gewoon de broncodebestanden (.lua) in ESPlorer en begin met de code te spelen. Ga naar stap 5 voor een beschrijving
Stap 4: De sensorhub configureren
Schuif nu de schakelaar naar de configuratiemodus en start de module opnieuw op. De led van de configuratiemodus moet gaan branden.
Zoals getoond in de eerste afbeelding en draadloos netwerk met de naam "configMode" zal worden gemaakt en zichtbaar. Maak verbinding met dat netwerk met het wachtwoord als "password1234" vanaf elke computer, laptop of mobiel.
Open een willekeurige browser en voer de volgende url in
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
Vervang de parameters tussen aanhalingstekens door uw eigen wifi (met internettoegang) gebruikersnaam, wachtwoordwaarden en PubNub-sleutels. De uiteindelijke url zou zoiets als hieronder moeten zijn
192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&sensorOneName=sensor1&check=1
Als de sensor hub correct is geconfigureerd zal de config mode led uitgaan en de data mode led gaan branden en zal het "configMode" draadloze netwerk verdwijnen. Als je wilt begrijpen hoe dit werkt of als je enkele parameters wilt wijzigen, bekijk dan de volgende stap, anders ga je naar stap 8
Stap 5: De configuratie aanpassen
Dus wat er gebeurt, is dat ESP8266 fungeert als een router en een draadloos netwerk creëert met de opgegeven ssid, gebruikersnaam en ip-adres waarmee u verbinding kunt maken. De configuratie wordt gedaan door de parameters in het onderstaande formaat in te voeren en de onderstaande url te gebruiken vanuit elke browser van elk apparaat dat is verbonden met het geconfigureerde draadloze netwerk.
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
Open het ap.lua-bestand in ESPlorer. Dit script is verantwoordelijk voor de initiële configuratie van de sensorhub. Het genereert twee bestanden op basis van de gegevens die door de gebruiker zijn opgegeven
- station.lua (bevat de netwerk-ssid en het wachtwoord met internettoegang om de gegevens te posten)
- api_file.lua (bevat de PubNub-sleutels, kanaalnaam met de sensornamen)
IP-adres aanpassen:
Het IP-adres kan worden ingesteld op elk geldig adres dat in de url moet worden gewijzigd. Het standaardadres is "192.168.4.1". Zoals te zien is in de eerste afbeelding, zijn de eerste 3 regels verantwoordelijk voor het instellen van het IP-adres en de gateway. U kunt controleren als het adres juist is door de opdracht "= wifi.sta.getip()" te verzenden
Ssid-naam aanpassen:
De volgende set code in dezelfde afbeelding is verantwoordelijk voor het instellen van de ssid en het wachtwoord voor het draadloze netwerk.
Onthoud dat als je een wijziging hebt aangebracht in het.lua-bestand, je ze moet compileren om de wijzigingen weer te geven na het opnieuw opstarten
- Upload het gewijzigde.lua-bestand..bijvoorbeeld ap.lua-bestand
- Stuur het commando "node.compile(ap.lua)" door op de verzendknop onderaan ESPlorer te klikken
- Nu zijn uw lua-bestanden gecompileerd en worden nieuwe.lc-bestanden gegenereerd
Stap 6: Toevoeging van sensoren aan de Hub en PubNub
Om meer sensoren toe te voegen
Standaard verzendt de code slechts één sensorgegevens die is aangesloten op analoge pin 0. U kunt meer sensoren toevoegen om tegelijkertijd gegevens te verzenden. Volg de onderstaande stappen
- Voeg de sensornaam toe aan de url, zoals vetgedrukt weergegeven. De url ziet er nu uit als hieronder 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
- De bijbehorende naam moet worden toegevoegd aan het ap.lua-bestand zoals weergegeven in afbeelding 1sensorTwo=_GET.sensorTwoName print(sensorTwo). (Dit is alleen om de gegevens te bekijken en te controleren)
- De laatste stap is om het aan het einde toe te voegen aan het api_file-generatiegedeelte, zoals weergegeven in afbeelding 2{ "eon": { "'..sensorOne..'":\'..adc.read(0)..\', "'..sensorTwo..'":\'..gpio.read(2)..\' }} Herhaal dezelfde stap voor elke toevoeging van een sensor. Vergeet niet om gpio.read(pin#) te gebruiken voor digitale en adc.read(pin#) voor analoge naar digitale signalen
Onthoud dat als je een wijziging hebt aangebracht in het.lua-bestand, je ze moet compileren om de wijzigingen weer te geven na het opnieuw opstarten
- Upload het gewijzigde.lua-bestand..bijvoorbeeld ap.lua-bestand
- Stuur het commando "node.compile(ap.lua)" door op de verzendknop onderaan ESPlorer te klikken
- Nu zijn uw lua-bestanden gecompileerd en worden nieuwe.lc-bestanden gegenereerd
Stap 7: Gegevensverzameling initialiseren en naar PubNub verzenden
Zodra de configuratie correct is uitgevoerd, gaat de datamodus-led branden.
Dit betekent in feite dat de sensorgegevens naar PubNub worden verzonden op basis van de configuratie-instellingen die u in de vorige stappen had opgegeven.
Standaard verzendt de hub elke 5 seconden gegevens naar PubNub. Als u dat wilt configureren, volgt u de onderstaande stappen:
Frequentie van gegevensverzameling aanpassen:
- Open main.lua in ESPlorer
- Ga naar de lijn die in de afbeelding is gemarkeerd
- De vermelde waarde moet in milliseconden zijn. Het is aan te raden om een interval van minimaal 2 seconden aan te houden om gegevensverlies te voorkomen.
- Upload main.lua-bestand naar esp en compileer het bestand om het.lc-bestand te genereren
- Start de module opnieuw en verifieer
Stap 8: Eenvoudige HTML-pagina voor realtime weergave van gegevens van PubNub
Open het Sample.html-bestand van de gedownloade bestanden. Dit is gewoon een gewone html-pagina om de realtime grafiek van de verzamelde gegevens te bekijken.
Zoals te zien is in afbeelding 1, hoeft u het alleen maar te configureren met uw eigen PubNub-sleutels en kanaalnaam.
Je kunt dit ook toevoegen aan elke website die je ontwikkelt en nog meer verbluffende visualisaties maken. Raadpleeg PunNub EON voor meer informatie.
Stap 9: Problemen oplossen en veelgestelde vragen
Wordt binnenkort bijgewerkt
Aanbevolen:
Internet/cloudgestuurde huisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): 7 stappen (met afbeeldingen)
Internet/cloudgestuurde huisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): ALLE credits naar http://arest.io/ voor de cloudservice!!IoT het meest besproken onderwerp ter wereld op dit moment!! Cloudservers en -services die dit mogelijk maken, is het aantrekkingspunt van de wereld van vandaag… DE AFSTANDSBARRIRE UITSLUITEN was en is de
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: als u een persoon bent die van knutselen en elektronica houdt, komt u vaker wel dan niet de term Internet of Things tegen, meestal afgekort als IoT, en dat het verwijst naar een reeks apparaten die verbinding kunnen maken met internet! Zo iemand zijn
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Minimalistische IoT-klok (met ESP8266, Adafruit.io, IFTTT en Arduino IDE): 10 stappen (met afbeeldingen)
Minimalistische IoT-klok (met ESP8266, Adafruit.io, IFTTT en Arduino IDE): In deze tutorial laat ik zien hoe je een minimalistische klok kunt maken die gesynchroniseerd is met internet. Ik heb het getest met twee verschillende op ESP8266 gebaseerde boards: Firebeetle en NodeMCU. De microcontroller krijgt de huidige tijd van een Google-server en geeft deze weer op een
IoT Plant Monitoring System (met IBM IoT Platform): 11 stappen (met afbeeldingen)
IoT Plant Monitoring System (met IBM IoT Platform): Overzicht Het Plant Monitoring System (PMS) is een applicatie die is gebouwd met mensen die in de arbeidersklasse zitten met groene vingers in het achterhoofd. Tegenwoordig hebben werkende mensen het drukker dan ooit tevoren; het bevorderen van hun loopbaan en het beheren van hun financiën