Daftar Isi:

ESP32 WiFi Weather Station Dengan Sensor BME280: 7 Langkah (dengan Gambar)
ESP32 WiFi Weather Station Dengan Sensor BME280: 7 Langkah (dengan Gambar)

Video: ESP32 WiFi Weather Station Dengan Sensor BME280: 7 Langkah (dengan Gambar)

Video: ESP32 WiFi Weather Station Dengan Sensor BME280: 7 Langkah (dengan Gambar)
Video: Modul ESP32 - 005. Monitoring data hasi pengukuran sensor BME280 pada platform IoT ThingSpeak 2024, Juli
Anonim
Image
Image
Stasiun Cuaca WiFi ESP32 Dengan Sensor BME280
Stasiun Cuaca WiFi ESP32 Dengan Sensor BME280
Stasiun Cuaca WiFi ESP32 Dengan Sensor BME280
Stasiun Cuaca WiFi ESP32 Dengan Sensor BME280

Teman-teman, selamat datang di tutorial lain! Dalam tutorial ini kita akan membangun proyek stasiun cuaca berkemampuan WiFi! Kami akan menggunakan chip ESP32 baru yang mengesankan untuk pertama kalinya bersama dengan tampilan Nextion.

Di video kali ini kita akan membuatnya. Ini adalah proyek stasiun cuaca lain yang saya tahu, tapi kali ini kami menggunakan chip ESP32 baru! Kami juga menggunakan sensor BME280 baru yang mengukur suhu, kelembapan, dan tekanan udara. Ketika kami menyalakan proyek, itu terhubung ke jaringan WiFi, dan itu akan mengambil ramalan cuaca untuk lokasi saya dari situs web openweathermap. Kemudian akan menampilkan prakiraan pada Layar Sentuh Nextion 3,2” ini bersama dengan pembacaan dari sensor! Pembacaan diperbarui setiap dua detik dan ramalan cuaca setiap jam! Seperti yang Anda lihat, dalam proyek ini kami menggunakan teknologi terbaru yang tersedia untuk pembuat hari ini! Jika Anda seorang veteran DIY, Anda dapat membangun proyek ini dalam lima menit.

Jika Anda seorang pemula, Anda harus menonton beberapa video sebelum mencoba proyek ini. Anda dapat menemukan tautan ke video ini di Instructable ini, jangan khawatir.

Ayo mulai!

Langkah 1: Dapatkan Semua Bagian

Dapatkan Semua Bagian
Dapatkan Semua Bagian

Untuk membangun proyek ini kita membutuhkan bagian-bagian berikut:

  • Papan ESP32
  • Sensor BME280 I2C
  • Tampilan Berikutnya 3,2”
  • Breadboard Kecil
  • Beberapa kabel

Biaya proyek ini sekitar $30.

Alih-alih ESP32, kita bisa menggunakan chip ESP8266 yang lebih murah, tetapi saya memutuskan untuk menggunakan ESP32 untuk mendapatkan pengalaman dengannya dan melihat apa yang berhasil dan apa yang tidak.

Langkah 2: ESP32

Image
Image
ESP32
ESP32

Ini adalah proyek pertama yang saya buat dengan chip ESP32 baru.

Jika Anda belum mengetahuinya, chip ESP32 adalah penerus chip ESP8266 populer yang telah kami gunakan berkali-kali di masa lalu. ESP32 adalah binatang buas! Ia menawarkan dua 32 inti pemrosesan yang beroperasi pada 160MHz, sejumlah besar memori, WiFi, Bluetooth, dan banyak fitur lainnya dengan biaya sekitar $7! Hal-hal yang menakjubkan!

Silakan tonton ulasan terperinci yang telah saya siapkan untuk forum ini. Saya telah melampirkan video di Instructable ini. Ini akan membantu memahami mengapa chip ini akan mengubah cara kita membuat sesuatu selamanya!

Langkah 3: Tampilan Berikutnya

Image
Image
Sensor BME280
Sensor BME280

Juga, ini adalah proyek pertama yang saya buat dengan layar sentuh Nextion.

Tampilan Nextion adalah jenis tampilan baru. Mereka memiliki prosesor ARM sendiri di bagian belakang yang bertanggung jawab untuk mengarahkan tampilan dan membuat antarmuka pengguna grafis. Jadi, kita dapat menggunakannya dengan mikrokontroler apa pun dan mencapai hasil yang spektakuler.

Saya telah menyiapkan Instruksi terperinci tentang tampilan Nextion ini yang menjelaskan secara mendalam cara kerjanya, cara menggunakannya, dan kekurangannya. Anda dapat membacanya dengan mengklik di sini:

Langkah 4: Sensor BME280

Sensor BME280
Sensor BME280

BME280 dalam sensor hebat baru dari Bosch.

Selama ini saya menggunakan sensor BMP180 yang dapat mengukur suhu dan tekanan udara. Sensor BME280 dapat mengukur suhu, kelembaban, dan tekanan udara! Betapa kerennya itu! Kami hanya membutuhkan satu sensor untuk membangun stasiun cuaca yang lengkap!

Selain itu, sensor ini berukuran sangat kecil dan sangat mudah digunakan. Modul yang akan kita gunakan hari ini menggunakan antarmuka I2C sehingga membuat komunikasi dengan Arduino sangat mudah. Kami hanya menghubungkan daya dan dua kabel lagi untuk membuatnya berfungsi.

Sudah ada banyak perpustakaan yang dikembangkan untuk sensor ini sehingga kami dapat menggunakannya dalam proyek kami dengan sangat mudah! Biaya sensor adalah sekitar $5. Anda bisa mendapatkannya di sini

CATATAN: Kami membutuhkan sensor BME280. Ada juga sensor BMP280 yang tidak menawarkan pengukuran kelembaban. Hati-hati untuk memesan sensor yang Anda butuhkan.

Langkah 5: Menghubungkan Bagian

Menghubungkan Bagian
Menghubungkan Bagian
Menghubungkan Bagian
Menghubungkan Bagian
Menghubungkan Bagian
Menghubungkan Bagian

Sambungan bagian-bagiannya sangat mudah seperti yang Anda lihat dari diagram skematik.

Karena sensor BME280 menggunakan antarmuka I2C, kita hanya perlu menghubungkan dua kabel untuk berkomunikasi dengan ESP32. Saya telah memasang sensor ke Pin 26 dan 27. Secara teori, setiap pin digital papan ESP32 dapat digunakan dengan periferal I2C. Namun dalam praktiknya, saya menemukan bahwa beberapa pin tidak berfungsi karena dicadangkan untuk kegunaan lain. Pin 26 dan 27 berfungsi dengan baik!

Untuk mengirim data ke layar, kita hanya perlu menghubungkan satu kabel ke pin TX0 dari ESP32. Saya harus membengkokkan pin seperti ini untuk menghubungkan kabel betina layar karena papan ESP32 terlalu besar untuk papan tempat memotong roti ini.

Setelah menghubungkan bagian-bagian, kita harus memuat kode ke ESP32, dan kita harus memuat GUI ke tampilan Nextion. Jika Anda kesulitan mengunggah program ke board ESP32, tahan tombol BOOT setelah menekan tombol unggah pada Arduino IDE.

Untuk memuat GUI ke tampilan Nextion, salin file WeatherStation.tft yang akan saya bagikan dengan Anda ke kartu SD kosong. Masukkan kartu SD ke dalam slot kartu SD di bagian belakang layar. Kemudian nyalakan layar, dan GUI akan dimuat. Kemudian keluarkan kartu SD dan sambungkan kembali daya.

Setelah berhasil memuat kode proyek akan terhubung ke jaringan WiFi, akan mendapatkan ramalan cuaca dari situs openweathermap.org, dan akan menampilkan pembacaan dari sensor. Sekarang mari kita lihat sisi perangkat lunak dari proyek.

Langkah 6: Kode Proyek

Kode Proyek
Kode Proyek
Kode Proyek
Kode Proyek
Kode Proyek
Kode Proyek

Untuk mengurai data cuaca, kita membutuhkan perpustakaan Arduino JSON yang sangat baik. Kami juga membutuhkan perpustakaan untuk sensor.

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

Mari kita lihat kodenya sekarang.

Pertama-tama, kita harus mengatur SSID dan kata sandi jaringan WiFi kita. Selanjutnya kita harus memasukkan APIKEY gratis dari website operweathermap.org. Untuk membuat kunci API Anda sendiri, Anda harus mendaftar di situs web. Mendapatkan data dan ramalan cuaca saat ini gratis, tetapi situs web menawarkan lebih banyak opsi jika Anda bersedia membayar sejumlah uang. Selanjutnya, kita harus menemukan id lokasi kita. Temukan lokasi Anda dan salin ID yang dapat ditemukan di URL lokasi Anda.

Kemudian masukkan id kota Anda di variabel CityID. Juga, masukkan ketinggian kota Anda dalam variabel ini. Nilai ini diperlukan untuk pembacaan tekanan barometrik yang akurat dari sensor.

const char* ssid = "SSID Anda";const char* kata sandi = "Kata Sandi Anda"; String ID Kota = "253394"; //Sparta, Yunani String APIKEY = "yourAPIkey"; #define ALTITUDE 216.0 // Ketinggian di Sparta, Yunani

Sekarang kita siap untuk melanjutkan.

Pada awalnya, kami menginisialisasi sensor, dan kami terhubung ke Jaringan WiFi. Kemudian kami meminta data cuaca dari server.

Kami mendapat balasan dengan data cuaca dalam format JSON. Sebelum mengirim data ke perpustakaan JSON, saya secara manual menghapus beberapa karakter yang menyebabkan masalah bagi saya. Kemudian perpustakaan JSON mengambil alih, dan kita dapat dengan mudah menyimpan data yang kita butuhkan dalam variabel. Setelah kita menyimpan data dalam variabel, yang harus kita lakukan adalah menampilkannya di layar dan menunggu satu jam sebelum meminta data baru dari server. Satu-satunya informasi yang saya sajikan adalah ramalan cuaca, tetapi Anda dapat menampilkan lebih banyak informasi jika Anda mau. Semuanya di sini disimpan dalam variabel. Kemudian kami membaca suhu, kelembaban dan tekanan udara dari sensor dan kami mengirim data ke tampilan Nextion.

Untuk mengupdate tampilan, kita cukup mengirimkan beberapa perintah ke serial port seperti ini:

void showConnectingIcon(){ Serial.println(); Perintah string = "weatherIcon.pic=3"; Serial.print(perintah); endNextionCommand(); }

GUI Nextion terdiri dari latar belakang, beberapa kotak teks dan gambar yang berubah tergantung pada ramalan cuaca. Silakan tonton tutorial tampilan Nextion untuk informasi lebih lanjut. Anda dapat dengan cepat mendesain GUI Anda sendiri jika diinginkan dan menampilkan lebih banyak hal di dalamnya.

Seperti biasa, Anda dapat menemukan kode proyek yang dilampirkan ke Instructable ini

Langkah 7: Pemikiran & Perbaikan Terakhir

Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir

Seperti yang Anda lihat, pembuat yang berpengalaman saat ini dapat membangun proyek yang menarik hanya dalam beberapa jam dengan beberapa baris kode dan hanya tiga bagian! Proyek seperti ini tidak mungkin dibuat bahkan dua tahun yang lalu!

Tentu saja, ini baru permulaan proyek. Saya ingin menambahkan banyak fitur ke dalamnya, seperti grafik, fungsionalitas sentuh yang sekarang hilang, mungkin tampilan yang lebih besar dan tentu saja penutup cetakan 3D yang tampak indah. Saya juga akan mendesain GUI dan ikon yang terlihat lebih baik. Saya memiliki beberapa ide yang sangat segar untuk diterapkan!

Saya akan senang mendengar pendapat Anda tentang proyek hari ini. Jenis fitur apa yang Anda ingin saya tambahkan ke proyek? Apakah Anda suka tampilannya? Bagaimana Anda ingin melihatnya berkembang? Silakan posting ide Anda di bagian komentar di bawah ini; Saya suka membaca pikiran Anda!

Kontes Nirkabel
Kontes Nirkabel
Kontes Nirkabel
Kontes Nirkabel

Runner Up dalam Kontes Nirkabel

Direkomendasikan: