Isi kandungan:

Stesen Cuaca ESP32 Solar Powered: 9 Steps
Stesen Cuaca ESP32 Solar Powered: 9 Steps

Video: Stesen Cuaca ESP32 Solar Powered: 9 Steps

Video: Stesen Cuaca ESP32 Solar Powered: 9 Steps
Video: APRS uWX | EP01: Pemasangan Arduino IDE 2.0 2024, Jun
Anonim
Image
Image
Stesen Cuaca ESP32 Solar Powered
Stesen Cuaca ESP32 Solar Powered
Stesen Cuaca ESP32 Solar Powered
Stesen Cuaca ESP32 Solar Powered

Dalam tutorial ini kita akan membina projek stesen cuaca dengan WiFi.

Sasarannya adalah merancang stesen Cuaca dengan hampir semua kemungkinan:

  • Tunjukkan keadaan semasa, masa, suhu, kelembapan, tekanan
  • Tunjukkan ramalan untuk hari-hari berikutnya
  • Kemas kini di udara
  • Dibina di laman web untuk konfigurasi dan representasi data
  • Muat naik data ke awan untuk statistik sejarah
  • Bersepadu dengan Aple Home Kit atau MQTT
  • Indepeded Accu dikuasakan dengan kemungkinan pengisian semula atau sambungkan ke panel solar

Saya tidak dapat menambahkan lagi dan tidak lebih banyak khayalan apa lagi yang mesti atau boleh

Langkah 1: Bahagian Yang Diperlukan

Bahagian Yang Diperlukan
Bahagian Yang Diperlukan
Bahagian Yang Diperlukan
Bahagian Yang Diperlukan
Bahagian Yang Diperlukan
Bahagian Yang Diperlukan
  • ESP32 (Saya telah menggunakan modul dev)
  • 2.8 "240x320 TFT LCD SPI ILI9341
  • Sarung plastik
  • 3 x 18650 Accu
  • Sensor cuaca BME280 untuk mengukur Suhu, Kelembapan dan Tekanan
  • Modul pengecas litium USB
  • Langkah DC-DC UP18650
  • pemegang bateri (3 pc)
  • Pengesan gerakan HC-SR505
  • 220 perintang Om
  • Perintang 2x 10 kOm
  • Transistor TIP120 NPN (Darlington) boleh digunakan yang lain yang serasi
  • Kawat Butang, suis, papan solder….

Langkah 2: Pendawaian dan Pemasangan

Pendawaian dan Pemasangan
Pendawaian dan Pemasangan
Pendawaian dan Pemasangan
Pendawaian dan Pemasangan
Pendawaian dan Pemasangan
Pendawaian dan Pemasangan
Pendawaian dan Pemasangan
Pendawaian dan Pemasangan

Langkah pertama ialah pemasangan kuasa stesen.

Saya telah membahagikan bekas plastik pada dua bahagian, salah satunya digunakan untuk bateri, suis, pengecas USB, dan DC-DC keluar ke bahagian ini saya meletakkan pemegang bateri dan membuat tingkap untuk pengalih dan pengecas usb. Ketahuilah modul pengecas usb cukup menarik kerana saya telah menggunakan plat aluminium dan meletakkan pengecas USB ke atasnya menggunakan gam Star 922.

Langkah kedua ialah memasang bahagian pengawal.

Lihat gambarajah pendawaian bagaimana ia mesti disambungkan

Saya telah menggunakan papan roti untuk tujuan ini dengan langkah-langkah berikut

  • Papan solder ESP32 dev
  • Perisai pateri untuk mengekalkan paparan TFT
  • Memateri komponen elektronik lain: BME280, perintang, butang
  • Pendawaian pateri antara komponen mengikut rajah

Langkah ketiga ialah menyiapkan pemasangan papan roti ke bahagian kedua kotak plastik. Saya telah mencetak pada dua batang pencetak 3d saya, pasangkannya ke papan bred dengan skru dan buat pemotongan segi empat tepat untuk skrin paparan.

Saya melekatkan penyokong palang plastik ke badan sarung plastik. Sekarang apabila gam kering, kabin papan roti dilepaskan dengan skru.

Langkah seterusnya adalah:

  • Pendawaian pateri untuk sumber Kuasa
  • Pendawaian pateri untuk status voltan bateri
  • Pengesan gerakan solder dan lekap

Langkah terakhir:

  • sediakan penukar DC-DC dengan menala voltan keluaran 5v
  • sambungkan dua bahagian pengawal stesen ke kuasa: wayar kuasa dan bacaan voltan

Untuk pengesan gerakan dan butang, saya telah membuat lubang tambahan di bahagian muka.

Langkah 3: Memuat naik Firmware ke ESP32

Untuk projek ini, saya telah menggunakan perisian universal, yang dikembangkan oleh saya sendiri

Sila lihat halaman github ESPHomeController. Ini mengandungi arahan penuh bagaimana menyusun dan menyiapkan.

! Sekiranya anda tidak biasa dengan penyusunan dan Arduino lihatlah langkah Memuat naik firmware siap

Sebaik sahaja anda memuat naik firmware pertama kali ESP32 akan bermula dalam mod konfigurasi (mod Titik Akses)

Anda harus mengkonfigurasinya. Untuk tujuan ini buka di mana-mana senarai WiFi yang tersedia. Cari HomeController dan sambung dengannya. Portal tangkapan harus bermula secara automatik. Sekiranya tidak memasukkan url penyemak imbas anda: 192.168.4.1 dan anda akan melihat skrin konfigurasi

Ikuti arahan dan konfigurasikan kelayakan WiFi ke rangkaian WiFi anda.

ESP akan dimulakan semula selepas itu sebagai pelanggan WiFi dan akan menyambung ke Wifi anda.

Apabila sambungan sson firts berlaku, sistem fail Spiffs akan dipasang secara automatik dan memuat turun fail yang diperlukan untuk portal web:

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

Muat turun berlaku dari folder

Kini anda dapat melihat kandungan fail melalui penyemak imbas web. untuk ini anda sekarang harus alamat ip ESP32 anda

Anda boleh mencarinya dengan salah satu cara berikut:

  • Menggunakan monitor port bersiri untuk melihat log ESP32
  • Menggunakan pengimbas tcp untuk mengimbas peranti rangkaian anda
  • Tekan butang di stesen cuaca dan anda akan melihat maklumat sistem

Masukkan ke https://192.168.0. XX/browse dan anda akan melihat senarai fail ESP anda

(192.168.0. XX adalah alamat IP peranti anda

Untuk penalaan terakhir, anda perlu menyediakan fail konfigurasi.

Langkah 4: Memuat naik Firmware Sedia

Memuat naik Firmware Sedia
Memuat naik Firmware Sedia

Bahagian ini khas untuk pendengaran yang tidak akan menghasilkan firmware sendiri. Anda hanya perlu memuat naik firmware "siap"

1. Alat muat naik kilat Donwload dari halaman ini

2. Muat turun fail yang dilampirkan (ekstrak dari arkib) HomeController.bin dan bootloader_qio_80m.bin ke cakera keras anda

3. Mulakan alat muat turun ESP32 dan masukkan nilai mengikut tangkapan skrin

4. Tekan mula

Langkah 5: Konfigurasi

Sebelum memulakan penyediaan konfigurasi, anda memerlukan:

  1. Buat saluran anda pada perkara yang diperkatakan dan kunci untuk saluran anda. Sediakan 4 medan dan namakan dengan betul Suhu, Kelembapan, Tekanan, Voltan
  2. Daftar di Weather.com untuk mendapatkan kunci api anda

Perkara yang diperlukan untuk memuat naik data anda dan memantau tren dan nilai

Cuaca diperlukan untuk mendapatkan data ramalan.

Ok, akhirnya anda perlu membuat fail services.json dengan kandungan berikut

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enabledleep ": 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 & unit = m & language = en -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 "}, {" enabled ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pin ": [27]}]

! Sila ganti

  • thingspeakapi dengan kunci api thingspeak anda
  • Weatherapi dengan kunci api cuaca anda
  • geokod dengan lokasi anda yang anda ingin dapatkan ramalannya

Daripada menyediakan fail kedua 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}]

Kedua-dua fail mesti ditingkatkan ke akar esp.

Anda boleh melakukannya melalui penyemak imbas https://192.168.0. XX/browse, di mana https://192.168.0. XX adalah alamat IP peranti anda

Selepas memuat naik ESP mesti dimulakan semula dan semuanya dilakukan dengan betul. Esp akan menunjukkan skrin yang betul seperti pada foto dan video di atas

Langkah 6: Penalaan dan Penggunaan Tenaga

Penalaan dan Penggunaan Tenaga
Penalaan dan Penggunaan Tenaga

Saya menggunakan peranti saya dengan sambungan ke Solar Panel dan memastikan ia dapat berfungsi "tanpa had"

penggunaan tenaga adalah penting dan setelah beberapa percubaan saya telah menggunakan dua helah utama

Kurangkan penggunaan lampu latar LED TFT

Menurut pengukuran, ia memakan 15-20 mA (banyak) oleh itu saya telah menggunakan taktik dengan Motion detector. Ia berfungsi dengan sempurna Pengesan gerakan yang dapat mengenali sebarang pengesanan sehingga 8-10 meter dan menaikkan voltan pada kabel isyarat. Ini adalah bukaan transistor dan backround Led menerima kuasa. Biasanya pengesan mengekalkan keadaan ini hingga 10 saat yang lebih daripada yang diperlukan untuk melihat monitor, tetapi jika anda meneruskan pergerakan, isyaratnya masih tinggi dan LED menyala.

Pendekatan sedemikian memberi saya ekonomi yang besar, tanpa kesan tambahan, saya tidak menghadapi masalah untuk melihat skrin saya ketika saya mahu

2. Kurangkan penggunaan tenaga sebanyak ESP32

Apabila ESP disambungkan ke WiFi, ia sentiasa memakan 7-10 mA, saya bercakap mengenai masa yang berterusan, bukan permulaan dan sambungan pertama. Perkara ini dapat diterima sekiranya anda selalu melihat tarikh dan waktu sebenar, mengakses sistem anda dari Apple home kit

Untuk tenaga suria saya pada musim sejuk juga ia sesuai dengan kerja tanpa sumber tenaga tambahan, Oleh itu, saya memutuskan untuk meletakkan ESP32 secara berkala pada mod tidur (makan kurang dari 1 mA). Ini baik untuk saya, misalnya ESP tidur 20 minit, daripada bangun, skrin muat semula (data dan ramalan sebenar) menghantar data ke perkara yang bercakap dan kembali ke mod tidur semula

Kekurangannya adalah:

  • Skrin cuaca memaparkan nilai masa yang ketinggalan zaman
  • Stesen tidak dapat diakses dari penyemak imbas dan Apple Home Kit semasa waktu tidur

Terserah anda untuk memutuskan perkara yang lebih penting, anda boleh mengkonfigurasinya semula dengan mudah.

Sila lihat fail dan baris perkhidmatan.json

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

"enabledleep": true membolehkan tidur sama sekali, jika diletakkan di sana false atau mengeluarkan paramater (false adalah default) ESP tidak akan pernah tidur

"sleepinterval": 900000 ini milis, atau 15 min, bermaksud setiap 15 min ESP akan bangun dan melakukan kakitangan yang diperlukan

Jadi, sekarang semua orang boleh bermain dengan mudah mengikut keperluan

Langkah 7: Penalaan Sensor

Untuk mengurangkan kesan pemanasan dalaman ke sensor suhu BME280

Firt Saya melakukan beberapa tiub di sekitar sensor dan lubang. Lebih baik dalam mod saya ketika LED biasanya dimatikan dan ESP sedang tidur tidak begitu penting. Dalam kes lain, sensor BME280 harus bergerak ke suatu tempat untuk mengecualikan pengaruh pemanasan dalaman. Oleh kerana pengaruh kecil saya dapati terdapat dua parameter untuk mengimbangi

"hum_corr": 10.0

yang bermaksud nilai-nilai tersebut akan ditambah setelah pengukuran

Yang kedua adalah pengukuran voltan bateri, {"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

adalah untuk tujuan ini, kerana voltan diukur setelah pembahagi perintang dan dibandingkan dengan 3.3 V, bermain dengan nilai cvalmax anda dapat mencapai penalaan voltan tepat dengan nilai multimetr anda

Langkah 8: Menambah Peranti ke Apple Home Kit

Menambah Peranti ke Apple Home Kit
Menambah Peranti ke Apple Home Kit

Akhirnya apabila peranti anda berfungsi dengan baik, ia boleh ditambahkan ke Apple Home Kit dan anda akan dapat melihatnya

nilai sensor pada skrin utama Apple.

Mula-mula anda perlu menghidupkan semula peranti, secepatnya ketika peranti dimulakan, ia tidak akan tidur 20 minit lebih daripada yang diperlukan

Daripada membuka Home Kit App pada peranti iOS anda, dan pilih atau buat Home1 baru. Tekan Tambah (+)

2. Pilih Tambah aksesori.

3. Tekan Saya tidak mempunyai Kod atau Tidak dapat mengimbas (lebih lanjut mengenai pemindaian akan ditambahkan)

4. jika semuanya berjalan lancar, anda mesti melihat peranti esp baru anda dalam senarai (lihat gambar)

5. Pilih peranti dan sahkan penambahan tanpa perakuan rasmi

6. Taip kata laluan 11111111

7. Itu Semua! Anda mesti melihat peranti itu berjaya dipasangkan, jika tidak, mulailah proses memasangkan semula..

Berdasarkan tetapan ini, anda akan melihat dua peranti di Apple

1. Sensor temp & sensor Hum, masuk jauh ia akan memaparkan nilai pada layar penuh

2. Sensor cahaya:) Sebenarnya Apple dapat menunjukkan Suasana ligth, tetapi tidak Voltan, oleh itu voltan bateri ditunjukkan di Lux

Langkah 9: OTA: Kemas Kini Melalui Udara

Sebelum memulakan pengemaskinian, lebih baik reboot ESP32, seperti yang disebutkan sebelumnya, ia tidak akan tidur 20 minit pertama

Terdapat dua kemungkinan untuk dikemas kini

  1. Konfigurasi menggunakan https://192.168.0. XX/browse anda boleh mengakses sistem fail anda pada ESP dan menukar fail konfigurasi
  2. Anda boleh mengemas kini firmware dengan sempurna. untuk tujuan ini pertama anda perlu membuat yang baru. Ia boleh dilakukan melalui Arduino atau Visual Studio IDE. Kemudian ketik penyemak imbas https://192.168.0. XX/update, pilih firmware anda dan tekan kemas kini. Tunggu sehingga proses selesai dan anda akan mendapat jawapan OK, jika tidak, ulangi langkah lagi

Disyorkan: