Isi kandungan:
- Bekalan
- Langkah 1: Siapkan Arduino Environment untuk ESP8266
- Langkah 2: Sertakan Perpustakaan yang Diperlukan
- Langkah 3: Sesuaikan Lakaran Contoh Standard
- Langkah 4: Muat naik UI Web
- Langkah 5: Tambahkan Sensor BME680
- Langkah 6: Tambahkan Sensor PMS5003
- Langkah 7: Menambah Beberapa Ciri Rangkaian
- Langkah 8: Menambah Sebilangan Pembalakan
- Langkah 9: Tindakan
- Langkah 10: Fail Gambar dan Konfigurasi
Video: Bina Sensor Kualiti Udara IoT Inhouse Tidak Perlu Awan: 10 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Kualiti udara dalaman atau luaran bergantung kepada banyak sumber pencemaran dan juga oleh cuaca.
Peranti ini menangkap beberapa parameter biasa dan beberapa yang paling menarik dengan menggunakan 2 cip sensor.
- Suhu
- Kelembapan
- Tekanan
- Gas Organik
- Zarah Mikro
Sensor yang digunakan di sini adalah BME680 untuk mendapatkan suhu, kelembapan, tekanan dan nilai gas organik dan PMS5003 untuk mendapatkan ketumpatan zarah mikro.
Dengan menggunakan perpustakaan HomeDing, mudah untuk membuat peranti yang disambungkan ke Rangkaian rumah anda sahaja dan dapat dijangkau dan dikendalikan oleh penyemak imbas di rangkaian. Ia dilengkapi dengan pilihan Elemen yang membolehkan menggunakan cip sensor, peranti dan perkhidmatan lain yang paling biasa.
Ini juga membawa solusi lengkap untuk hosting sisi web di dalam peranti dan bukannya menggunakan penyelesaian berasaskan cloud untuk menampilkan data sensor dan berinteraksi dengan perangkat.
Bekalan
Yang anda perlukan untuk membina projek ini ialah papan berasaskan ESP8266 seperti papan nodemcu dan set sensor untuk mengukur kualiti udara. Perpustakaan HomeDing yang digunakan dalam projek ini menyokong beberapa cip sensor biasa untuk suhu, kelembapan, tekanan dan kualiti. Di sini digunakan cip BMP680.
- Palam USB dan kabel mikro-usb untuk bekalan kuasa.
- 1 papan nodemcu dengan CPU ESP8266.
- 1 papan pemecah sensor BME680.
- Sensor laser zarah udara 1 PM2.5 jenis PMS5003
Sangat mudah untuk menukar sensor BME680 dengan sensor DHT22 kerana mereka juga disokong oleh perpustakaan antara lain.
Langkah 1: Siapkan Arduino Environment untuk ESP8266
- Pasang versi terbaru Arduino IDE (kini versi 1.8.2).
- Gunakan Pengurus Papan untuk memasang pemasangan sokongan esp8266. Arahan terperinci boleh didapati di sini:
- Sediakan pilihan papan untuk NodeMCU 1.0 dengan Sistem Fail 1MByte SPIFFS seperti yang ditunjukkan dalam tangkapan skrin
Langkah 2: Sertakan Perpustakaan yang Diperlukan
Perpustakaan HomeDing bergantung pada beberapa perpustakaan tambahan biasa untuk sensor dan paparan berfungsi.
Apabila anda memasang perpustakaan HomeDing, anda akan melihat pop timbul dengan perpustakaan yang diperlukan ini yang dapat dipasang secara automatik seperti yang ditunjukkan dalam gambar dan mudah untuk memasangnya semua.
Kadang kala (dengan sebab yang tidak diketahui) pemasangan perpustakaan gagal sehingga semua perpustakaan yang diperlukan perlu dipasang secara manual.
Maklumat lebih lanjut mengenai perpustakaan yang diperlukan boleh didapati di laman web dokumentasi di
Ini adalah senarai perpustakaan yang diperlukan semasa:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- Pemacu ESP8266 dan ESP32 Oled untuk paparan SSD1306
- RotaryEncoder
- Perpustakaan sensor DHT untuk ESPx
- OneWire
Sensor laser partikel udara PMS5003 berkomunikasi menggunakan isyarat garis bersiri 9600 baud. Isyarat ini ditangkap dengan menggunakan perpustakaan SoftwareSerial yang disertakan dengan pemasangan alat ESP8266. Pastikan tidak memasang versi lama sebagai perpustakaan.
Langkah 3: Sesuaikan Lakaran Contoh Standard
Contoh Piawai sudah merangkumi beberapa sensor yang lebih umum sebagai elemen sehingga hanya diperlukan beberapa konfigurasi.
Ini berlaku untuk sensor BME680 yang disokong oleh Elemen BME680.
Sensor PMS5003 kurang biasa dan perlu diaktifkan dengan memasukkan Elemen PMS ke dalam firmware. Ini dilakukan dengan menentukan #define HOMEDING_INCLUDE_PMS di bahagian daftar elemen lakaran
#tentukan HOMEDING_INCLUDE_BME680 # tentukan HOMEDING_INCLUDE_PMS
Untuk kesederhanaan dalam menambahkan peranti baru ke rangkaian, anda boleh menambahkan SSID dan frasa laluan WiFi rumah anda di dalam fail rahsia.h di sebelah fail lakaran standard.ino. Tetapi anda juga boleh menggunakan Pengurus WiFi bawaan untuk menambahkan peranti ke rangkaian tanpa konfigurasi keras ini.
Sekarang semua perkara mengenai pelaksanaan sketsa selesai dan firmware dapat disusun dan dimuat naik.
Langkah 4: Muat naik UI Web
Contoh standard dilengkapi dengan folder data yang mengandungi semua fail untuk UI web.
Sebelum memuat naik fail-fail ini, anda mungkin ingin menambahkan fail env.json dan config.json yang anda dapati dengan artikel ini kerana ini akan menjadikan semuanya lebih mudah.
Kandungan fail-fail inilah yang menjadikan peranti IoT istimewa dan berperilaku sebagai sensor Kualiti Udara. Ia dijelaskan secara terperinci dalam kisah ini.
Gunakan utiliti muat naik fail ESP8266 dan muat naik semua fail. Ia memerlukan but semula untuk mengaktifkan konfigurasi.
Langkah 5: Tambahkan Sensor BME680
Sensor BME680 berkomunikasi dengan papan menggunakan bas I2C.
Kerana ini mungkin dikongsi dengan sambungan lain seperti sensor atau paparan lain dikonfigurasikan pada tahap peranti di env.json bersama dengan nama rangkaian peranti. Berikut adalah contoh tetapan peranti dan I2C yang diekstrak:
"peranti": {
"0": {"name": "airding", "description": "Sensor Kualiti Udara", … "i2c-scl": "D2", "i2c-sda": "D1"}}
Di papan roti anda dapat melihat kabel sambungan ke sensor: 3.3V = merah, GND = hitam, SCL = kuning, SDA = biru
Konfigurasi untuk BME680 boleh digunakan di config.json:
"bme680": {
"bd": {"address": "0x77", "readtime": "10s"}}
Kami akan menambah tindakan kemudian.
Untuk menguji persediaan, gunakan penyemak imbas dan buka https://airding/board.htm dan anda akan melihat nilai sebenar sensor yang dipaparkan dan ia akan dikemas kini setiap 10 saat:
Langkah 6: Tambahkan Sensor PMS5003
Saya tidak mendapat sensor dengan penyambung mesra papan roti sehingga saya terpaksa memotong salah satu penyambung pada kabel menggunakan besi pematerian saya untuk memasangnya secara langsung ke papan nodemcu. Anda masih dapat melihatnya di gambar akhir.
Kekuatan untuk sensor ini mesti diambil dari Vin yang biasanya dikuasakan oleh bus USB. GND sama tetapi juga terdapat di sebelah pin Vin.
Data dari sensor dipindahkan dalam format bersiri 9600 baud standard sehingga pin rx dan tx dan masa membaca perlu dikonfigurasi:
"pms": {
"pm25": {"description": "pm25 particle sensor", "pinrx": "D6", "pintx": "D5", "readtime": "10s"}}
Kami akan menambah tindakan kemudian.
Untuk menguji persediaan sekali lagi, but semula peranti dan gunakan penyemak imbas dan buka https://airding/board.htm dan anda akan melihat nilai pm35 sebenar sensor yang dipaparkan dan mereka akan dikemas kini setiap 10 saat tetapi nilai ini biasanya tidak kerap berubah.
Anda boleh mendapatkan nilai yang lebih tinggi dengan meletakkan lampu lilin di sebelah sensor kerana lilin menghasilkan banyak zarah-zarah ini.
Sekarang anda boleh meletakkan semuanya di perumahan yang bagus kerana semua konfigurasi lain dan juga kemas kini perisian dapat dilakukan dari jarak jauh.
Langkah 7: Menambah Beberapa Ciri Rangkaian
Ekstrak konfigurasi berikut di env.json diaktifkan
- mengemas kini firmware melalui udara
- membolehkan mengesan rangkaian menggunakan protokol rangkaian SSDP dan mengambil masa semasa dari pelayan ntp.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "Listen for 'the air' OTA Updates"}}, "ssdp": {"0 ": {" Manufacturer ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zon ": 2}}}
Anda harus menyesuaikan zon waktu ke lokasi anda. Sekiranya anda ragu-ragu, anda boleh menggunakan laman web https://www.timeanddate.com/ untuk mendapatkan pengimbangan dari UTC / GMT. "2" sesuai untuk musim panas Jerman.
Anda juga boleh menyesuaikan kata laluan ota setelah membaca arahan mengenai mod simpan dalam dokumentasi di
Selepas memulakan semula, anda mungkin dapati alat penyaman udara di rangkaian dan setelah mendapat balasan dari pelayan ntp waktu tempatan tersedia.
Langkah 8: Menambah Sebilangan Pembalakan
Cuma nilai sebenarnya mungkin tidak cukup sehingga beberapa elemen boleh digunakan.
Untuk cerita ini, elemen Log dan NPTTime Element digunakan untuk merakam sejarah nilai sensor dalam fail log dan kad UI Web untuk elemen ini dapat memaparkannya sebagai grafik.
Konfigurasi berikut mencipta 2 elemen log untuk gas dan zarah:
{
"log": {"pm": {"description": "Log pm25", "filename": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Log kualiti gas "," nama fail ":" /aqlog.txt "," filesize ":" 10000 "}}}
Langkah 9: Tindakan
Sekarang kita perlu memindahkan nilai sebenar ke elemen log dengan menggunakan tindakan. Tindakan tersebut menggunakan notasi URL untuk menyampaikan nilai dan nilai ke elemen sasaran. Banyak Elemen menyokong tindakan memancarkan peristiwa tertentu yang berlaku seperti menangkap nilai sensor baru.
Tindakan dikonfigurasi pada elemen yang memancarkan tindakan 2 penyertaan diperlukan:
- Peristiwa pms / p25 onvalue menghantar nilai sebenar ke elemen log / pm menggunakan tindakan nilai.
- Peristiwa bme680 / bd ongas menghantar nilai sebenar ke elemen log / pm menggunakan tindakan nilai.
{
"pms": {"pm25": {… "onvalue": "log / pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log / aq? value = $ v "}}}
Sekarang semua elemen dikonfigurasikan.
Langkah 10: Fail Gambar dan Konfigurasi
Berikut adalah beberapa gambar sensor kualiti udara IoT terakhir saya.
Fail konfigurasi untuk muat turun perlu dinamakan semula menjadi *.json (no.txt) sebelum dimuat naik.
Pautan dan rujukan
- Repositori Kod Sumber HomeDing:
- Dokumentasi:
- Contoh Piawai:
- Elemen BME680:
- Elemen PMS:
- Elemen log:
- Elemen NtpTime:
Disyorkan:
Sensor Kualiti Udara AEROBOT V1.0: 6 Langkah (dengan Gambar)
Sensor Kualiti Udara AEROBOT V1.0: Instruksinya ini adalah untuk membuat sensor kualiti udara yang murah dan sangat tepat bernama AEROBOT. Projek ini menunjukkan suhu, kelembapan relatif, ketumpatan debu PM 2.5 dan amaran mengenai kualiti udara di sekitarnya. Ia menggunakan sensor DHT11
Sensor Kualiti Udara Menggunakan Arduino: 4 Langkah
Sensor Kualiti Udara Menggunakan Arduino: Dalam posting ini, kita akan belajar bagaimana membina sensor kualiti udara yang sederhana namun berguna. Kami akan menggunakan sensor SGP30 bersama dengan Piksey Pico, walaupun lakarannya akan berfungsi dengan hampir semua papan yang sesuai dengan Arduino. Video di atas membincangkan anda melalui
Monitor Kualiti Udara Dengan MQ135 dan Sensor Suhu dan Kelembapan Luaran Melebihi MQTT: 4 Langkah
Monitor Kualiti Udara Dengan MQ135 dan Sensor Suhu dan Kelembapan Luaran Lebih Dari MQTT: Ini adalah untuk tujuan ujian
Cubesat Dengan Sensor Kualiti Udara dan Arduino: 4 Langkah
Cubesat With Sensor Kualiti Udara dan Arduino: Pencipta CubeSat: Reghan, Logan, Kate, dan Joan Pengenalan Pernahkah anda terfikir bagaimana membuat orbit Mars untuk mengumpulkan data mengenai suasana dan kualiti udara Mars? Sepanjang tahun ini di kelas fizik kami, kami telah belajar bagaimana memprogram
Sensor Kualiti Udara DIY + Sarung Bercetak 3D: 6 Langkah
Sensor Kualiti Udara DIY + Sarung Bercetak 3D: Panduan ini mempunyai semua maklumat yang anda perlukan untuk membuat sensor bersaiz poket yang sangat berkemampuan