Daftar Isi:
- Perlengkapan
- Langkah 1: Siapkan Lingkungan Arduino untuk ESP8266
- Langkah 2: Sertakan Perpustakaan yang Diperlukan
- Langkah 3: Sesuaikan Sketsa Contoh Standar
- Langkah 4: Unggah UI Web
- Langkah 5: Tambahkan Sensor BME680
- Langkah 6: Tambahkan Sensor PMS5003
- Langkah 7: Menambahkan Beberapa Fitur Jaringan
- Langkah 8: Menambahkan Beberapa Logging
- Langkah 9: Tindakan
- Langkah 10: Gambar dan File Konfigurasi
Video: Bangun Sensor Kualitas Udara IoT Inhouse Tanpa Cloud: 10 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Kualitas udara dalam atau luar ruangan tergantung pada banyak sumber polusi dan juga oleh cuaca.
Perangkat ini menangkap beberapa parameter umum dan beberapa yang paling menarik dengan menggunakan 2 chip sensor.
- Suhu
- Kelembaban
- Tekanan
- Gas Organik
- Partikel Mikro
Sensor yang digunakan di sini adalah BME680 untuk mendapatkan nilai suhu, kelembaban, tekanan dan gas organik dan PMS5003 untuk mendapatkan densitas partikel mikro.
Dengan menggunakan perpustakaan HomeDing, mudah untuk membangun perangkat yang terhubung ke Jaringan rumah Anda saja dan dapat dijangkau dan dikendalikan oleh browser apa pun di jaringan. Muncul dengan pilihan Elemen yang memungkinkan penggunaan chip sensor, perangkat, dan layanan lainnya yang paling umum.
Ini juga membawa solusi lengkap untuk hosting sisi web di dalam perangkat alih-alih menggunakan solusi berbasis cloud untuk menampilkan data sensor dan berinteraksi dengan perangkat.
Perlengkapan
Yang Anda butuhkan untuk membangun proyek ini adalah papan berbasis ESP8266 seperti papan nodemcu dan set sensor untuk mengukur kualitas udara. Pustaka HomeDing yang digunakan dalam proyek ini mendukung beberapa chip sensor umum untuk suhu, kelembapan, tekanan, dan kualitas. Di sini chip BMP680 digunakan.
- Colokan USB dan kabel micro-usb untuk catu daya.
- 1 papan nodemcu dengan CPU ESP8266.
- 1 papan breakout sensor BME680.
- 1 PM2.5 jenis sensor laser partikel udara PMS5003
Sangat mudah untuk menukar sensor BME680 dengan sensor DHT22 karena mereka juga didukung oleh perpustakaan di antara banyak lainnya.
Langkah 1: Siapkan Lingkungan Arduino untuk ESP8266
- Instal versi terbaru Arduino IDE (saat ini versi 1.8.2).
- Gunakan Board Manager untuk menginstal instal dukungan esp8266. Instruksi terperinci dapat ditemukan di sini:
- Siapkan opsi papan untuk NodeMCU 1.0 dengan Sistem File SPIFFS 1MByte seperti yang ditunjukkan pada tangkapan layar
Langkah 2: Sertakan Perpustakaan yang Diperlukan
Pustaka HomeDing bergantung pada beberapa pustaka tambahan umum agar sensor dan tampilan berfungsi.
Ketika Anda menginstal perpustakaan HomeDing Anda akan melihat popup dengan perpustakaan yang diperlukan ini yang dapat diinstal secara otomatis seperti yang ditunjukkan pada gambar dan mudah untuk menginstal semuanya.
Terkadang (dengan alasan yang tidak diketahui) penginstalan pustaka gagal sehingga semua pustaka yang diperlukan harus diinstal secara manual.
Rincian lebih lanjut tentang perpustakaan yang diperlukan dapat ditemukan di situs web dokumentasi di
Ini adalah daftar perpustakaan yang dibutuhkan saat ini:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- ESP8266 dan ESP32 Oled Driver untuk tampilan SSD1306
- RotaryEncoder
- Pustaka sensor DHT untuk ESPx
- OneWire
Sensor laser partikel udara PMS5003 berkomunikasi menggunakan sinyal saluran serial 9600 baud. Sinyal ini ditangkap dengan menggunakan pustaka SoftwareSerial yang disertakan dengan penginstalan alat ESP8266. Pastikan untuk tidak menginstal versi lama sebagai pustaka.
Langkah 3: Sesuaikan Sketsa Contoh Standar
Contoh Standar sudah menyertakan beberapa sensor yang lebih umum sebagai elemen sehingga hanya beberapa konfigurasi yang diperlukan.
Ini berlaku untuk sensor BME680 yang didukung oleh Elemen BME680.
Sensor PMS5003 kurang umum dan perlu diaktifkan dengan memasukkan Elemen PMS ke dalam firmware. Ini dilakukan dengan mendefinisikan #define HOMEDING_INCLUDE_PMS di bagian register elemen sketsa
#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS
Untuk mempermudah dalam menambahkan perangkat baru ke jaringan, Anda dapat menambahkan SSID dan frasa sandi WiFi rumah Anda di file secret.h di sebelah file sketsa standard.ino. Tetapi Anda juga dapat menggunakan Pengelola WiFi bawaan untuk menambahkan perangkat ke jaringan tanpa konfigurasi hard-code ini.
Sekarang semua tentang implementasi sketsa selesai dan firmware dapat dikompilasi dan diunggah.
Langkah 4: Unggah UI Web
Contoh standar dilengkapi dengan folder data yang berisi semua file untuk UI web.
Sebelum Anda mengunggah file-file ini, Anda mungkin ingin menambahkan file env.json dan config.json yang dapat Anda temukan dengan artikel ini karena ini akan mempermudah segalanya.
Isi dari file-file ini adalah apa yang membuat perangkat IoT istimewa dan berperilaku sebagai sensor Kualitas Udara. Dijelaskan secara detail dalam cerita ini.
Gunakan utilitas unggah file ESP8266 dan unggah semua file. Perlu reboot untuk mengaktifkan konfigurasi.
Langkah 5: Tambahkan Sensor BME680
Sensor BME680 berkomunikasi dengan papan menggunakan bus I2C.
Karena ini mungkin dibagikan dengan ekstensi lain seperti sensor atau tampilan lain, dikonfigurasi pada tingkat perangkat di env.json bersama dengan nama jaringan perangkat. Berikut adalah contoh perangkat dan pengaturan I2C yang diekstraksi:
"perangkat": {
"0": { "name": "airding", "description": "Sensor Kualitas Udara", … "i2c-scl": "D2", "i2c-sda": "D1" } }
Di papan tempat memotong roti Anda dapat melihat kabel koneksi ke sensor: 3.3V=merah, GND=hitam, SCL=kuning, SDA=biru
Konfigurasi untuk BME680 dapat digunakan di config.json:
"bme680": {
"bd": { "alamat": "0x77", "waktu baca": "10s" } }
Kami akan menambahkan tindakan nanti.
Untuk menguji pengaturan cukup gunakan browser dan buka https://airding/board.htm dan Anda akan melihat nilai sebenarnya dari sensor yang ditampilkan dan akan diperbarui setiap 10 detik:
Langkah 6: Tambahkan Sensor PMS5003
Saya tidak punya sensor dengan konektor ramah papan tempat memotong roti jadi saya harus memotong salah satu konektor pada kabel menggunakan besi solder saya untuk langsung menempelkannya ke papan nodemcu. Anda dapat melihatnya masih di gambar akhir.
Daya untuk sensor ini harus diambil dari Vin yang biasanya ditenagai oleh bus USB. GND sama tetapi juga tersedia di sebelah pin Vin.
Data dari sensor ditransfer dalam format serial standar 9600 baud sehingga pin rx dan tx serta waktu membaca perlu dikonfigurasi:
"pm": {
"pm25": { "description": "sensor partikel pm25", "pinrx": "D6", "pintx": "D5", "readtime": "10s" } }
Kami akan menambahkan tindakan nanti.
Untuk menguji pengaturan lagi, cukup reboot perangkat dan gunakan browser dan buka https://airding/board.htm dan Anda akan melihat nilai pm35 aktual dari sensor yang ditampilkan dan mereka akan diperbarui setiap 10 detik tetapi nilai ini biasanya tidak sering berubah.
Anda bisa mendapatkan nilai yang lebih tinggi dengan menempatkan cahaya lilin di sebelah sensor karena lilin menghasilkan banyak partikel ini.
Sekarang Anda dapat meletakkan semuanya dalam wadah yang bagus karena semua konfigurasi lain dan bahkan pembaruan perangkat lunak dapat dilakukan dari jarak jauh.
Langkah 7: Menambahkan Beberapa Fitur Jaringan
Ekstrak konfigurasi berikut di env.json diaktifkan
- memperbarui firmware melalui udara
- memungkinkan mendeteksi jaringan menggunakan protokol jaringan SSDP dan mengambil waktu saat ini dari server ntp.
{
… "ota": { "0": { "port": 8266, "passwd": "123", "description": "Dengarkan Pembaruan OTA 'over the air'" } }, "ssdp": { "0 ": { "Produsen": "nama Anda" } }, "ntptime": { "0": { "readtime": "36j", "zone": 2 } } }
Anda harus menyesuaikan zona waktu dengan lokasi Anda. Jika Anda ragu, Anda dapat menggunakan situs web https://www.timeanddate.com/ untuk mendapatkan offset dari UTC/GMT. "2" tepat untuk musim panas Jerman.
Anda juga dapat menyesuaikan kata sandi ota setelah membaca instruksi mengenai mode simpan dalam dokumentasi di
Setelah restart, Anda mungkin menemukan perangkat yang ditayangkan di jaringan dan setelah mendapatkan balasan dari server ntp, waktu lokal tersedia.
Langkah 8: Menambahkan Beberapa Logging
Hanya nilai aktual yang mungkin tidak cukup sehingga beberapa elemen lagi dapat digunakan.
Untuk cerita ini, elemen Log dan Elemen NPTTime digunakan untuk merekam riwayat nilai sensor dalam file log dan kartu UI Web untuk elemen ini dapat menampilkannya sebagai grafik.
Konfigurasi berikut membuat 2 elemen log untuk gas dan partikel:
{
"log": { "pm": { "description": "Log of pm25", "filename": "/pmlog.txt", "filesize": "10000" }, "aq": { "description": " Log kualitas gas", "nama file": "/aqlog.txt", "ukuran file": "10000" } } }
Langkah 9: Tindakan
Sekarang kita perlu mentransfer nilai aktual ke elemen log dengan menggunakan tindakan. Tindakan menggunakan notasi URL untuk meneruskan kay dan nilai ke elemen target. Banyak Elemen mendukung tindakan emisi pada peristiwa tertentu yang terjadi seperti menangkap nilai sensor baru.
Tindakan dikonfigurasi pada elemen yang memancarkan tindakan 2 entri diperlukan:
- Acara onvalue pms/p25 mengirimkan nilai aktual ke elemen log/pm menggunakan tindakan nilai.
- Acara bme680/bd ongas mengirimkan nilai aktual ke elemen log/pm menggunakan tindakan nilai.
{
"pms": { "pm25": { … "onvalue": "log/pm?value=$v" } }, "bme680": { "bd": { … "ongas": "log/aq?value= $v" } } }
Sekarang semua elemen dikonfigurasi.
Langkah 10: Gambar dan File Konfigurasi
Berikut adalah beberapa gambar sensor Kualitas Udara IoT terakhir saya.
File konfigurasi untuk diunduh perlu diganti namanya menjadi *.json (tanpa.txt) sebelum diunggah.
Tautan dan referensi
- Repositori Kode Sumber HomeDing:
- Dokumentasi:
- Contoh Standar:
- Elemen BME680:
- Elemen PMS:
- Elemen log:
- Elemen NtpTime:
Direkomendasikan:
Sensor Kualitas Udara AEROBOT V1.0: 6 Langkah (dengan Gambar)
AEROBOT Air Quality Sensor V1.0: Instruksi ini adalah tentang membuat sensor kualitas udara yang murah dan sangat akurat bernama AEROBOT. Proyek ini menunjukkan suhu, kelembaban relatif, kepadatan debu PM 2.5 dan peringatan tentang kualitas udara di sekitarnya. Ini menggunakan sensor DHT11
Sensor Kualitas Udara Menggunakan Arduino: 4 Langkah
Sensor Kualitas Udara Menggunakan Arduino: Dalam posting ini, kita akan belajar cara membuat sensor kualitas udara yang sederhana namun bermanfaat. Kami akan menggunakan sensor SGP30 bersama dengan Piksey Pico, meskipun sketsa akan bekerja dengan hampir semua papan Arduino yang kompatibel. Video di atas berbicara kepada Anda melalui
Monitor Kualitas Udara Dengan MQ135 dan Sensor Suhu dan Kelembaban Eksternal Melalui MQTT: 4 Langkah
Monitor Kualitas Udara Dengan MQ135 dan Sensor Suhu dan Kelembaban Eksternal Melalui MQTT: Ini untuk tujuan pengujian
Cubesat Dengan Sensor Kualitas Udara dan Arduino: 4 Langkah
Cubesat Dengan Sensor Kualitas Udara dan Arduino: Pembuat CubeSat: Reghan, Logan, Kate, dan Joan Pendahuluan Pernahkah Anda bertanya-tanya bagaimana cara membuat pengorbit Mars untuk mengumpulkan data tentang atmosfer dan kualitas udara Mars? Sepanjang tahun ini di kelas fisika kami, kami telah belajar bagaimana memprogram A
Pendingin / Penyangga Laptop Tanpa Biaya (Tanpa Lem, Tanpa Pengeboran, Tanpa Mur & Baut, Tanpa Sekrup): 3 Langkah
Pendingin / Penyangga Laptop Tanpa Biaya (Tanpa Lem, Tanpa Pengeboran, Tanpa Mur & Baut, Tanpa Sekrup): UPDATE: MOHON MOHON VOTE UNTUK SAYA INSTRUCTABLE, TERIMA KASIH ^_^ ANDA JUGA INGIN MEMILIH KONTES SAYA YANG LAINNYA MASUK DI www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ ATAU MUNGKIN PILIH TEMAN TERBAIK SAYA