Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi Alin ang Kinakailangan
- Hakbang 2: Mga Kable at Assembling
- Hakbang 3: Pag-upload ng Firmware sa ESP32
- Hakbang 4: Pag-upload ng Ready Firmware
- Hakbang 5: Pag-configure
- Hakbang 6: Pag-tune at Pagkonsumo ng Lakas
- Hakbang 7: Pag-tune ng Mga Sensor
- Hakbang 8: Pagdaragdag ng Device sa Apple Home Kit
- Hakbang 9: OTA: Sa Pag-update ng Air
Video: ESP32 Weather Station Solar Powered: 9 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Sa tutorial na ito magtatayo kami ng isang proyekto ng istasyon ng panahon na pinagana ng WiFi.
Ang target ay upang magdisenyo ng istasyon ng Panahon na may halos lahat ng mga posibleng feathure:
- Ipakita ang kasalukuyang mga kundisyon, oras, temperatura, halumigmig, presyon
- Ipakita ang forecast para sa mga susunod na araw
- Mag-update sa hangin
- Itinayo sa web site para sa pagsasaayos at muling pagkilala sa data
- Mag-upload ng data sa cloud para sa mga istatistika ng kasaysayan
- Isinama sa Aple Home Kit o MQTT
- Ang Indepede Accu ay pinalakas ng posibleng recharge o kumonekta sa solar panel
Hindi ako maaaring magdagdag ng higit pa at hindi mas maraming imahinasyon kung ano pa ang dapat o maaari
Hakbang 1: Mga Bahagi Alin ang Kinakailangan
- ESP32 (Gumamit ako ng dev module)
- 2.8 "240x320 TFT LCD SPI ILI9341
- Kaso ng plastik
- 3 x 18650 Accu
- Weather sensor BME280 upang sukatin ang Temperatura, Humidity at Pressure
- Module ng USB lithium charger
- DC-DC hakbang UP18650
- may hawak ng baterya (3pc)
- HC-SR505 Motion detector
- 220 risistor
- 2x 10 kOm resistors
- Maaaring magamit ang TIP120 NPN transistor (Darlington) sa anumang iba pang katugma
- Mga ButtonWires, switch, solder board ….
Hakbang 2: Mga Kable at Assembling
Ang unang hakbang ay ang pagtitipon ng mga kapangyarihan sa istasyon.
Hinati ko ang plastic case sa dalawang pars, isa sa mga ito ang ginamit para sa baterya, switch, USB charger, at DC-DC na hakbang patungo sa bahaging ito inilalagay ko ang may hawak ng baterya at gumawa ng mga bintana para sa switch at usb charger. Magkaroon ng kamalayan sa module ng charger ng usb medyo nag-iiba kung gayon nagamit ko ang plate ng alluminium at inilagay ang USB charger dito gamit ang kola ng Star 922.
Pangalawang hakbang ay ang pagtitipon ng mga bahagi ng mga tagakontrol.
Tingnan ang mga diagram ng mga kable kung paano ito dapat na konektado
Gumamit ako ng Bread board para sa hangaring ito sa mga sumusunod na hakbang
- Solder ESP32 dev board
- Panghinang na kalasag upang mapanatili ang pagpapakita ng TFT
- Maghinang ng iba pang mga elektronikong sangkap: BME280, resistors, pindutan
- Mga panghinang na kable sa pagitan ng mga bahagi ayon sa diagram
Pangatlong hakbang ay ihanda ang pag-mount ng board ng tinapay sa pangalawang bahagi ng plastic case. Na-print ko sa aking 3d printer ang dalawang mga bar, i-mount ang mga ito sa bredboard ng mga turnilyo at gumawa ng hugis-parihaba na pagputol para sa display screen.
Nagdikit ako ng mga plastik na bar na sumusuporta sa katawan ng plastic case. Ngayon kapag ang pandikit ay tuyo, ang taksi ng board board ay maalis sa pamamagitan ng mga turnilyo.
Susunod na hakbang ay:
- Mga panghinang na kable para sa mapagkukunan ng Power
- Mga panghinang na kable para sa katayuan ng boltahe ng baterya
- Solder at i-mount ang paggalaw ng paggalaw
Pangwakas na hakbang:
- setup DC-DC converter sa pamamagitan ng pag-tunning ng output voltage 5v
- ikonekta ang dalawang bahagi ng station controller sa lakas: mga wire ng kuryente at pagbabasa ng boltahe
Para sa mga detektor ng paggalaw at pindutan nagawa ko ang isang karagdagang mga butas sa gilid ng mukha.
Hakbang 3: Pag-upload ng Firmware sa ESP32
Para sa proyektong ito Gumamit ako ng unibersal na software, na binuo ng aking sarili
Mangyaring tingnan ang pahina ng github na ESPHomeController. Naglalaman ito ng buong tagubilin kung paano mag-ipon at mag-setup.
! Kung hindi ka pamilyar sa pagtitipon at ang Arduino ay may isang hakbang sa pagtingin sa Pag-upload ng handa na firmware
Sa sandaling mag-upload ka ng firmware sa unang pagkakataon ay magsisimula ang ESP32 sa configuartion mode (Access Point mode)
Dapat mong i-configure ang mga ito. Para sa layuning ito buksan sa anumang listahan ng aparato ng magagamit na WiFi. Hanapin ang HomeController at kumonekta dito. Ang captive portal ay dapat na awtomatikong magsimula. Kung hindi ipasok sa iyong browser url: 192.168.4.1 at makikita mo ang screen ng pagsasaayos
Sundin ang tagubilin at i-configure ang mga kredensyal ng WiFi sa iyong WiFi network.
Magre-restart ang ESP pagkatapos nito bilang WiFi client at makakonekta sa iyong Wifi.
Tulad ng nangyari sson firts na koneksyon awtomatiko nitong mai-mount ang file ng Spiff file system at i-download ang mga kinakailangang file para sa web portal:
- index.html
- filebr gallery.html
- js / bundle.min.js.gz
Nangyayari ang pag-download mula sa https://github.com/Yurik72/ESPHomeController/tree/… folder
Ngayon ay maaari mong makita ang nilalaman ng file sa pamamagitan ng web browser. para dito dapat mo na ngayong ip address ng iyong ESP32
Mahahanap mo ito sa pamamagitan ng isa sa mga sumusunod na paraan:
- Paggamit ng serial port monitor upang makita ang isang mga tala ng ESP32
- Paggamit ng anumang tcp scanner upang i-scan ang iyong mga aparato sa network
- Pindutin ang isang pindutan sa istasyon ng panahon at makikita mo ang impormasyon ng system
Ilagay sa pag-browse https://192.168.0. XX/browse at makikita mo ang isang listahan ng file ng iyong ESP
(Ang 192.168.0. XX ay IP address ng iyong aparato
Para sa pangwakas na pag-tune kailangan mong maghanda ng mga file ng pagsasaayos.
Hakbang 4: Pag-upload ng Ready Firmware
Ang seksyong ito ay espesyal para sa pandinig na hindi makagawa ng firmware ng iyong sarili. Kailangan mo lang i-upload ang "handa" na firmware
1. Donwload flash mga tool sa pag-upload mula sa pahinang ito
2. Mag-download ng naka-attach (i-extract mula sa mga archive) na mga file ng HomeController.bin at bootloader_qio_80m.bin sa iyong hard drive
3. Simulan ang tool sa pag-download ng ESP32 at ipasok ang mga halaga ayon sa screenshot
4. Pindutin ang pagsisimula
Hakbang 5: Pag-configure
Bago simulan ang paghahanda ng pagsasaayos kailangan mo:
- Lumikha ng iyong channel sa bagay na bagay at susi para sa iyong channel. Maghanda ng 4 na patlang at wastong pangalanan ang mga ito Temperatura, Humidity, Pressure, Boltahe
- Magrehistro sa Weather.com upang makuha ang iyong api key
Kailangan ang Thingspeak upang mai-upload ang iyong data at subaybayan ang mga uso at halaga
Kailangan ang panahon upang makakuha ng data ng pagtataya.
Ok, sa wakas kailangan mo ng lumikha ng services.json file na may sumusunod na nilalaman
[{"service": "TimeController", "name": "Oras", "pinagana": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp, true, "interval": 900000, "i2caddr": 118, "uselegacy": true, "temp_corr": - 3.0, "hum_corr": 10.0}, {"service": "WeatherClientController", "name": "WeatherForecast", "pinagana": totoo, "agwat": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & unit = m & wika = en -US & apiKey = weatherapi "}, {" service ":" WeatherDisplayController "," name ":" WeatherDisplay "," pinagana ": totoo," agwat ": 500}, {" pinagana ":" totoo "," agwat ": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, "cfmt": "%. 2f V", "acctype": 10}, {"service": "ThingSpeakController", "name": "ThingSpeak", "pinagana": totoo, "agwat": 1200000, "halaga": [1, 1, 1, 0, 0, 0, 0], "apiKey": "bagaypea kapi "}, {" pinagana ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]
! Palitan po
- bagaypeakapi kasama ang iyong mga bagay na bagay keype api
- Weatherapi kasama ang iyong key ng panahon api
- geocode kasama ang iyong lokasyon kung saan nais mong makakuha ng pagtataya
Kaysa maghanda ng pangalawang file triggers.json
[{"type": "BMEToWeatherDisplay", "source": "BME", "patutunguhan": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Oras", "patutunguhan": "WeatherDisplay "}, {" type ":" WeatherForecastToWeatherDisplay "," source ":" WeatherForecast "," patutunguhan ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," source ":" BME "," patutunguhan ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "patutunguhan": "WeatherDisplay"}, { "type": "LDRToThingSpeak", "source": "LDR", "patutunguhan": "ThingSpeak", "ch": 4}]
Ang parehong mga file ay dapat na naka-uplode sa root ng esp.
Maaari mo itong gawin sa pamamagitan ng browser https://192.168.0. XX/browse, kung saan ang https://192.168.0. XX ay IP adress ng iyong aparato
Matapos ang pag-upload ng ESP ay dapat na muling simulang at lahat ay tapos na nang tama. Ipapakita ni Esp ang tamang screen tulad ng larawan at video sa itaas
Hakbang 6: Pag-tune at Pagkonsumo ng Lakas
Ginagamit ko ang aking aparato na may koneksyon sa Solar Panel at upang matiyak na maaari itong gumana nang "walang hanggan"
mahalaga ang pagkonsumo ng kuryente at pagkatapos ng maraming eksperimento ay gumamit ako ng dalawang pangunahing mga trick
Bawasan ang pagkonsumo ng bacground LED ng TFT screen
Ayon sa pagsukat ay kumakain ito ng 15-20 mA (maraming) samakatuwid nagamit ko ang mga taktika sa Motion detector. Gumagawa ito ng perpektong Motion detector na makilala ang anumang pagtuklas hanggang sa 8-10 metro at itaas ang boltahe sa signal cable. Ito ay ang pagbubukas ng isang transistor at backround Led na makatanggap ng isang lakas. Kadalasan ang detektor ay panatilihin ang estado na ito hanggang sa 10 seg na kung saan ay higit pa sa nais na makita ang monitor, ngunit kung magpapatuloy ka sa paggalaw ang signal ay mataas pa rin at ang LED ay ilaw.
Ang ganitong diskarte ay nagbibigay sa akin ng isang malaking ekonomiya, nang walang karagdagang mga epekto, hindi ako nakakatugon sa anumang problema upang makita ang aking screen kapag nais ko
2. Bawasan ang pagkonsumo ng kuryente ng ESP32
Kapag ang ESP ay konektado sa WiFi, patuloy itong eatinmg 7-10 mA, pinag-uusapan ko ang pare-pareho ang oras, hindi startup at unang koneksyon. Maaari itong tanggapin kung palagi mong nakikita ang aktwal na petsa at oras, i-access ang iyong system mula sa Apple home kit
Para sa aking solar power sa taglamig oras din ito upang tumugma sa mga gumagana nang walang mga mapagkukunang addiiotnal power, Samakatuwid nagpasya akong pana-panahong ilagay ang ESP32 sa mode ng pagtulog (ang pagkain ay mas mababa sa 1 mA). Ito ay Ok sa akin, halimbawa ang ESP ay natutulog ng 20 minuto, kaysa sa paggising, ang refresh screen (tunay na data at pagtataya) ay nagpapadala ng data sa bagay na bagay at bumalik sa mode ng pagtulog muli
Ang mga minus ay:
- Nagpapakita ang screen ng panahon ng hindi napapanahong mga halaga ng oras
- Ang istasyon ay hindi maaaring makuha mula sa browser at Apple Home Kit sa oras ng pagtulog
Nasa sa iyo ang magpasya kung ano ang mas mahalaga, maaari mong simpleng i-configure muli iyon.
Mangyaring magkaroon ng isang hitsura services.json file at linya
[{"service": "TimeController", "name": "Oras", "pinagana": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," nagbibigay-daan sa pagtulog ": totoo," type ng pagtulog ": 1," sleepinterval ": 900000," restartinterval ": 18000000}
"nagbibigay-daan sa pagtulog": totoo ay nagbibigay-daan sa pagtulog sa lahat, kung ilagay doon maling o alisin ang paramater (false ay default) hindi kailanman makakatulog ang ESP
"sleepinterval": 900000 ito ay millis, o 15 min, nangangahulugang tuwing 15 minutong gagising ang ESP at gagawa ng mga tauhang kailangan
Kaya, ngayon ang lahat ay madaling maglaro alinsunod sa lakas
Hakbang 7: Pag-tune ng Mga Sensor
Upang i-minimize ang epekto ng panloob na pag-init sa sensor ng temperatura ng BME280
Gumawa ako ng ilang tubo sa paligid ng sensor at mga butas. Ang Hovewer sa aking mode kapag ang normal na LED ay naka-patay at ang ESP ay natutulog ay hindi masyadong nai-import. Sa ibang mga kaso ang sensor ng BME280 ay dapat lumipat sa kung saan upang maibukod ang impluwensya ng panloob na pag-init. Anumang kung gaano kaliliit na impluwensya ang nakita ko samakatuwid mayroong dalawang mga parameter upang mabayaran
"hum_corr": 10.0
na nangangahulugang maidaragdag ang mga halagang iyon pagkatapos ng pagsukat
Pangalawa ay i-calibrate ang pagsukat ng boltahe ng baterya, {"pinagana": "totoo", "agwat": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0.0
"cvalmax": 7.2
ay para sa mga hangaring ito, ang boltahe ng beca ay sinusukat pagkatapos ng mga divider ng resistors at ihinahambing sa 3.3 V, na naglalaro ng halagang cvalmax maaari mong maabot ang eksaktong boltahe na pag-tune sa iyong multimetr na halaga
Hakbang 8: Pagdaragdag ng Device sa Apple Home Kit
Panghuli kapag gumagana nang maayos ang iyong aparato maaari itong maidagdag sa Apple Home Kit at makikita mo ito
mga halaga ng sensor sa home screen ng Apple.
Una kailangan mo ng pag-restart ng aparato, tulad ng pagsisimula ng aparato ay hindi ito matutulog ng 20 minuto ay higit pa sa inaasahan
Kaysa sa buksan ang Home Kit App sa iyong iOS device, at pumili o lumikha ng bagong Home1. Pindutin ang Idagdag (+)
2. Piliin ang Magdagdag ng accessory.
3. Pindutin ang Wala akong Code o Hindi ma-scan (karagdagang sa pag-scan ay idadagdag)
4. kung ang lahat ay maayos dapat mong makita ang iyong bagong esp aparato sa isang listahan (tingnan ang larawan)
5. Piliin ang aparato at kumpirmahin ang pagdaragdag nang walang opisyal na sertipikasyon
6. I-type ang password 11111111
7. Iyon Lahat! Dapat mong makita ang aparato na matagumpay na naipares, kung hindi man simulan muli ang proseso ng pagpapares..
Batay sa setting ng thid makikita mo ang dalawang mga aparato sa Apple
1. Temp sensor & Hum sensor, pagpunta sa malalim ito ay magpapakita ng mga halaga sa buong screen
2. Light sensor:) Sa totoo lang ay maipakita ng Apple ang ligth Ambiance, ngunit hindi Boltahe, samakatuwid ang boltahe ng baterya ay ipinapakita sa Lux
Hakbang 9: OTA: Sa Pag-update ng Air
Bago simulan ang anumang pag-update ay mas mahusay na i-reboot ang ESP32, tulad ng nabanggit bago ito ay hindi matulog muna 20 minuto
Mayroong dalawang posibilidad na mag-update
- Ang pag-configure gamit ang https://192.168.0. XX/br gallery maaari mong ma-access ang iyong file system sa ESP at baguhin ang mga file ng pagsasaayos
- Maaari mong kumpletong i-update ang firmware. para sa mga hangaring ito kailangan mo munang lumikha ng bago. Maaari itong magawa sa pamamagitan ng Arduino o Visual Studio IDE. Pagkatapos mag-type sa browser https://192.168.0. XX/update, piliin ang iyong firmware at pindutin ang pag-update. Maghintay hanggang matapos ang proseso at makakakuha ka ng OK na tugon, kung hindi man ay ulitin muli ang hakbang
Inirerekumendang:
NaTaLia Weather Station: Arduino Solar Powered Weather Station Tapos na sa Tamang Daan: 8 Hakbang (na may Mga Larawan)
NaTaLia Weather Station: Arduino Solar Powered Weather Station Tapos na ang Tamang Daan: Matapos ang 1 taon ng matagumpay na operasyon sa 2 magkakaibang mga lokasyon binabahagi ko ang aking mga plano sa proyekto ng istasyon ng solar Powered na solar at ipinapaliwanag kung paano ito nabago sa isang system na maaaring mabuhay nang matagal panahon mula sa solar power. Kung susundin mo
DIY Weather Station at WiFi Sensor Station: 7 Hakbang (na may Mga Larawan)
DIY Weather Station & WiFi Sensor Station: Sa proyektong ito ipapakita ko sa iyo kung paano lumikha ng isang istasyon ng panahon kasama ang isang istasyon ng sensor ng WiFi. Sinusukat ng istasyon ng sensor ang lokal na data ng temperatura at kahalumigmigan at ipinapadala ito, sa pamamagitan ng WiFi, sa istasyon ng panahon. Ipinapakita ng istasyon ng panahon ang
Natatanging Deskpiece ng Station ng Weather Weather: 5 Hakbang (na may Mga Larawan)
Natatanging Deskpiece ng Weather Weather Station: Hey Guys! Para sa proyekto sa buwan na ito ay gumawa ako ng isang istasyon ng panahon sa anyo ng isang Desk Plant o maaari mo itong tawagan bilang isang Desk Showpiece. Ang istasyon ng panahon na ito ay kumukuha ng data sa ESP8266 mula sa isang Website na pinangalanang openwethermap.org at binabago ang mga kulay ng RGB sa
ESP32 Solar Weather Station: 4 na Hakbang (na may Mga Larawan)
ESP32 Solar Weather Station: Para sa aking unang proyekto ng IoT nais kong bumuo ng isang Weather Station at ipadala ang data sa data.sparkfun.com. Maliliit na pagwawasto, nang magpasya akong buksan ang aking account sa Sparkfun, hindi sila tumatanggap ng maraming koneksyon, kaya't pumili ng isa pang kolektor ng data ng IoT dito
Solar Powered WiFi Weather Station V1.0: 19 Mga Hakbang (na may Mga Larawan)
Solar Powered WiFi Weather Station V1.0: Sa Instructable na ito, ipapakita ko sa iyo kung paano bumuo ng isang Solar Powered WiFi Weather Station na may board na Wemos. Ang Wemos D1 Mini Pro ay may isang maliit na form-factor at isang malawak na hanay ng mga plug-and-play na kalasag gawin itong isang mainam na solusyon para sa mabilis na pagkuha