Daftar Isi:
- Langkah 1: Bagian Yang Diperlukan
- Langkah 2: Pengkabelan dan Perakitan
- Langkah 3: Mengunggah Firmware ke ESP32
- Langkah 4: Mengunggah Firmware Siap
- Langkah 5: Konfigurasi
- Langkah 6: Tunning dan Konsumsi Daya
- Langkah 7: Penyetelan Sensor
- Langkah 8: Menambahkan Perangkat ke Apple Home Kit
- Langkah 9: OTA: Pembaruan Melalui Udara
Video: Stasiun Cuaca ESP32 Tenaga Surya: 9 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dalam tutorial ini kita akan membangun proyek stasiun cuaca berkemampuan WiFi.
Targetnya adalah merancang stasiun cuaca dengan hampir semua fitur yang memungkinkan:
- Tampilkan kondisi saat ini, waktu, suhu, kelembaban, tekanan
- Tampilkan perkiraan untuk hari-hari berikutnya
- Perbarui di udara
- Dibangun di situs web untuk konfigurasi dan representasi data
- Unggah data ke cloud untuk statistik riwayat
- Terintegrasi dengan Aple Home Kit atau MQTT
- Indepeded Accu didukung dengan kemungkinan mengisi ulang atau terhubung ke panel surya
Saya tidak bisa menambahkan lebih banyak dan tidak lebih banyak imajinasi apa lagi yang harus atau bisa
Langkah 1: Bagian Yang Diperlukan
- ESP32 (Saya telah menggunakan modul dev)
- 2.8" 240x320 TFT LCD SPI ILI9341
- Kotak plastik
- 3 x 18650 Accu
- Sensor cuaca BME280 untuk mengukur Suhu, Kelembaban, dan Tekanan
- Modul pengisi daya lithium USB
- DC-DC langkah UP18650
- tempat baterai (3 buah)
- HC-SR505 Detektor gerak
- 220 Om resistor
- 2x 10 kOm resistor
- Transistor NPN TIP120 (Darlington) dapat digunakan yang kompatibel lainnya
- ButtonWires, sakelar, papan solder….
Langkah 2: Pengkabelan dan Perakitan
Langkah pertama adalah perakitan kekuatan stasiun.
Saya membagi kotak plastik menjadi dua bagian, salah satunya digunakan untuk baterai, sakelar, pengisi daya USB, dan colokan DC-DC. Pada bagian ini saya meletakkan dudukan baterai dan membuat jendela untuk sakelar dan pengisi daya usb. Perhatikan modul usb charger cukup heting oleh karena itu saya telah menggunakan plat aluminium dan memasang charger USB ke ini menggunakan lem Star 922.
Langkah kedua adalah merakit bagian pengontrol.
Lihat diagram pengkabelan bagaimana seharusnya terhubung
Saya telah menggunakan papan Roti untuk tujuan ini dengan langkah-langkah berikut:
- Solder papan pengembang ESP32
- Perisai solder untuk menjaga tampilan TFT
- Solder komponen elektronik lainnya: BME280, resistor, tombol
- Solder kabel antar komponen sesuai diagram
Langkah ketiga adalah menyiapkan pemasangan papan roti ke bagian kedua dari kotak plastik. Saya telah mencetak pada printer 3d saya dua batang, memasangnya ke papan pembibitan dengan sekrup dan membuat pemotongan persegi panjang untuk tampilan layar.
Saya merekatkan penyangga batangan plastik ke badan kotak plastik. Sekarang ketika lem mengering, kabin papan roti dilepas dengan sekrup.
Langkah selanjutnya adalah:
- Kabel solder untuk sumber daya
- Kabel solder untuk status tegangan baterai
- Solder dan pasang detektor gerakan
Langkah terakhir:
- setup konverter DC-DC dengan menyetel tegangan output 5v
- sambungkan dua bagian pengontrol stasiun ke daya: kabel daya dan pembacaan tegangan
Untuk pendeteksi gerakan dan tombol saya telah membuat lubang tambahan di sisi muka.
Langkah 3: Mengunggah Firmware ke ESP32
Untuk proyek ini saya telah menggunakan perangkat lunak universal, yang dikembangkan sendiri
Silakan lihat halaman github ESPHomeController. Ini berisi instruksi lengkap cara mengkompilasi dan mengatur.
! Jika Anda tidak terbiasa dengan kompilasi dan Arduino, lihat langkah Mengunggah firmware siap
Segera setelah Anda mengunggah firmware pertama kali, ESP32 akan mulai dalam mode konfigurasi (mode Titik Akses)
Anda harus mengonfigurasinya. Untuk tujuan ini, buka di daftar perangkat apa pun dari WiFi yang tersedia. Temukan HomeController dan sambungkan ke sana. Portal tawanan harus dimulai secara otomatis. Jika tidak masuk di url browser Anda: 192.168.4.1 dan Anda akan melihat layar konfigurasi
Ikuti instruksi dan konfigurasikan kredensial WiFi ke jaringan WiFi Anda.
ESP akan restart setelah itu sebagai klien WiFi dan akan terhubung ke Wifi Anda.
Saat koneksi sson firts terjadi, sistem file Spiffs akan secara otomatis memasang dan mengunduh file yang diperlukan untuk portal web:
- index.html
- filebrowse.html
- js/bundle.min.js.gz
Unduhan terjadi dari https://github.com/Yurik72/ESPHomeController/tree/… folder
Sekarang Anda dapat melihat konten file melalui browser web. untuk ini, Anda sekarang harus alamat ip ESP32 Anda
Anda dapat menemukannya dengan salah satu cara berikut:
- Menggunakan monitor port serial untuk melihat log ESP32
- Menggunakan pemindai tcp apa pun untuk memindai perangkat jaringan Anda
- Tekan tombol di stasiun cuaca dan Anda akan melihat informasi sistem
Masukkan ke browse https://192.168.0. XX/browse dan Anda akan melihat daftar file ESP Anda
(192.168.0. XX adalah alamat IP perangkat Anda
Untuk penyetelan terakhir, Anda perlu menyiapkan file konfigurasi.
Langkah 4: Mengunggah Firmware Siap
Bagian ini khusus untuk auditory yang tidak akan memproduksi firmware sendiri. Anda hanya perlu mengunggah firmware "siap"
1. Unduh alat unggah flash dari halaman ini
2. Unduh file terlampir (ekstrak dari arsip) HomeController.bin dan bootloader_qio_80m.bin ke hard drive Anda
3. Mulai alat unduh ESP32 dan masukkan nilai sesuai tangkapan layar
4. Tekan mulai
Langkah 5: Konfigurasi
Sebelum memulai persiapan konfigurasi, Anda perlu:
- Buat saluran Anda di thingspeak dan kunci untuk saluran Anda. Siapkan 4 bidang dan beri nama dengan benar Suhu, Kelembaban, Tekanan, Tegangan
- Daftar di Weather.com untuk mendapatkan kunci api Anda
Thingspeak diperlukan untuk mengunggah data Anda dan memantau tren dan nilai
Cuaca sangat diperlukan untuk mendapatkan data prakiraan.
Ok, akhirnya Anda perlu membuat file services.json dengan konten berikut:
[{"service":"TimeController", "name":"Time", "enabled":true, "interval":1000, "timeoffs":7200, "dayloffs":3600, "server":"pool.ntp.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}, {"service":"BME280Controller", "name":"BME", "enabled": benar, "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=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, "nilai":[1, 1, 1, 1, 0, 0, 0, 0], "apiKey":"thingspea kapi"}, {"enabled":true, "interval":1, "pin":"", "service":"ButtonController", "name":"Button", "pin":[27]}]
!Tolong ganti
- thingspeakapi dengan kunci api thingspeak Anda
- weatherapi dengan kunci api cuaca Anda
- geocode dengan lokasi Anda yang ingin Anda dapatkan perkiraannya
Daripada menyiapkan file 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 file harus di-upload ke root esp.
Anda dapat melakukan ini melalui browser https://192.168.0. XX/browse, di mana https://192.168.0. XX adalah alamat IP perangkat Anda
Setelah mengunggah ESP harus dimulai ulang dan semuanya dilakukan dengan benar. Esp akan menampilkan layar yang tepat seperti pada foto dan video di atas
Langkah 6: Tunning dan Konsumsi Daya
Saya menggunakan perangkat saya dengan koneksi ke Panel Surya dan untuk memastikannya dapat bekerja "tanpa batas"
konsumsi daya itu penting dan setelah beberapa percobaan saya telah menggunakan dua trik utama
Kurangi konsumsi LED latar belakang layar TFT
Menurut pengukuran itu makan 15-20 mA (banyak) oleh karena itu saya telah menggunakan taktik dengan detektor Gerak. Ia bekerja dengan sempurna. Detektor gerak mampu mengenali deteksi apa pun hingga 8-10 meter dan menaikkan tegangan pada kabel sinyal. Ini adalah bukaan transistor dan Led backround menerima daya. Biasanya detektor menjaga keadaan ini hingga 10 detik yang lebih dari cukup untuk melihat monitor, tetapi jika Anda melanjutkan gerakan, sinyalnya masih tinggi dan LED menyala.
Pendekatan seperti itu memberi saya ekonomi besar, tanpa efek tambahan, saya tidak menemui masalah untuk melihat layar saya ketika saya mau
2. Kurangi konsumsi daya dengan ESP32
Ketika ESP terhubung ke WiFi, itu terus-menerus memakan 7-10 mA, saya sedang berbicara tentang waktu yang konstan, bukan startup dan koneksi pertama. Ini dapat diterima jika Anda selalu melihat tanggal dan waktu aktual, mengakses sistem Anda dari kit rumah Apple
Untuk tenaga surya saya di musim dingin juga cocok untuk bekerja tanpa sumber daya tambahan, Oleh karena itu saya memutuskan secara berkala menempatkan ESP32 pada mode tidur (makan kurang dari 1 mA). Ini OK untuk saya, misalnya ESP tidur 20 menit, daripada bangun, layar refresh (data aktual dan perkiraan) mengirimkan data ke thingspeak dan kembali ke mode tidur lagi
Minusnya adalah:
- Layar cuaca menampilkan nilai waktu yang sudah ketinggalan zaman
- Stasiun tidak dapat diakses dari browser dan Apple Home Kit selama waktu tidur
Terserah Anda untuk memutuskan apa yang lebih penting, Anda dapat dengan mudah mengkonfigurasi ulang itu.
Silakan lihat file dan baris services.json
[{"service":"TimeController", "name":"Time", "enabled":true, "interval":1000, "timeoffs":7200, "dayloffs":3600, "server":"pool.ntp.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}
"enablesleep":true mengaktifkan sleep sama sekali, jika diletakkan di sana false atau menghapus paramater (false adalah default) ESP tidak akan pernah tidur
"sleepinterval":900000 ini adalah milis, atau 15 menit, berarti setiap 15 menit ESP akan bangun dan melakukan staf yang diperlukan
Jadi, sekarang semua orang bisa bermain dengan mudah sesuai kebutuhan
Langkah 7: Penyetelan Sensor
Untuk meminimalkan dampak pemanasan internal ke sensor suhu BME280
Pertama saya melakukan beberapa tabung di sekitar sensor dan lubang. Namun dalam mode saya ketika LED biasanya dimatikan dan ESP sedang tidur tidak begitu penting. Dalam kasus lain sensor BME280 harus pindah ke suatu tempat untuk mengecualikan pengaruh pemanasan internal. Seberapa kecil pengaruh yang saya temukan karena itu ada dua parameter untuk dikompensasi
"hum_corr":10.0
yang berarti nilai-nilai itu akan ditambahkan setelah pengukuran
Kedua adalah kalibrasi pengukuran tegangan baterai, {"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, karena tegangan diukur setelah pembagi resistor dan dibandingkan dengan 3,3 V, bermain dengan nilai cvalmax Anda dapat mencapai penyetelan tegangan yang tepat dengan nilai multimeter Anda
Langkah 8: Menambahkan Perangkat ke Apple Home Kit
Akhirnya ketika perangkat Anda berfungsi dengan baik, itu dapat ditambahkan ke Apple Home Kit dan Anda akan dapat melihat
nilai sensor di layar beranda Apple.
Pertama Anda perlu me-restart perangkat, segera setelah perangkat mulai tidak akan tidur 20 menit lebih dari cukup
Daripada membuka Aplikasi Home Kit di perangkat iOS Anda, dan pilih atau buat Home1 baru. Tekan Tambah (+)
2. Pilih Tambah aksesori.
3. Tekan I don't have a Code or Cannot scan (selanjutnya pemindaian akan ditambahkan)
4. jika semuanya berjalan dengan baik, Anda akan melihat perangkat esp baru Anda dalam daftar (lihat gambar)
5. Pilih perangkat dan konfirmasi penambahan tanpa sertifikasi resmi
6. Ketik kata sandi 11111111
7. Itu Semua! Anda akan melihat perangkat itu berhasil dipasangkan, jika tidak, mulailah proses pemasangan lagi..
Berdasarkan pengaturan ini Anda akan melihat dua perangkat di Apple
1. Sensor suhu & sensor Hum, masuk ke dalam akan menampilkan nilai di layar penuh
2. Sensor cahaya:) Sebenarnya Apple dapat menunjukkan Ambience yang ringan, tetapi tidak Voltage, oleh karena itu voltase baterai ditampilkan di Lux
Langkah 9: OTA: Pembaruan Melalui Udara
Sebelum memulai pembaruan apa pun lebih baik untuk me-reboot ESP32, seperti yang disebutkan sebelumnya, itu tidak akan tidur 20 menit pertama
Ada dua kemungkinan untuk memperbarui
- Konfigurasi menggunakan https://192.168.0. XX/browse Anda dapat mengakses sistem file Anda di ESP dan mengubah file konfigurasi
- Anda dapat sepenuhnya memperbarui firmware. untuk tujuan ini pertama-tama Anda perlu membuat yang baru. Itu dapat dilakukan melalui Arduino atau Visual Studio IDE. Kemudian ketik di browser https://192.168.0. XX/update, pilih firmware Anda dan tekan update. Tunggu sampai proses selesai dan Anda akan mendapatkan respon OK, jika tidak ulangi langkah lagi
Direkomendasikan:
Stasiun Cuaca Surya Modular: 5 Langkah (dengan Gambar)
Stasiun Cuaca Surya Modular: Salah satu proyek yang ingin saya bangun selama beberapa waktu adalah Stasiun Cuaca Modular. Modular dalam arti kita dapat menambahkan sensor yang kita inginkan hanya dengan mengubah software. Modular Weather Station dibagi menjadi tiga bagian. Papan utama memiliki W
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Dilakukan dengan Cara yang Benar: 8 Langkah (dengan Gambar)
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Selesai dengan Cara yang Benar: Setelah 1 tahun beroperasi dengan sukses di 2 lokasi berbeda, saya membagikan rencana proyek stasiun cuaca bertenaga surya saya dan menjelaskan bagaimana hal itu berkembang menjadi sistem yang benar-benar dapat bertahan lama periode dari tenaga surya. Jika Anda mengikuti
Stasiun Pengisian Telepon Tenaga Surya: 4 Langkah
Stasiun Pengisian Telepon Bertenaga Surya: Telepon yang habis adalah masalah umum dunia pertama. Untungnya, dengan sirkuit ini Anda dapat menggunakan kekuatan matahari untuk memberi daya pada ponsel Anda. Tutorial ini HANYA untuk sisi sirkuit. Setiap penahanan aktual dari sistem harus diperoleh di tempat lain
Stasiun Cuaca Surya ESP32: 4 Langkah (dengan Gambar)
ESP32 Solar Weather Station: Untuk proyek IoT pertama saya, saya ingin membangun Weather Station dan mengirim data ke data.sparkfun.com.Koreksi kecil, ketika saya memutuskan untuk membuka akun saya di Sparkfun, mereka tidak menerima lebih banyak koneksi, jadi saya pilih pengumpul data IoT lain
Stasiun Cuaca 5 in 1 Acurite Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca lain Kompatibel): 5 Langkah (dengan Gambar)
Stasiun Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca Lainnya Kompatibel): Ketika saya membeli stasiun cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya saat saya pergi. Ketika saya sampai di rumah dan memasangnya, saya menyadari bahwa saya harus menghubungkan layar ke komputer atau membeli hub pintar mereka