Daftar Isi:

ESP8266 NodeMCU Dengan Pengukur & Bagan BME280: 5 Langkah
ESP8266 NodeMCU Dengan Pengukur & Bagan BME280: 5 Langkah

Video: ESP8266 NodeMCU Dengan Pengukur & Bagan BME280: 5 Langkah

Video: ESP8266 NodeMCU Dengan Pengukur & Bagan BME280: 5 Langkah
Video: Monitor Cuaca di NodeMCU ESP8266 dengan JSON API | Tutorial Pemrograman Arduino dan IoT 2024, November
Anonim
ESP8266 NodeMCU Dengan Pengukur & Bagan BME280
ESP8266 NodeMCU Dengan Pengukur & Bagan BME280
ESP8266 NodeMCU Dengan Pengukur & Bagan BME280
ESP8266 NodeMCU Dengan Pengukur & Bagan BME280

Pengukur dan Bagan Mewah untuk papan Pengembangan NodeMCU ESP8266 Anda dengan sensor Suhu, Kelembaban, dan Tekanan BME280. Thingspeak akan menyimpan semua data Anda di cloud untuk diambil kapan saja selama bertahun-tahun (semoga) yang akan datang. Alat pengukur dan grafik diisi dari data yang disimpan di thingspeak dan diperbarui secara otomatis setiap 5 menit.

Item yang dibutuhkan:

Papan Pengembangan ESP8266 NodeMCU ($3,79 dari Banggood.com Hong Kong)

Bosch BME280 ($5,63 dari Banggood.com Hong Kong)

Jumper papan tempat memotong roti ($3,09 dari Banggood.com Hong Kong)

Papan tempat memotong roti ($2,28 dari Banggood.com Hong Kong)

Catu Daya, Gratis jika Anda memiliki pengisi daya telepon micro USB

Kabel Micro USB, Gratis jika Anda sudah memilikinya

Arduino IDE, Unduh Gratis

Dapatkan file kode.ino &. HTML di sini

Langkah 1: Buat & Siapkan Saluran Thingspeak Anda

Buat & Siapkan Saluran Thingspeak Anda
Buat & Siapkan Saluran Thingspeak Anda

1. Buat akun Thingspeak gratis dan saluran baru di https://thingspeak.com, Hubungi saluran "ESP8266-NodeMCU-12E-BME280"

2. Saluran baru harus memiliki 3 bidang bernama Temperatur Kelembaban Tekanan dalam urutan tertentu (Catatan kapitalisasi Huruf Pertama).

3. Catat "ID saluran" baru Anda XXXXXX di bawah "Setelan Saluran"

4. Klik tautan "Kunci API" dan catat "Penulisan API" dan "Baca Kunci API" Anda XXXXXXXXXXXXXXX. Juga, jadikan ini saluran publik di bawah berbagi.

5. Buat saluran Thingspeak kedua yang akan menampung data "Hari Ini" (sejak tengah malam) Tinggi Rendah. Sebut saja "BME280 Daily High Low Data"

6. Saluran baru ini harus memiliki 6 bidang bernama Tmax Tmin Hmax Hmin Pmax Pmin dalam urutan tertentu (Catatan kapitalisasi Huruf Pertama).

7. Catat "BME280 Daily High Low Data" "channel ID", "Read" & "Write API keys" seperti langkah di atas.

Langkah 2: Siapkan Arduino IDE, Perpustakaan dan Konfigurasi BME280

Siapkan Arduino IDE, Perpustakaan dan Konfigurasi BME280
Siapkan Arduino IDE, Perpustakaan dan Konfigurasi BME280

8. Ikuti petunjuk pemasangan inti Arduino IDE & ESP8266 di

9. Jalankan Arduino IDE sehingga kita dapat menginstal empat library yang kita perlukan.

10. Anda memerlukan library "Adafruit Unified Sensor Driver", instal di "Library Manager" di Arduino IDE. Menu Sketch Include Library Manage Libraries lakukan pencarian dengan Type = "Recommended" Topic = "Sensors" lalu masukkan tulisan Adafruit Unified Sensor Driver pada kotak pencarian. Yang Anda inginkan bertuliskan "Adafruit Unified Sensor Driver by Adafruit"

11. Selain itu, Anda juga akan meminta "Adafruit BME280 Library" untuk menginstalnya di "Library Manager" di Arduino IDE. Menu Sketch Include Library Manage Libraries lakukan pencarian dengan Type = "Recommended" Topic = "Sensors" lalu masukkan tulisan Adafruit BME280 Library pada kotak pencarian. Yang Anda inginkan mengatakan "Perpustakaan Adafruit BME280 oleh Adafruit"

12. Library lain yang Anda butuhkan adalah Wire.h, instal di "Library Manager" di Arduino IDE. Menu, Sketsa Sertakan Pustaka Kelola Pustaka Lakukan pencarian dengan Type = "Contributed" Topic = "Signal Input/Output" lalu masukkan kata Wire pada kotak pencarian. Yang Anda inginkan mengatakan "Wire Built-in by Arduino" Kemungkinan besar di bagian bawah pilihan.

13. Satu lagi library ESP8266WiFi, install di "Library Manager" di Arduino IDE. Menu, Sketch Include Library Manage Libraries Lakukan pencarian dengan Type = "Contributed" Topic = "Communication" lalu masukkan kata ESP8266wifi pada kotak pencarian. Yang Anda inginkan mengatakan "ESP8266wifi Built-in oleh Ivan Grokhotkov"

14. Alamat I2C untuk BME280 di hardcode di file Adafruit_BME280.h (cari baris #define BME280_ADDRESS 0x77) di dalam folder Adafruit_BME280_Library. Modul sensor BME Adafruit sudah terprogram untuk menggunakan alamat I2C 0x77. Tetapi BME280 dapat memiliki alamat I2C yang sedikit berbeda (0x76) jika pin SDO eksternalnya di-ground. Jika Anda menggunakan modul sensor dari pihak ketiga, kemungkinan alamatnya tidak akan cocok dengan nilai default di pustaka Adafruit. Misalnya, untuk sebagian besar modul sensor BME280 yang tersedia di eBay atau Aliexpress, alamat I2C-nya adalah 0x76. Jika Anda tidak mendapatkan respons dari sensor menggunakan alamat default yang ditetapkan dalam file Adafruit_BME280.h, Anda mungkin perlu mengubahnya menjadi 0x76.

Titik Koneksi BME280 & ESP8266. ESP8266 3.3V ke BME280 Vin, ESP8266 GND ke BME280 GND, ESP8266 D4 ke BME280 SCL, ESP8266 D3 ke BME280 SDA. 15. Buka file ESP8266-NodeMCU-12E-BME280.html yang disediakan di editor teks dan masukkan "ESP8266-NodeMCU-12E-BME280" Anda (Saluran pertama yang Anda buat) "ID Saluran" & "Baca Kunci API" untuk variabel kunci1 & chan1. Masukkan juga "Baca API Key" dan "Channel ID" untuk "BME280 Daily High Low Data" (Channel kedua yang Anda buat) untuk key2 dan chan2. Selain itu, masukkan offset zona waktu Anda dari UTC. Seperti dalam -5 untuk saya. Semua nilai harus berada di dalam tanda kutip tunggal 'XXXXX'. Simpan dan keluar dari editor teks.

Colokkan ESP8266 Anda dengan kabel USB ke komputer Anda kemudian pilih port serial Anda untuk menjadi port USB.

Pengguna Linux mungkin harus mengubah kepemilikan port USB untuk berkomunikasi dengan /dev/ttyUSB0 seperti dalam 'sudo chown yourusername /dev/ttyUSB0' atau apa pun yang Anda pilih sebagai port saat setup.

Langkah 3: Program ESP8266 Dengan Arduino IDE

Program ESP8266 Dengan Arduino IDE
Program ESP8266 Dengan Arduino IDE

16. Selanjutnya kita akan memprogram ESP8266. Hubungkan kabel USB antara ESP8266 dan komputer Anda.

Muat file New_BME_Sensor.ino yang disediakan ke dalam Arduino IDE. Sensor BME280 Anda harus terhubung ke D3 (SDA) & D4 (SCL) pada ESP8266. Masukkan "ESP8266-NodeMCU-12E-BME280" Anda (Saluran pertama yang Anda buat) "Write Key" "Wireless SSID" & "Password" ke bagian sketsa yang benar. Kemudian klik item menu "Sketsa" & "Unggah". Setelah Anda mengunggah sketsa (Kemajuan mencapai 100%) ke ESP8266 Anda, Anda dapat membuka monitor serial (Ikon kanan atas terlihat seperti kaca pembesar) dan melihat data Anda dicetak setelah 5 Menit, setiap 5 Menit. Data dikirim ke thingspeak pada interval 5 menit sehingga akan membutuhkan waktu sebelum Anda memiliki data grafik yang berarti tetapi Anda harus memiliki pembacaan pengukur setelah 5 menit.

Pastikan Anda mendapatkan pembacaan yang benar dari BME280 di monitor serial.

Pengukuran pertama kemungkinan akan menjadi nan tidak valid.

Tunggu beberapa menit hingga pembacaan berikutnya dan pastikan pembacaannya terlihat bagus.

Langkah 4: Kembali ke Thingspeak untuk Melakukan Beberapa Tweaking Data

Kembali ke Thingspeak untuk Melakukan Beberapa Tweaking Data
Kembali ke Thingspeak untuk Melakukan Beberapa Tweaking Data

17. Sekarang, Sementara data perlahan-lahan diunggah ke thingspeak, mari kita lakukan beberapa penyesuaian untuk mendapatkan beberapa data tambahan dari apa yang diunggah. Kembali ke situs web thingspeak dan di halaman saluran "BME280 Daily High Low Data" Thingspeak (Saluran kedua yang Anda buat) klik tombol hijau "Analisis MATLAB". Pilih Template "Kustom (Tanpa Kode Pemula)"

18. Beri nama Analisis MATLAB “Hitung Min Max Sejak Tengah Malam”.

19. Salin kode MATLAB Analysis.txt ke dalam tempat yang disediakan. Masukkan "channel ID" untuk "ESP8266-NodeMCU-12E-BME280" (Channel pertama yang Anda buat) ke dalam "readChannelID". Masukkan "BME280 Daily High Low Data" (Channel kedua yang Anda buat) Tulis "Channel ID" & "Write Key" ke writeNewChannelID & writeAPIKey masing-masing. Saya tahu kedengarannya membingungkan (baca lagi). Klik simpan dan jalankan. Jika Anda melakukannya dengan benar dan saluran baca bersifat publik, Anda tidak akan melihat kesalahan dan berhasil mencetak nilainya. Catatan, Anda mungkin melihat kesalahan jika belum ada data yang diunggah ke saluran tersebut. Meskipun kesalahan terus. Jika diinginkan, Anda dapat mengunjungi kembali Klik simpan dan jalankan untuk memastikannya berfungsi setelah data diunggah.

20. Selanjutnya, kita perlu membuat "Kontrol Waktu" untuk mengaktifkan kode ini setiap 5 menit dan data kita akan ditulis ke saluran "BME280 Daily High Low Data" (Saluran kedua yang Anda buat). Dari halaman utama "BME280 Daily High Low Data" (Saluran kedua yang Anda buat) pilih Aplikasi di bagian atas. Di bawah tindakan pilih "TimeControl" lalu tombol Hijau "New TimeControl". Beri nama "Kirim ESP8266 Suhu Rendah Tinggi". Pilih zona waktu Anda jika diperlukan dan pilih "Berulang" di bawah Frekuensi. Pilih Menit di bawah Pengulangan. Atur agar berjalan setiap 5 Menit. Tindakan harus Analisis MATLAB dan "Kode untuk Jalankan" adalah "Hitung Min Max Sejak Tengah Malam". Hemat Waktu Kontrol.

Langkah 5: Edit File HTML yang Disediakan

Edit File HTML yang Disediakan
Edit File HTML yang Disediakan

Edit file HTML dan cari komentar yang mengatakan "********* Ubah Saya 1 dari 8 *********" Ubah ini sesuai keinginan Anda.

Catatan:

Beberapa bidang teks dan bagan mingguan tidak akan terisi dengan benar hingga Anda memiliki data sehari penuh dan seminggu penuh untuk bagian dan bagan 24 Jam dan Minggu. Setelah Anda memiliki banyak data, Anda dapat memperbesar grafik dengan roda mouse (Klik Kanan untuk Mengatur Ulang). Anda juga dapat memiliki pengukur keempat (seperti yang terlihat pada tangkapan layar) dari sensor lain dari saluran lain, tetapi saya telah menyelesaikan bagian yang relevan. Jika Anda merasa cerdas, kaitkan. Ada juga beberapa masalah waktu yang harus diperhatikan. Anda mungkin tidak akan memiliki data terkini yang mutlak tetapi harus selalu berumur kurang dari 5 Menit. Ini berasal dari saat kontrol waktu diaktifkan, Saat data dikirim dari ESP8266 dan saat Anda memuat / menyegarkan halaman web.

Buka file ESP8266-NodeMCU-12E-BME280.html yang disediakan di browser web Anda dan Anda akan melihat pengukur dan grafik terisi.

Dapatkan file kode.ino &. HTML di sini

Direkomendasikan: