Satura rādītājs:

ESP32 meteoroloģiskā stacija ar saules enerģiju: 9 soļi
ESP32 meteoroloģiskā stacija ar saules enerģiju: 9 soļi

Video: ESP32 meteoroloģiskā stacija ar saules enerģiju: 9 soļi

Video: ESP32 meteoroloģiskā stacija ar saules enerģiju: 9 soļi
Video: Русифицированная версия метеостанции от ThingPulse 2024, Novembris
Anonim
Image
Image
ESP32 meteoroloģiskā stacija ar saules enerģiju
ESP32 meteoroloģiskā stacija ar saules enerģiju
ESP32 meteoroloģiskā stacija ar saules enerģiju
ESP32 meteoroloģiskā stacija ar saules enerģiju

Šajā apmācībā mēs izveidosim laika apstākļu stacijas projektu ar WiFi.

Mērķis ir izveidot meteoroloģisko staciju ar gandrīz visām iespējamām īpašībām:

  • Parādiet pašreizējos apstākļus, laiku, temperatūru, mitrumu, spiedienu
  • Parādiet nākamo dienu prognozi
  • Atjauninājums ēterā
  • Iebūvēta vietne konfigurācijai un datu attēlošanai
  • Augšupielādējiet datus mākonī vēstures statistikai
  • Integrēts ar Aple Home Kit vai MQTT
  • Iebūvēta Accu barošana ar iespējamu uzlādi vai savienojumu ar saules paneli

Es nevaru pievienot vairāk un ne vairāk iztēles, kam vēl jābūt vai var būt

1. darbība. Nepieciešamās detaļas

Nepieciešamās detaļas
Nepieciešamās detaļas
Nepieciešamās detaļas
Nepieciešamās detaļas
Nepieciešamās detaļas
Nepieciešamās detaļas
  • ESP32 (esmu izmantojis dev moduli)
  • 2,8 collu 240x320 TFT LCD SPI ILI9341
  • Plastmasas korpuss
  • 3 x 18650 Accu
  • Laika sensors BME280 temperatūras, mitruma un spiediena mērīšanai
  • USB litija lādētāja modulis
  • DC-DC solis UP18650
  • akumulatora turētājs (3 gab.)
  • HC-SR505 Kustību detektors
  • 220 Om rezistors
  • 2x 10 kOm rezistori
  • TIP120 NPN tranzistoru (Darlington) var izmantot jebkuru citu saderīgu
  • ButtonWires, slēdzis, lodēšanas dēlis….

2. darbība: elektroinstalācija un montāža

Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana
Elektroinstalācija un salikšana

Pirmais solis ir stacijas jaudas montāža.

Esmu sadalījis plastmasas korpusu uz diviem elementiem, no kuriem viens tiek izmantots akumulatoram, slēdzim, USB lādētājam un DC-DC izejai. Šajā daļā es ievietoju akumulatora turētāju un izveidoju slēdža un USB lādētāja logus. Jāapzinās, ka USB lādētāja modulis ir diezgan ilgs, tāpēc esmu izmantojis alumīnija plāksni un ievietojis USB lādētāju, izmantojot Star 922 līmi.

Otrais solis ir kontrolieru daļas salikšana.

Skatiet elektroinstalācijas shēmu, kā to savienot

Šim nolūkam esmu izmantojis maizes dēli, veicot šādas darbības

  • Lodēšanas ESP32 dev dēlis
  • Lodēšanas vairogs, lai saglabātu TFT displeju
  • Citu elektronisko komponentu lodēšana: BME280, rezistori, pogas
  • Lodēšanas vadi starp komponentiem saskaņā ar diagrammu

Trešais solis ir sagatavot maizes dēļa uzstādīšanu plastmasas korpusa otrajā daļā. Esmu drukājis uz sava 3D printera divus stieņus, piestiprinājis tos pie audzēšanas dēļa ar skrūvēm un izgriezis taisnstūra displeja ekrānu.

Es pielīmēju plastmasas stieņu balstus pie plastmasas korpusa korpusa. Tagad, kad līme ir sausa, maizes dēļa kabīni atvieno ar skrūvēm.

Nākamais solis ir šāds:

  • Lodēšanas vadi barošanas avotam
  • Lodēšanas vadi akumulatora sprieguma statusam
  • Lodēšanas un stiprinājuma kustības detektors

Pēdējais solis:

  • iestatīt līdzstrāvas līdzstrāvas pārveidotāju, nosakot izejas spriegumu 5v
  • pievienojiet elektrotīklam divas stacijas kontrollera daļas: barošanas vadus un sprieguma nolasīšanu

Kustības detektoram un pogai es esmu izveidojis papildu caurumus sejas pusē.

3. darbība: programmaparatūras augšupielāde ESP32

Šim projektam esmu izmantojis universālu programmatūru, ko esmu izstrādājis pats

Lūdzu, apskatiet github lapu ESPHomeController. Tas satur pilnu instrukciju, kā apkopot un iestatīt.

! Ja neesat iepazinies ar kompilāciju un Arduino, apskatiet soli Gatavas programmaparatūras augšupielāde

Tiklīdz pirmo reizi augšupielādējat programmaparatūru, ESP32 sāks darboties konfigurācijas režīmā (piekļuves punkta režīms)

Jums vajadzētu tos konfigurēt. Šim nolūkam atveriet jebkuru pieejamo WiFi ierīču sarakstu. Atrodiet HomeController un izveidojiet savienojumu ar to. Fiksētais portāls jāsāk automātiski. Ja tā nav, ievadiet pārlūkprogrammas URL: 192.168.4.1, un jūs redzēsit konfigurācijas ekrānu

Izpildiet norādījumus un konfigurējiet WiFi akreditācijas datus savā WiFi tīklā.

Pēc tam ESP tiks restartēts kā WiFi klients un izveidos savienojumu ar jūsu Wifi.

Kad sson firts savienojums notiek, tas automātiski pievienos Spiffs failu sistēmu un lejupielādēs nepieciešamos failus tīmekļa portālam:

  • index.html
  • filebrowse.html
  • js/bundle.min.js.gz

Lejupielāde notiek no mapes

Tagad jūs varat redzēt failu saturu, izmantojot tīmekļa pārlūkprogrammu. šim nolūkam jums tagad vajadzētu norādīt sava ESP32 IP adresi

To var atrast vienā no šiem veidiem:

  • Izmantojot seriālā porta monitoru, lai redzētu ESP32 žurnālus
  • Izmantojot jebkuru tcp skeneri tīkla ierīču skenēšanai
  • Nospiediet pogu laika stacijā, un jūs redzēsit sistēmas informāciju

Pārlūkojiet vietni https://192.168.0. XX/browse, un jūs redzēsit savu ESP failu sarakstu

(192.168.0. XX ir jūsu ierīces IP adrese

Pēdējai noregulēšanai jums jāsagatavo konfigurācijas faili.

4. darbība. Gatavas programmaparatūras augšupielāde

Gatavas programmaparatūras augšupielāde
Gatavas programmaparatūras augšupielāde

Šī sadaļa ir īpaši paredzēta klausītājiem, kuri paši neražo programmaparatūru. Jums vienkārši jāaugšupielādē "gatava" programmaparatūra

1. No šīs lapas lejupielādējiet zibatmiņas augšupielādes rīkus

2. Lejupielādējiet cietajā diskā pievienotos (izraksts no arhīviem) failus HomeController.bin un bootloader_qio_80m.bin

3. Sāciet ESP32 lejupielādes rīku un ievadiet vērtības atbilstoši ekrānuzņēmumam

4. Nospiediet start

5. darbība: konfigurēšana

Pirms sākat konfigurācijas sagatavošanu, jums ir nepieciešams:

  1. Izveidojiet savu kanālu, runājot par savu kanālu. Sagatavojiet 4 laukus un nosauciet tos pareizi: temperatūra, mitrums, spiediens, spriegums
  2. Reģistrējieties vietnē Weather.com, lai iegūtu savu API atslēgu

Thingspeak ir nepieciešams, lai augšupielādētu jūsu datus un uzraudzītu tendences un vērtības

Laika apstākļi ir nepieciešami, lai iegūtu prognozes datus.

Labi, beidzot jums ir jāizveido fails services.json ar šādu saturu

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}, {" service ":" BME280Controller "," name ":" BME "," enabled ": true, "interval": 900000, "i2caddr": 118, "uselegacy": true, "temp_corr":-3.0, "hum_corr": 10.0}, {"service": "WeatherClientController", "name": "WeatherForecast", "enabled": true, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & units = m & language = lv -US & apiKey = weatherapi "}, {" service ":" WeatherDisplayController "," name ":" WeatherDisplay "," enabled ": true," interval ": 500}, {" enabled ":" true "," interval ": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0,0, "cvalmax": 7,2, "cfmt": "%. 2f V", "acctype": 10}, {"service": "ThingSpeakController", "name": "ThingSpeak", "enabled": true, "interval": 1200000, "value": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "thingspea kapi "}, {" iespējots ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]

Lūdzu, nomainiet!

  • thingspeakapi ar tavu speles api taustiņu
  • laika apstākļi ar laika apstākļu API atslēgu
  • ģeokodu ar savu atrašanās vietu, par kuru vēlaties iegūt prognozi

Sagatavojiet otro failu triggers.json

[{"type": "BMEToWeatherDisplay", "source": "BME", "destination": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Time", "destination": "WeatherDisplay" "}, {" type ":" WeatherForecastToWeatherDisplay "," source ":" WeatherForecast "," destination ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," source ":" BME "," destination ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "destination": "WeatherDisplay"}, { "type": "LDRToThingSpeak", "source": "LDR", "destination": "ThingSpeak", "ch": 4}]

Abi faili ir augšupielādēti uz esp sakni.

To var izdarīt, izmantojot pārlūkprogrammu https://192.168.0. XX/browse, kur https://192.168.0. XX ir jūsu ierīces IP adrese

Pēc augšupielādes ESP ir jārestartē un viss tika izdarīts pareizi. Esp parādīs pareizo ekrānu, kā parādīts fotoattēlā un videoklipā iepriekš

6. solis: Tunning un enerģijas patēriņš

Izklaidējošs un enerģijas patēriņš
Izklaidējošs un enerģijas patēriņš

Es izmantoju savu ierīci ar savienojumu ar saules paneli un esmu pārliecināts, ka tā var darboties bezgalīgi

enerģijas patēriņš ir svarīgs, un pēc vairākiem eksperimentiem esmu izmantojis divus galvenos trikus

Samaziniet TFT ekrāna fona LED patēriņu

Saskaņā ar mērījumiem tas ēd 15-20 mA (daudz), tāpēc esmu izmantojis taktiku ar kustību detektoru. Tas darbojas perfekti Kustību detektori, kas spēj atpazīt jebkuru noteikšanu līdz 8-10 metriem un paaugstināt signāla kabeļa spriegumu. Tas ir atveres tranzistors un backround Led saņem jaudu. Parasti detektors saglabā šo stāvokli līdz 10 sekundēm, kas ir vairāk nekā pietiekams, lai redzētu monitoru, bet, turpinot kustības, signāls joprojām ir augsts un iedegas gaismas diode.

Šāda pieeja man dod lielu ekonomiju, bez papildu efektiem, man nav nekādu problēmu redzēt savu ekrānu, kad es to vēlos

2. Samaziniet enerģijas patēriņu par ESP32

Kad ESP ir savienots ar WiFi, tas nepārtraukti ēd 7-10 mA, es runāju par nemainīgu laiku, nevis par palaišanu un pirmo savienojumu. Tas var būt pieņemami, ja vienmēr esat redzējis faktisko datumu un laiku, piekļūstiet savai sistēmai no Apple mājas komplekta

Arī manai saules enerģijai ziemā tas bija jāsaskaņo ar darbiem bez papildu enerģijas avotiem, Tāpēc es nolēmu periodiski ieslēgt ESP32 miega režīmā (ēšana ir mazāka par 1 mA). Man tas ir labi, piemēram, ESP guļ 20 minūtes, nekā pamosties, atsvaidzināt ekrānu (faktiskie dati un prognoze) nosūta datus uz runas runu un atkal miega režīmā

Mīnusi ir:

  • Laika ekrāns parāda novecojušas laika vērtības
  • Stacija miega laikā nav pieejama no pārlūkprogrammas un Apple Home Kit

Jums ir jāizlemj, kas ir svarīgāks, varat to vienkārši pārkonfigurēt.

Lūdzu, apskatiet services.json failu un rindiņu

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleepptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}

"enableleep": true ļauj vispār gulēt, ja tas tiek ievietots nepatiesi vai noņemts parametrs (false ir noklusējums) ESP nekad negulēs

"miegaintervāls": 900000 tas ir milis jeb 15 minūtes, tas nozīmē, ka ik pēc 15 minūtēm ESP pamodīsies un veiks nepieciešamos darbiniekus

Tātad, tagad ikviens var viegli spēlēt pēc nepieciešamības

7. darbība: sensoru regulēšana

Lai samazinātu iekšējās sildīšanas ietekmi uz BME280 temperatūras sensoru

Firts Es izveidoju cauruli ap sensoru un caurumiem. Hovewer manā režīmā, kad LED parasti ir izslēgts un ESP guļ, nav tik svarīgi. Citos gadījumos BME280 sensoram vajadzētu kaut kur pārvietoties, lai izslēgtu iekšējās sildīšanas ietekmi. Lai arī cik mazu ietekmi es atklāju, tāpēc ir divi parametri, kas jākompensē

"hum_corr": 10,0

kas nozīmē, ka šīs vērtības tiks pievienotas pēc mērīšanas

Otrais ir akumulatora sprieguma mērīšanas kalibrēšana, {"enabled": "true", "interval": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0,0

"cvalmax": 7.2

ir šim nolūkam, jo spriegumu mēra pēc rezistoru dalītājiem un salīdzina ar 3,3 V, spēlējot ar cvalmax vērtību, jūs varat sasniegt precīzu sprieguma regulēšanu ar savu multimetra vērtību

8. darbība: ierīces pievienošana Apple mājas komplektam

Ierīces pievienošana Apple mājas komplektam
Ierīces pievienošana Apple mājas komplektam

Visbeidzot, kad ierīce darbojas pareizi, to var pievienot Apple Home Kit, un jūs varēsit redzēt

sensoru vērtības Apple sākuma ekrānā.

Vispirms jums ir nepieciešams restartēt ierīci, jo tiklīdz ierīce tika iedarbināta, tā neiet gulēt 20 minūtes ir vairāk nekā pietiekami

Atveriet lietotni Home Kit savā iOS ierīcē un atlasiet vai izveidojiet jaunu Home1. Nospiediet Pievienot (+)

2. Izvēlieties Pievienot piederumu.

3. Nospiediet Man nav koda vai nevaru skenēt (skenēšana tiks pievienota tālāk)

4. ja viss notiek labi, sarakstā vajadzētu redzēt savu jauno esp ierīci (skat. Attēlu)

5. Izvēlieties ierīci un apstipriniet pievienošanu bez oficiālas sertifikācijas

6. Ierakstiet paroli 11111111

7. Tas viss! Jums vajadzētu redzēt, ka ierīce ir veiksmīgi savienota pārī, pretējā gadījumā sāciet pārī pāriešanas procesu vēlreiz.

Pamatojoties uz šo iestatījumu, Apple redzēsit divas ierīces

1. Temperatūras sensors un Hum sensors, iedziļinoties, tas parādīs vērtības pilnekrāna režīmā

2. Gaismas sensors:) Patiesībā Apple spēj parādīt vieglu gaisotni, bet ne spriegumu, tāpēc akumulatora spriegums tiek rādīts luksā

9. darbība. OTA: atjauninājumi pa gaisu

Pirms sākat atjaunināšanu, labāk ir restartēt ESP32, kā minēts iepriekš, tas neiet gulēt pirmās 20 minūtes

Ir divas atjaunināšanas iespējas

  1. Konfigurācija, izmantojot https://192.168.0. XX/browse, varat piekļūt savai failu sistēmai ESP un mainīt konfigurācijas failus
  2. Jūs varat pilnībā atjaunināt programmaparatūru. šim nolūkam vispirms jāizveido jauns. To var izdarīt, izmantojot Arduino vai Visual Studio IDE. Pēc tam ierakstiet pārlūkprogrammā https://192.168.0. XX/update, atlasiet programmaparatūru un nospiediet atjaunināt. Pagaidiet, līdz process ir pabeigts, un jūs saņemsit atbildi OK, pretējā gadījumā atkārtojiet darbību vēlreiz

Ieteicams: