Mundarija:
- Ta'minotlar
- 1 -qadam: Arduino muhitini ESP8266 uchun tayyorlang
- 2 -qadam: Kerakli kutubxonalarni qo'shing
- 3 -qadam: Standart namunaviy eskizni moslashtiring
- 4 -qadam: Internet interfeysini yuklang
- 5 -qadam: BME680 sensorini qo'shing
- 6 -qadam: PMS5003 sensorini qo'shing
- 7 -qadam: Ba'zi tarmoq xususiyatlarini qo'shish
- 8 -qadam: Ba'zi jurnallarni qo'shish
- 9 -qadam: Amallar
- 10 -qadam: rasmlar va konfiguratsiya fayllari
Video: Ichki IoT havo sifati sensori yaratish uchun bulut kerak emas: 10 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Ichki yoki tashqi havoning sifati ko'p ifloslanish manbalariga, shuningdek ob -havoga bog'liq.
Ushbu qurilma ikkita sensorli chip yordamida ba'zi umumiy va eng qiziqarli parametrlarni oladi.
- Harorat
- Namlik
- Bosim
- Organik gaz
- Mikro-zarrachalar
Bu erda harorat, namlik, bosim va organik gaz qiymatlarini olish uchun BME680 va mikro zarrachalarning zichligini olish uchun PMS5003 ishlatiladi.
HomeDing kutubxonasidan foydalanib, faqat uy tarmog'iga ulangan va uni tarmoqdagi istalgan brauzer orqali boshqaradigan qurilmani yaratish oson. U eng keng tarqalgan sensorli chiplar, qurilmalar va boshqa xizmatlardan foydalanishga imkon beruvchi elementlar tanlovi bilan birga keladi.
Bu, shuningdek, sensor ma'lumotlarini ko'rsatish va qurilma bilan o'zaro aloqada bo'lish uchun bulutli echimdan foydalanish o'rniga, qurilmaning ichki qismini joylashtirish uchun to'liq echimni olib keladi.
Ta'minotlar
Ushbu loyihani yaratish uchun sizga ESP8266 asosidagi nodemcu taxtasi va havo sifatini o'lchash uchun sensorlar to'plami kerak bo'ladi. Ushbu loyihada qo'llaniladigan HomeDing kutubxonasi harorat, namlik, bosim va sifat uchun umumiy sensorlar chiplarini qo'llab -quvvatlaydi. Bu erda BMP680 chipi ishlatiladi.
- Quvvat manbai uchun USB vilkasi va micro-usb kabeli.
- ESP8266 protsessorli 1 ta nodemcu karta.
- 1 BME680 sensorli sindiruvchi taxtasi.
- PMS5003 tipidagi 1 PM2.5 havo zarrachali lazer sensori
BME680 sensorini DHT22 sensori bilan almashtirish oson, chunki ular kutubxona tomonidan qo'llab -quvvatlanadi.
1 -qadam: Arduino muhitini ESP8266 uchun tayyorlang
- Arduino IDE -ning so'nggi versiyasini o'rnating (hozirgi versiya 1.8.2).
- Esp8266 qo'llab-quvvatlashini o'rnatish uchun boshqaruv menejeridan foydalaning. Batafsil ko'rsatmani bu erda topishingiz mumkin:
- Skrinshotda ko'rsatilgandek, 1MByte SPIFFS fayl tizimi bilan NodeMCU 1.0 uchun taxta variantlarini o'rnating.
2 -qadam: Kerakli kutubxonalarni qo'shing
HomeDing kutubxonasi datchiklar va displeylarning ishlashi uchun ba'zi umumiy qo'shimcha kutubxonalarga tayanadi.
HomeDing kutubxonasini o'rnatganingizda, siz kerakli kutubxonalarga ega bo'lgan popupni ko'rasiz, ularni avtomatik ravishda rasmda ko'rsatish mumkin va ularni hammasini o'rnatish oson.
Ba'zida (noma'lum sabablarga ko'ra) kutubxonalarni o'rnatish muvaffaqiyatsiz bo'ladi, shuning uchun barcha kerakli kutubxonalarni qo'lda o'rnatish kerak bo'ladi.
Kerakli kutubxonalar haqida batafsil ma'lumotni https://homeding.github.io/#page=/elements.md manzilidagi hujjatlar veb -saytida topishingiz mumkin.
Bu hozirgi talab qilinadigan kutubxonalar ro'yxati:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- SSD1306 displeyi uchun ESP8266 va ESP32 Oled drayveri
- Rotary kodlovchi
- ESPx uchun DHT sensorlar kutubxonasi
- OneWire
PMS5003 havo zarrachalari lazer sensori 9600 bayt ketma -ket chiziqli signal yordamida aloqa qiladi. Bu signal ESP8266 vositalarini o'rnatish bilan birga kelgan SoftwareSerial kutubxonasi yordamida olinadi. Kutubxona sifatida eski versiyasi o'rnatilmaganligiga ishonch hosil qiling.
3 -qadam: Standart namunaviy eskizni moslashtiring
Standart misol allaqachon ba'zi keng tarqalgan sensorlarni element sifatida o'z ichiga oladi, shuning uchun faqat ba'zi konfiguratsiya talab qilinadi.
Bu BME680 elementi tomonidan qo'llab -quvvatlanadigan BME680 sensori uchun amal qiladi.
PMS5003 sensori kamroq tarqalgan va uni dasturiy ta'minotga PMS elementini qo'shish orqali faollashtirish kerak. Bu eskizning elementlar registri bo'limida #define HOMEDING_INCLUDE_PMS ni aniqlash orqali amalga oshiriladi.
#HOMEDING_INCLUDE_BME680 ni belgilang#HOMEDING_INCLUDE_PMS ni aniqlang
Tarmoqqa yangi qurilmani qo'shishning soddaligi uchun standard.ino sketch faylining yonidagi secret.h fayliga uy Wi -Fi -ning SSID va parolini qo'shishingiz mumkin. Qurilmani tarmoqqa ushbu qattiq kodli konfiguratsiyasiz qo'shish uchun siz o'rnatilgan WiFi menejeridan ham foydalanishingiz mumkin.
Endi eskizni amalga oshirish bilan bog'liq hamma narsa bajarildi va dasturiy ta'minotni kompilyatsiya qilish va yuklash mumkin.
4 -qadam: Internet interfeysini yuklang
Standart misol veb -interfeys uchun barcha fayllarni o'z ichiga olgan ma'lumotlar papkasi bilan birga keladi.
Bu fayllarni yuklamasdan oldin siz bu maqolada topiladigan env.json va config.json fayllarini qo'shishni xohlashingiz mumkin, chunki bu ishni osonlashtiradi.
Ushbu fayllarning mazmuni IoT qurilmasini havo sifati sensori sifatida o'ziga xos qiladi. Bu hikoyada batafsil tushuntirilgan.
ESP8266 faylni yuklash yordam dasturidan foydalaning va barcha fayllarni yuklang. Konfiguratsiyani faollashtirish uchun uni qayta yuklash kerak.
5 -qadam: BME680 sensorini qo'shing
BME680 sensori taxta bilan I2C avtobusi yordamida aloqa o'rnatadi.
Bu boshqa sensorlar yoki displeylar kabi boshqa kengaytmalar bilan ulashilganligi sababli, qurilma darajasida env.json da qurilmaning tarmoq nomi bilan konfiguratsiya qilingan. Mana, qurilma va I2C sozlamalarining namunasi:
"qurilma": {
"0": {"name": "airding", "description": "Havo sifati sensori",… "i2c-scl": "D2", "i2c-sda": "D1"}}
Non panelida siz sensorga ulanish kabellarini ko'rishingiz mumkin: 3.3V = qizil, GND = qora, SCL = sariq, SDA = ko'k
BME680 konfiguratsiyasi config.json -da ishlatilishi mumkin:
"bme680": {
"bd": {"manzil": "0x77", "o'qish vaqti": "10s"}}
Amallarni keyinroq qo'shamiz.
O'rnatishni sinab ko'rish uchun brauzerdan foydalaning va https://airding/board.htm -ni oching va siz sensorning haqiqiy qiymatlarini ko'rasiz va ular har 10 soniyada yangilanadi:
6 -qadam: PMS5003 sensorini qo'shing
Menda taxtali qulay ulagichli sensori yo'q edi, shuning uchun kabeldagi ulagichlardan birini kesib olishim kerak edi, uni nodemcu taxtasiga to'g'ridan -to'g'ri ulash uchun lehimlantiruvchi temirdan foydalaning. Siz buni hali oxirgi rasmlarda ko'rishingiz mumkin.
Ushbu sensorning kuchi odatda USB -avtobus orqali ishlaydigan Vindan olinishi kerak. GND xuddi shunday, lekin Vin pinining yonida ham mavjud.
Sensordan olingan ma'lumotlar standart 9600 bayt ketma -ket formatida uzatiladi, shuning uchun rx va tx pinlari va o'qish vaqti sozlanishi kerak:
"pms": {
"pm25": {"description": "pm25 zarracha sensori", "pinrx": "D6", "pintx": "D5", "o'qish vaqti": "10s"}}
Amallarni keyinroq qo'shamiz.
O'rnatishni qayta tekshirish uchun qurilmani qayta ishga tushiring va brauzerdan foydalaning va https://airding/board.htm -ni oching va siz sensorning haqiqiy pm35 qiymatini ko'rasiz va ular har 10 soniyada yangilanadi, lekin bu qiymat odatda tez -tez o'zgarmaydi.
Datchik yoniga shamni qo'yish orqali yuqori qiymatlarga ega bo'lishingiz mumkin, chunki sham bu zarrachalarning ko'pini ishlab chiqaradi.
Endi siz hamma narsani yaxshi uyga qo'yishingiz mumkin, chunki boshqa barcha konfiguratsiyalar va hatto dasturiy ta'minot yangilanishlari masofadan turib amalga oshirilishi mumkin.
7 -qadam: Ba'zi tarmoq xususiyatlarini qo'shish
Env.json -dagi quyidagi konfiguratsiya ekstrakti yoqilmoqda
- dasturiy ta'minotni havo orqali yangilash
- SSDP tarmoq protokoli yordamida tarmoqni aniqlash imkonini beradi va joriy vaqtni ntp serveridan oladi.
{
… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "OTA yangilanishlarini" efirda tinglang "}}," ssdp ": {" 0 ": {" Ishlab chiqaruvchi ":" sizning ismingiz "}}," ntptime ": {" 0 ": {" o'qish vaqti ":" 36 soat "," zona ": 2}}}
Vaqt mintaqasini joylashuvingizga moslashtirishingiz kerak. Agar shubhangiz bo'lsa, https://www.timeanddate.com/ veb -saytidan foydalanib, UTC/GMT bo'yicha ofsetni olishingiz mumkin. "2" yozi Germaniya uchun to'g'ri keladi.
Siz shuningdek, https://homeding.github.io/index.htm#page=/savemo… manzilidagi hujjatlardagi saqlash rejimiga oid ko'rsatmalarni o'qib, ota parolini o'zgartirishingiz mumkin.
Qayta ishga tushirilgandan so'ng, siz tarmoqdagi shamollatish moslamasini topishingiz mumkin va ntp serveridan javob olgandan so'ng, mahalliy vaqt mavjud.
8 -qadam: Ba'zi jurnallarni qo'shish
Faqat haqiqiy qiymatlar etarli bo'lmasligi mumkin, shuning uchun yana bir nechta elementlardan foydalanish mumkin.
Bu hikoya uchun jurnal elementi va NPTTime elementi jurnal qiymatidagi sensor qiymatlari tarixini yozib olish uchun ishlatiladi va bu element uchun Web UI kartasi uni grafik sifatida ko'rsatishi mumkin.
Quyidagi konfiguratsiya gaz va zarrachalar uchun 2 ta log elementini yaratadi:
{
"log": {"pm": {"description": "pm25 jurnali", "fayl nomi": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Gaz sifati jurnali "," fayl nomi ":" /aqlog.txt "," fayl hajmi ":" 10000 "}}}
9 -qadam: Amallar
Endi amallar yordamida haqiqiy qiymatlarni jurnal elementlariga o'tkazishimiz kerak. Amallar maqsadli elementga kay va qiymat berish uchun URL belgisidan foydalanadi. Ko'pgina elementlar sensorning yangi qiymatini olish kabi sodir bo'ladigan ba'zi hodisalar bo'yicha harakatlarni chiqarishni qo'llab -quvvatlaydi.
Harakatlar 2 ta yozuvni talab qiladigan elementda tuzilgan:
- Pms/p25 onvalue hodisasi qiymat qiymatini ishlatib, haqiqiy qiymatni log/pm elementiga yuboradi.
- Bme680/bd ongas hodisasi qiymat qiymatini ishlatib, haqiqiy qiymatni log/pm elementiga yuboradi.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
Endi barcha elementlar sozlangan.
10 -qadam: rasmlar va konfiguratsiya fayllari
Mana mening oxirgi IoT havo sifati sensori tasviri.
Yuklab olishdan oldin konfiguratsiya fayllari *.json (no.txt) deb o'zgartirilishi kerak.
Havolalar va havolalar
- HomeDing manba kodlari ombori:
- Hujjatlar:
- Standart misol:
- BME680 elementi:
- PMS elementi:
- Jurnal elementi:
- NtpTime elementi:
Tavsiya:
Ichki havo sifati o'lchagichi: 5 qadam (rasmlar bilan)
Uy ichidagi havo sifatini o'lchash moslamasi: Sizning uyingizdagi havo sifatini tekshirishning oddiy loyihasi. Oxirgi paytlarda biz uyda bo'lmaganimizda/ishlayotganimizda, havo sifatini kuzatish va derazani ochish vaqti kelganida o'zingizga eslatib qo'yish yaxshi bo'lardi. va toza havo iching
AEROBOT havo sifati sensori V1.0: 6 qadam (rasmlar bilan)
AEROBOT havo sifati sensori V1.0: Bu ko'rsatma AEROBOT nomli arzon va yuqori aniqlikdagi havo sifati sensori yasash haqida. Bu loyiha harorat, nisbiy namlik, PM 2.5 chang zichligi va atrofdagi havo sifati haqida ogohlantirishlarni ko'rsatadi. U DHT11 sensoridan foydalanadi
Arduino yordamida havo sifati sensori: 4 qadam
Arduino -dan foydalanadigan havo sifati sensori: Bu xabarda biz oddiy, ammo foydali havo sifati sensori qurishni o'rganamiz. Biz SGP30 sensorini Piksey Pico bilan birga ishlatamiz, lekin eskiz deyarli har qanday Arduino mos keladigan taxtada ishlaydi. Yuqoridagi video sizga bu haqda gapiradi
MQ135 va MQTT ustidagi tashqi harorat va namlik sensori bilan havo sifati monitor: 4 qadam
MQ135 va MQTT ustidagi tashqi harorat va namlik sensori bilan havo sifati monitori: bu sinov maqsadida
Havo sifati sensori va Arduino bilan Cubesat: 4 qadam
Cubesat with Air Quality Sensor and Arduino: CubeSat ijodkorlari: Reghan, Logan, Keyt va Joan Kirish Mars atmosferasi va havo sifati haqidagi ma'lumotlarni to'plash uchun Mars orbitasini qanday yaratishni hech o'ylab ko'rganmisiz? Bu yil davomida fizika darsimizda biz A dasturini o'rganishni o'rgandik