Inhoudsopgave:

IoT-temperatuursensor met ESP8266 - Ajarnpa
IoT-temperatuursensor met ESP8266 - Ajarnpa

Video: IoT-temperatuursensor met ESP8266 - Ajarnpa

Video: IoT-temperatuursensor met ESP8266 - Ajarnpa
Video: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, Juli-
Anonim
IoT-temperatuursensor met ESP8266
IoT-temperatuursensor met ESP8266
IoT-temperatuursensor met ESP8266
IoT-temperatuursensor met ESP8266

Ik werd geïnspireerd om een temperatuursensor te maken die ik via wifi kan controleren. Dit project is niet nieuw, maar ik hou van het idee om een tussenlaag te hebben voor beveiliging en om de poort in je router niet te hoeven openen voor je IoT-apparaat. Het basisidee stelt me in staat om de temperatuur thuis te controleren terwijl ik aan het werk was. Later kan deze worden uitgebreid om de airco te bedienen en aan en uit te zetten.

Stap 1: Benodigd concept en componenten

Benodigd concept en componenten
Benodigd concept en componenten

Eerst het begrip. De foto legt uit wat ik probeer te bereiken. De temperatuursensor is verbonden met de analoge ingang van de ESP8266 WIFI-module, die periodiek de temperatuur naar een cloudgebaseerde hosting zal posten (in dit voorbeeld gebruik ik alleen een webserver met php server-side scripting). Dan heb je overal vanuit de cloud (webserver) toegang tot de temperatuur om te controleren wat de huidige temperatuur is.

Nu staan hieronder de benodigde componenten hiervoor, let op dat de link een affiliate link is, als je dat niet wilt, ga dan direct naar de website.

- NodeMcu Lua ESP8266 ontwikkelbord. Ik krijg de mijne van banggood.

- LM35 temperatuursensor. Ik haal de mijne hier vandaan.

- Prototypebord en enkele draden (optioneel als u de temperatuursensor liever rechtstreeks soldeert)

- Arduino IDE, je kunt het hier downloaden.

- Werkende webserver met php-serverscripting geïnstalleerd (niet vereist als u alleen de temperatuur in uw lokale netwerk wilt bekijken)

Stap 2: Arduino IDE aan het werk krijgen

Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen
Arduino IDE aan het werk krijgen

Installeer de Arduino IDE, deze ondersteunt verschillende platforms, Windows, Linux en Mac. Gebruik gewoon degene waar u zich prettig bij voelt.

Ik ga ervan uit dat u zich op uw gemak voelt om dit te installeren en aan de gang te krijgen.

Zodra Arduino is geïnstalleerd, is het tijd om je ESP8266 wifi-bord te testen. U kunt het bord met een USB-kabel op uw computer aansluiten. De computer zou dit automatisch moeten detecteren.

- Selecteer het juiste bord uit Tools->Board-> NodeMCU 1.0 (ESP-12E-module)

- De volgende stap is om de poort te selecteren waarop je ESP8266 is aangesloten, dus ga naar Tools->Port-> mine come up as /dev/cu.wchusbserial14750, (je zou iets anders kunnen hebben)

Zodra je dit hebt aangesloten, kun je de verbinding en het bord testen door de voorbeeldschets te laden

- Selecteer Bestand->Voorbeelden->ESP8266->Knipperen

Dit opent de Blink-schets, u kunt op de knop "Uploaden" klikken om uw schets te uploaden. Als alles goed gaat, moet de led op uw ESP8266 gaan knipperen.

Stap 3: Sluit de temperatuursensor aan

Sluit de temperatuursensor aan
Sluit de temperatuursensor aan
Sluit de temperatuursensor aan
Sluit de temperatuursensor aan

De temperatuursensor LM35 heeft 3 poten, de eerste poot is VCC, u kunt deze aansluiten op de 5V (uitgang van de ESP8266-kaart is 3,3 V). De middelste poot is Vout (waar de temperatuur wordt afgelezen, deze kunt u aansluiten op de analoge ingang van de ESP8266 pin AD0, deze bevindt zich rechtsboven op het bord zoals op de afbeelding te zien is. En de rechterpoot moet verbonden met de grond. Nu is uw circuit voltooid.

Stap 4: De Cloud Webserver instellen (optioneel)

De Cloud Webserver instellen (optioneel)
De Cloud Webserver instellen (optioneel)
De Cloud Webserver instellen (optioneel)
De Cloud Webserver instellen (optioneel)

U kunt deze stap overslaan als u de temperatuur naar een andere webserver wilt uploaden.

Aanname:

Je hebt een werkende webserver, en je bent bekend met het overzetten van bestanden naar je webserver.

Upload het bijgevoegde zipbestand naar de hoofdmap van uw website, laten we zeggen dat de website "https://arduinotestbed.com" is

Je kunt de bestanden ook in een map plaatsen, maar zorg ervoor dat je de Arduino-schets aanpast om naar de juiste locatie van de "data_store.php" te wijzen.

In dit voorbeeld gaan we ervan uit dat het bestand data_store.php zich in de hoofdmap van de website bevindt, toegankelijk via

Eenmaal geüpload, kunt u testen of het werkt door te verwijzen naar

U zou hopelijk de temperatuurwijzer moeten zien die de dummy-temperatuur weergeeft. Nu de webserver klaar is, kunnen we doorgaan naar de volgende stap om de schets in onze ESP8266 te laden.

Een ding om op te merken is dat u ervoor moet zorgen dat het bestand temp.txt in de webserver de schrijfrechten "666" heeft.

Stap 5: Upload de schets van de temperatuursensor

Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor
Upload de schets van de temperatuursensor

We gebruiken de ESP8266 als een webserver om de temperatuur te bewaken en de meting op de interne webserver en in de cloud te plaatsen.

- Kopieer de bijgevoegde 3 bestanden naar een map en open het hoofdbestand "ESP8266TempSensor.ino" in Arduino IDE

- Wijzig de locatie van de webserver op de regel String webserver = "arduinotestbed.com" (uw webserver root)

- Wijzig de weburi op de regel String weburi = "/data_store.php" (als je de stepbefore gebruikt)

- Upload de schets naar de ESP8266

Als alles goed gaat, zou het succesvol moeten worden geüpload en de eerste keer dat de ESP in AP-modus gaat. U kunt uw laptop of mobiele telefoon gebruiken om er verbinding mee te maken. U zou de AP moeten kunnen vinden onder de naam "ESP-TEMP".

- Probeer verbinding te maken met ESP-TEMP met uw laptop of mobiele telefoon

- Zoek uit wat het IP-adres is waaraan u wordt toegewezen door de opdracht "ipconfig" in Windows of "ifconfig" in linux of mac uit te voeren.

- Als u een iphone gebruikt, klikt u op de i-knop naast ESP-TEMP waarmee u bent verbonden

- Open uw browser en wijs naar de ESP-TEMP, als u 192.168.4.10 als uw ip hebt toegewezen, heeft de ESP-TEMP het ip van 192.168.4.1, dus u kunt gewoon naar https://192.168. 4.1 en u zou de instellingenpagina moeten zien waar u de ssid van uw wifi-router en de psk-sleutel kunt invoeren. zodra u beide hebt ingevoerd en het selectievakje "Update Wifi Config" hebt aangevinkt, klikt u op "update" om de instelling bij te werken naar uw ESP8266.

De ESP8266 zal nu opnieuw opstarten en proberen verbinding te maken met uw wifi-router. U kunt deze voortgang volgen in de seriële monitor door op Extra->Seriële monitor te klikken. Het seriële monitorvenster toont u de voortgang van de verbinding.

De seriële monitor zal u ook vertellen wat het IP-adres van uw ESP8266 is zodra deze is aangesloten op uw wifi-router. De LED zal eens per paar minuten knipperen wanneer de temperatuurmeting plaatsvindt. En je zou de temperatuur moeten kunnen zien door naar het adres van de ESP8266 te wijzen.

Optionele stap: als u de webserver instelt om de temperatuur op te slaan, kunt u nu verwijzen naar de webserver die u in de vorige stap had ingesteld, in dit voorbeeld is dit

Gefeliciteerd!!! je kunt nu tegen je vrienden opscheppen dat je een IoT-temperatuursensor hebt.

U kunt mijn temperatuurmeting bekijken in de volgende url

Geef me een seintje als het je lukt om dit te maken. Als je dit leuk vindt, vertel het je vrienden, en je kunt me volgen voor meer uitbreiding van de IoT-temperatuursensor. Je kunt ook mijn persoonlijke blog bekijken voor meer projecten met betrekking tot microcontrollers.

Stap 6: Extra stap: TimeLib (optioneel)

Als u de TimeLib niet hebt, moet u de bijgevoegde bibliotheek in uw bibliotheekmap installeren.

Voor meer informatie over bibliotheek kunt u de volgende link vinden, Voor Windows-gebruikers:

De bibliotheek bevindt zich in C:\Users\Documents\Arduino

Voor Mac-gebruikers:

De bibliotheek bevindt zich in Documents\Arduino\Libraries

U kunt het bovenstaande zipbestand handmatig uitpakken op de genoemde locatie.

Aanbevolen: