Indholdsfortegnelse:

ESP8266 temperaturstyret relæ: 9 trin (med billeder)
ESP8266 temperaturstyret relæ: 9 trin (med billeder)

Video: ESP8266 temperaturstyret relæ: 9 trin (med billeder)

Video: ESP8266 temperaturstyret relæ: 9 trin (med billeder)
Video: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, November
Anonim
Image
Image

En af mine venner er en videnskabsmand, der laver eksperimenter, der er meget følsomme over for lufttemperatur og fugtighed. Inkubatorrummet har en lille keramisk varmelegeme, men varmelegemets termostat var ikke nær nøjagtig nok, kun i stand til at opretholde temperaturen inden for 10-15 grader.

Kommercielle enheder, der registrerer temperatur og fugtighed, kan være ret dyre, og det kan være svært at få data fra enheden. Plus, de kan ikke styre temperaturen, kun logge dataene. Han spurgte, hvor svært det ville være at bygge en enhed, der nøjagtigt kunne styre varmelegemet gennem et relæ, mens temperaturen og luftfugtigheden blev registreret. Lød let nok.

Grib en ESP8266, relæ, DHT22 og en online IoT platform, vi kører.

Trin 1: Forbrugsvarer

Dette projekt bruger en håndfuld forsyninger, som alle er ret almindelige, og du har dem måske allerede ved hånden i dag. Her er en komplet liste over, hvad jeg brugte. Du er velkommen til at justere efter behov for at opfylde dine projektbehov.

  • ESP8266 ESP-01 (eller lignende ESP8266-kort)
  • DHT-22 temperatur- og luftfugtighedssensor
  • LM317 regulator til variabel spænding (eller en standard 3.3V regulator ville være lettere)
  • 5V højstrømsrelæ (jeg startede med en 10A, men blæste det ud inden for 2 dage)
  • Forskellige modstande og kondensatorer
  • Jumper ledninger
  • Standard stikkontakt og dæksel
  • Elektrisk gangboks
  • Gammelt USB -stik med adapter
  • Gammelt stik

Set i bakspejlet ville det have givet meget mere mening at bruge en NodeMCU i stedet for ESP-01. Jeg havde ikke en på det tidspunkt, så jeg nøjes med det, jeg havde ved hånden.

Trin 2: Outletkonstruktion

Outlet Konstruktion
Outlet Konstruktion

Mens jeg teknisk set startede med mikro-controlleren og koden, er det fornuftigt at starte med stikkontakten først. Til dette projekt brugte jeg en enkelt gangboks, en standard 2-stikkontakt og netledningen fra en gammel strømstik.

Stikkontakten forbindes med de to hvide ledninger, der er forbundet, og de to jordledninger er forbundet. De to sorte ledninger går gennem relæets høje side. Sørg for at få skruet terminalerne godt ned, og ingen af trådene kommer til at kortslutte, jeg lagde lidt loddetæt på ledningerne, så stativerne holdt sig sammen.

Vær forsigtig med højspændingen og dobbelttjek hver forbindelse. Det er en god idé at sætte elektrisk tape på dine trådlunger, så de ikke vrikker løs

Trin 3: Curciut Design

Curciut Design
Curciut Design
Curciut Design
Curciut Design

Kredsløbet er ret ligetil, men hvis du bruger ESP-01 som jeg gjorde, skal du tilføje en spændingsregulator for at få en 3,3V. Standardrelæer kræver 5V, så du skal bruge en 3,3V- og 5,0V -skinne.

Mit kredsløb brugte en LM317 spændingsregulator med et sæt modstande for at få en konstant 3.3V skinne, jeg bankede på USB 5V for at drive relæet. Der er 3.3V-relæer, men ikke til højstrømsrelæer, hvis du skal drive en lille rumvarmer.

DHT22 kræver en 4,7k pull-up modstand.

Trin 4: Lodde brættet

Lodde brættet
Lodde brættet
Lodde brættet
Lodde brættet
Lodde brættet
Lodde brættet
Lodde brættet
Lodde brættet

Layout og lod alle komponenterne. Dette kan være lidt vanskelig, men det kan hjælpe at planlægge sporene med et stykke grafpapir.

Jeg brugte et USB -kort til et strømstik, men det var temmelig svagt og erstattede det med to header pins i stedet. Jeg brugte to kvindelige overskrifter på brættet og lodde to hanstik direkte til et gammelt USB-stik. Dette viste sig at være mere pålideligt og solidt. USB -ledningsfarverne er:

Sort jord Rød 5V

Jeg brugte også mandlige headers til at afsløre DHT22 og Relay pins på mit perfboard til at forbinde dem med standard jumperwires.

Sørg for at mærke hver stift, strøm og jordforbindelse, hvis den senere bliver taget ud af stikkontakten.

Trin 5: Monter printkortet

Monter printkortet
Monter printkortet
Monter printkortet
Monter printkortet
Monter printkortet
Monter printkortet

På siden af bundboksen monteres printkortet med skruer og/eller varmlim. Sørg for, at placeringen er foretaget, så jumpertrådene når rundt til dit relæ, der er monteret inde i boksen, og du kan nemt tilslutte dit strømstik.

Tilføj en jumper wire med varmekrymp til din DHT22 sensor med den passende længde til din situation. Min var cirka 8 centimeter lang. Jeg brugte i stedet noget CAT5-kabel, så ledningerne kunne være let bøjet i position og ville være fritstående.

Trin 6: Arudino -kode

Arudino kode
Arudino kode

Arduino -koden bruger min SensorBase -klasse, som er tilgængelig på min Github -side. Du behøver ikke bruge min SensorBase -kode. Du kan skrive direkte til MQTT -serveren og Thingspeak.

Dette projekt indeholder tre centrale softwarefunktioner:

  1. En lokal webserver til at indstille og se værdier
  2. Ekstern MQTT -server til at sende og gemme data
  3. Thingspeak dashboard til graftegning af data

Du kan bruge en eller flere af disse funktioner. Bare juster koden efter behov. Dette er det specifikke sæt kode, jeg brugte. Du skal justere adgangskoder og API -nøgler.

  • Sensor-base-kode på Github.
  • Lab -kode på Github.

Trin 7: Thingspeak Dashboard

Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard

Opret en gratis Thingspeak -konto, og definer et nyt dashboard. Du bliver nødt til at bruge den samme rækkefølge af varerne, som jeg har angivet nedenfor, navnene er ligegyldige, men ordren gør det.

Hvis du vil tilføje eller fjerne elementer, skal du justere Thingspeak -parametrene i Arduino -koden. Det er ret ligetil og veldokumenteret på deres hjemmeside.

Trin 8: CloudMQTT -opsætning

CloudMQTT -opsætning
CloudMQTT -opsætning
CloudMQTT -opsætning
CloudMQTT -opsætning
CloudMQTT -opsætning
CloudMQTT -opsætning

Enhver MQTT -service eller lignende IoT -service som Blynk ville fungere, men jeg vælger at bruge CloudMQTT til dette projekt. Jeg har tidligere brugt CloudeMQTT til mange projekter, og da dette projekt vil blive overdraget til en ven, giver det mening at oprette en ny konto, der også kan overføres.

Opret en CloudMQTT -konto, og opret derefter en ny "forekomst", vælg størrelsen "Cute Cat", da vi kun bruger den til kontrol, ingen logning. CloudMQTT giver dig et servernavn, brugernavn, adgangskode og portnummer. (Bemærk, at portnummeret ikke er standard MQTT -porten). Overfør alle disse værdier til din ESP8266 -kode på de tilsvarende steder, og sørg for, at sagen er korrekt. (seriøst, kopier/indsæt værdierne)

Du kan bruge "Websocket UI" -panelet på CloudMQTT til at se din enheds forbindelser, knaptryk og, i det ulige scenario, at du får en fejl, en fejlmeddelelse.

Du får også brug for disse indstillinger, når du konfigurerer Android MQTT -klienten, så noter værdierne, hvis du har brug for det. Forhåbentlig er din adgangskode ikke for kompliceret til at skrive på din telefon. Du kan ikke indstille det i CloudMQTT.

Trin 9: Afsluttende test

Afsluttende test
Afsluttende test

Nu skal vi teste den sidste enhed.

Inden du tester noget, skal du kontrollere HVER ledning og bruge dit multimeter i kontinuitetstilstand til at spore alle ledninger. Sørg for, at alt er forbundet til det sted, hvor du tror, det er forbundet. Fordi relæet isolerer højspændingen fra lavspændingen, behøver du ikke bekymre dig om at kortslutte din mikrokontroller.

Jeg brugte en simpel elektriker kredsløbstester til at kontrollere, at alt var korrekt forbundet på højspændingssiden, og det fungerede også godt at teste mit relæ.

Føj din ESP2866 til dit wifi -netværk ved at oprette forbindelse til enheden via din telefon eller bærbare. Dette bruger standard WifiManager -biblioteket, og han har al den nødvendige dokumentation på sin Github -side.

Ved hjælp af en glødelampe placerede jeg min DHT22 -sensor ved siden af pæren og satte lampen i stikkontakten. Dette tillod temperaturen at varme hurtigt op, hvilket fik relæet til at slukke lampen og gentage processen. Dette var meget nyttigt at teste alt, inklusive min wifi-forbindelse.

Din enhed skal tænde relæet korrekt, når temperaturen er for lav og slukke, når temperaturen når den høje værdi. I min test har dette været i stand til at holde vores laboratoriets rumtemperatur inden for 1 grad Celcius 24/timer om dagen.

Anbefalede: