Talaan ng mga Nilalaman:

ESP8266 Temperature Controlled Relay: 9 Mga Hakbang (na may Mga Larawan)
ESP8266 Temperature Controlled Relay: 9 Mga Hakbang (na may Mga Larawan)

Video: ESP8266 Temperature Controlled Relay: 9 Mga Hakbang (na may Mga Larawan)

Video: ESP8266 Temperature Controlled Relay: 9 Mga Hakbang (na may Mga Larawan)
Video: openHAB INSTALL - Smart Home Automation 2024, Nobyembre
Anonim
Image
Image

Ang isang kaibigan ko ay isang siyentista na gumagawa ng mga eksperimento na napaka-sensitibo sa temperatura ng hangin at halumigmig. Ang silid ng incubator ay may isang maliit na pampainit ng ceramic ngunit ang termostat ng pampainit ay hindi sapat na tumpak, nagawang mapanatili lamang ang temperatura sa loob ng 10-15 degree.

Ang mga komersyal na aparato na nag-log temperatura at halumigmig ay maaaring maging masyadong mahal, at ang pagkuha ng data mula sa aparato ay maaaring maging mahirap. Dagdag pa, hindi nila makontrol ang temperatura, i-log lamang ang data. Tinanong niya kung gaano kahirap magtayo ng isang aparato na maaaring tumpak na makontrol ang pampainit sa pamamagitan ng isang relay habang ang pag-log sa temperatura at halumigmig. Tunog sapat na madali.

Pagkuha ng isang ESP8266, relay, DHT22, at ilang online IoT platform, hindi na kami.

Hakbang 1: Mga Panustos

Gumagamit ang proyektong ito ng kaunting mga supply, na ang lahat ay medyo karaniwan at maaaring mayroon ka ng mga ito sa kamay ngayon. Narito ang isang buong listahan ng kung ano ang ginamit ko, huwag mag-atubiling ayusin kung kinakailangan upang matugunan ang mga pangangailangan ng proyekto.

  • ESP8266 ESP-01 (o katulad na board ng ESP8266)
  • DHT-22 sensor ng Temperatura at Humidity
  • Ang LM317 variable voltage regulator (o ang isang pamantayan na 3.3V regulator ay mas madali)
  • 5V Mataas na kasalukuyang relay (nagsimula ako sa isang 10A ngunit pinalabas ito sa loob ng 2-araw)
  • Iba't ibang mga resistors at capacitor
  • Jumper wires
  • Karaniwang outlet at takip ng elektrisidad
  • Box ng Electric Gang
  • Lumang USB plug na may adapter
  • Lumang plug ng elektrisidad

Kung iisipin, ang paggamit ng isang NodeMCU sa halip na ang ESP-01 ay magkaroon ng mas maraming kahulugan. Wala ako sa oras na iyon kaya ginawa ko ang nasa kamay ko.

Hakbang 2: Konstruksiyon ng Outlet

Paggawa ng outlet
Paggawa ng outlet

Habang technically nagsimula ako sa micro-controller at code, makatuwiran na magsimula muna sa AC outlet. Para sa proyektong ito, gumamit ako ng isang solong kahon ng gang, isang karaniwang 2-plug outlet, at ang kurdon ng kuryente mula sa isang lumang power strip.

Ang electrical socket ay makakakuha ng wired up kasama ang dalawang puting wires na sumali at ang dalawang ground wires ay nagsama. Ang dalawang itim na mga wire ay dumadaan sa mataas na bahagi ng relay. Tiyaking nakuha mo ang mga terminal na nakabalisa nang maayos at wala sa mga hibla ang maikli, naglagay ako ng isang maliit na panghinang sa mga wire upang ang mga nakatayo ay magkatuluyan.

Mag-ingat sa mataas na boltahe at i-double check ang bawat koneksyon. Mahusay na ideya na maglagay ng electrical tape sa iyong wire baga upang hindi sila malayang

Hakbang 3: Disenyo ng Curciut

Disenyo ng Curciut
Disenyo ng Curciut
Disenyo ng Curciut
Disenyo ng Curciut

Ang circuit ay medyo prangka ngunit kung gagamitin mo ang ESP-01 tulad ng ginawa ko, kakailanganin mong magdagdag ng isang boltahe regulator upang makakuha ng isang 3.3V. Ang mga karaniwang relay ay nangangailangan ng 5V kaya kailangan mo ng isang 3.3V at 5.0V rail.

Gumamit ang aking circuit ng isang LM317 voltage regulator na may isang hanay ng mga resistors upang makakuha ng isang pare-pareho na 3.3V rail, tinapik ko ang USB 5V upang mapagana ang relay. Mayroong 3.3V relay ngunit hindi para sa mataas na kasalukuyang relay na kinakailangan kung magpapagana ka ng isang maliit na pampainit ng espasyo.

Nangangailangan ang DHT22 ng 4.7k pull-up risistor.

Hakbang 4: Maghinang sa Lupon

Maghinang sa Lupon
Maghinang sa Lupon
Maghinang sa Lupon
Maghinang sa Lupon
Maghinang sa Lupon
Maghinang sa Lupon
Maghinang sa Lupon
Maghinang sa Lupon

Layout at solder lahat ng mga bahagi. Maaari itong maging medyo nakakalito ngunit paunang planuhin ang mga bakas sa isang piraso ng papel na grap ay makakatulong.

Gumamit ako ng isang USB board para sa isang plug ng kuryente ngunit medyo mahina ito at pinalitan ito ng dalawang mga header pin sa halip. Gumamit ako ng dalawang babaeng header sa board at naghinang ng dalawang pin na male-header nang direkta sa isang lumang USB plug. Pinatunayan nitong mas maaasahan at matatag. Ang mga kulay ng mga kable ng USB ay:

Black GroundRed 5V

Gumamit din ako ng mga male header upang mailantad ang mga pin ng DHT22 at Relay sa aking perfboard upang ikonekta ang mga ito sa karaniwang mga jumper wires.

Siguraduhin na lagyan ng label ang bawat pin, kapangyarihan, at ground konektor kung sakaling ma-unplug ito sa paglaon.

Hakbang 5: I-mount ang Circuit Board

I-mount ang Circuit Board
I-mount ang Circuit Board
I-mount ang Circuit Board
I-mount ang Circuit Board
I-mount ang Circuit Board
I-mount ang Circuit Board

Sa gilid ng gang box, i-mount ang circuit board na may mga turnilyo at / o hot-glue. Siguraduhin na ang pagkakalagay ay ginawa upang ang mga jumper wires ay umabot sa paligid ng iyong relay na naka-mount sa loob ng kahon, at madali mong mai-plug ang iyong power konektor.

Magdagdag ng isang jumper wire na may pag-urong ng init sa iyong DHT22 sensor na may naaangkop na haba para sa iyong sitwasyon. Ang akin ay halos 8 pulgada ang haba. Gumamit ako ng ilang CAT5 cable sa halip upang ang mga lead ay maaaring bahagyang baluktot sa posisyon at magiging malayang nakatayo.

Hakbang 6: Arudino Code

Code ng Arudino
Code ng Arudino

Gumagamit ang Arduino code ng aking klase sa SensorBase, na magagamit sa aking pahina ng Github. Hindi mo kailangang gamitin ang aking SensorBase code. Maaari kang direktang sumulat sa MQTT server at Thingspeak.

Nagtatampok ang proyektong ito ng tatlong pangunahing tampok sa software:

  1. Isang lokal na webserver upang magtakda at tumingin ng mga halaga
  2. Malayong server ng MQTT upang magpadala at mag-imbak ng data
  3. Thingspeak dashboard para sa graphing data

Maaari mong gamitin ang isa o higit pa sa mga tampok na ito. Ayusin lamang ang code kung kinakailangan. Ito ang tukoy na hanay ng code na ginamit ko. Kakailanganin mong ayusin ang mga password at API key.

  • Sensor-base code sa Github.
  • Lab code sa Github.

Hakbang 7: Thingspeak Dashboard

Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard

Mag-set up ng isang libreng Thingspeak account at tukuyin ang isang bagong dashboard. Kakailanganin mong gamitin ang parehong pagkakasunud-sunod ng mga item tulad ng nakalista ako sa ibaba, ang mga pangalan ay hindi mahalaga, ngunit ang order ay mahalaga.

Kung nais mong magdagdag o mag-alis ng mga item, ayusin ang mga parameter ng Thingspeak sa Arduino code. Ito ay medyo tuwid at maayos na dokumentado sa kanilang website.

Hakbang 8: Pag-setup ng CloudMQTT

Pag-setup ng CloudMQTT
Pag-setup ng CloudMQTT
Pag-setup ng CloudMQTT
Pag-setup ng CloudMQTT
Pag-setup ng CloudMQTT
Pag-setup ng CloudMQTT

Anumang serbisyo ng MQTT, o katulad na serbisyo ng IoT tulad ng Blynk, ay gagana, ngunit pinili kong gamitin ang CloudMQTT para sa proyektong ito. Gumamit ako ng CloudeMQTT para sa maraming mga proyekto sa nakaraan, at dahil ang proyektong ito ay ibibigay sa isang kaibigan, makatuwiran na lumikha ng isang bagong account na maaari ring mailipat.

Lumikha ng isang CloudMQTT account at pagkatapos ay lumikha ng isang bagong "halimbawa," piliin ang laki ng "Cute Cat" dahil ginagamit lamang namin ito para sa kontrol, walang pag-log. Magbibigay sa iyo ang CloudMQTT ng isang pangalan ng server, username, password, at numero ng port. (Tandaan na ang numero ng port ay hindi ang karaniwang MQTT port). Ilipat ang lahat ng mga halagang ito sa iyong code na ESP8266 sa mga kaukulang lokasyon, na tinitiyak na ang kaso ay tama. (seryoso, kopyahin / i-paste ang mga halaga)

Maaari mong gamitin ang panel na "Websocket UI" sa CloudMQTT upang makita ang mga koneksyon ng iyong aparato, pagpindot sa pindutan, at, sa kakatwang senaryo, na nakakuha ka ng isang error, isang mensahe ng error.

Kakailanganin mo ang mga setting na ito kapag nag-configure din ng Android MQTT client, kaya tandaan ang mga halaga kung kailangan mo. Inaasahan ko, ang iyong password ay hindi masyadong kumplikado upang mai-type sa iyong telepono. Hindi mo maitatakda iyon sa CloudMQTT.

Hakbang 9: Pangwakas na Pagsubok

Pangwakas na Pagsubok
Pangwakas na Pagsubok

Ngayon kailangan naming subukan ang pangwakas na aparato.

Bago mo subukan ang anumang bagay, i-double-check ang bawat wire at gamitin ang iyong multimeter sa pagpapatuloy mode upang masubaybayan ang lahat ng mga wire. Tiyaking nakakonekta ang lahat sa kung saan sa tingin mo nakakonekta ito. Dahil ihiwalay ng relay ang mataas na boltahe mula sa mababang boltahe, hindi mo kailangang mag-alala tungkol sa pagpapaikli ng iyong microcontroller.

Gumamit ako ng isang simpleng tester ng circuit ng elektrisista upang mapatunayan ang lahat ay na-wire nang maayos sa gilid na may mataas na boltahe, at gumana rin ito nang maayos upang subukan ang aking relay.

Idagdag ang iyong ESP2866 sa iyong wifi network sa pamamagitan ng pagkonekta sa aparato sa pamamagitan ng iyong telepono o laptop. Gumagamit ito ng karaniwang WifiManager library, at mayroon siya ng lahat ng kinakailangang dokumentasyon sa kanyang pahina ng Github.

Gamit ang isang maliwanag na bombilya, inilagay ko ang aking sensor ng DHT22 sa tabi ng bombilya at isinaksak ang lampara sa outlet. Pinayagan nito ang temperatura na mabilis na maiinit, na nagpapalitaw ng relay upang patayin ang lampara at ulitin ang proseso. Napakatulong nito upang masubukan ang lahat, kasama ang aking koneksyon sa wifi.

Dapat na maayos na i-on ng iyong aparato ang relay kapag ang temperatura ay masyadong mababa at patayin ito sa sandaling maabot ng temperatura ang mataas na halaga. Sa aking pagsubok, nagawang mapanatili ang temperatura ng espasyo ng aming lab sa loob ng 1 degree Celcius 24 / oras sa isang araw.

Inirerekumendang: