Isi kandungan:
- Langkah 1: Bahagian Yang Diperlukan
- Langkah 2: Pendawaian dan Pemasangan
- Langkah 3: Memuat naik Firmware ke ESP32
- Langkah 4: Memuat naik Firmware Sedia
- Langkah 5: Konfigurasi
- Langkah 6: Penalaan dan Penggunaan Tenaga
- Langkah 7: Penalaan Sensor
- Langkah 8: Menambah Peranti ke Apple Home Kit
- Langkah 9: OTA: Kemas Kini Melalui Udara
Video: Stesen Cuaca ESP32 Solar Powered: 9 Steps
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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
- 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
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
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:
- Buat saluran anda pada perkara yang diperkatakan dan kunci untuk saluran anda. Sediakan 4 medan dan namakan dengan betul Suhu, Kelembapan, Tekanan, Voltan
- 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
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
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
- Konfigurasi menggunakan https://192.168.0. XX/browse anda boleh mengakses sistem fail anda pada ESP dan menukar fail konfigurasi
- 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:
Stesen Cuaca Profesional Menggunakan ESP8266 dan ESP32 DIY: 9 Langkah (dengan Gambar)
Stesen Cuaca Profesional Menggunakan ESP8266 dan ESP32 DIY: LineaMeteoStazione adalah stesen cuaca lengkap yang dapat dihubungkan dengan sensor profesional dari Sensirion serta beberapa komponen Alat Davis (Rain Gauge, Anemometer) Projek ini bertujuan sebagai stesen cuaca DIY tetapi hanya memerlukan
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: 8 Langkah (dengan Gambar)
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: Setelah 1 tahun beroperasi di 2 lokasi yang berbeza, saya berkongsi rancangan projek stesen cuaca berkuasa solar saya dan menerangkan bagaimana ia berkembang menjadi sistem yang benar-benar dapat bertahan dalam jangka masa yang lama tempoh dari tenaga suria. Sekiranya anda mengikuti
Stesen Cuaca DIY & Stesen Sensor WiFi: 7 Langkah (dengan Gambar)
DIY Weather Station & WiFi Sensor Station: Dalam projek ini saya akan menunjukkan kepada anda cara membuat stesen cuaca bersama dengan stesen sensor WiFi. Stesen sensor mengukur data suhu dan kelembapan tempatan dan menghantarnya, melalui WiFi, ke stesen cuaca. Stesyen cuaca kemudian memaparkan
Stesen Cuaca Raspberry Pi Solar: 7 Langkah (dengan Gambar)
Stesen Cuaca Raspberry Pi Solar: Didorong oleh penyelesaian dua projek sebelumnya, Kamera Ringkas dan Konsol Permainan Mudah Alih, saya ingin mencari cabaran baru. Kemajuan semula jadi adalah sistem jarak jauh luar … Saya ingin membina stesen cuaca Raspberry Pi yang
Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)
Stesen Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stesen Cuaca yang Lain Sesuai): Semasa saya membeli stesen cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya semasa saya tiada. Semasa saya pulang dan menyiapkannya, saya menyedari bahawa saya mesti mempunyai paparan yang disambungkan ke komputer atau membeli hab pintar mereka