İçindekiler:
- Gereçler
- Adım 1: Arduino Ortamını ESP8266 için Hazırlayın
- 2. Adım: Gerekli Kitaplıkları Dahil Edin
- Adım 3: Standart Örnek Çizimi Özelleştirin
- 4. Adım: Web Kullanıcı Arayüzünü yükleyin
- Adım 5: BME680 Sensörünü ekleyin
- Adım 6: PMS5003 Sensörünü ekleyin
- 7. Adım: Bazı Ağ Özelliklerini Ekleme
- 8. Adım: Bazı Günlük Kayıt Ekleme
- 9. Adım: Eylemler
- Adım 10: Resimler ve Yapılandırma Dosyaları
Video: Kurum İçi IoT Hava Kalitesi Sensörü Oluşturun Bulut Gerekmez: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
İç veya dış havanın kalitesi, birçok kirlilik kaynağına ve ayrıca hava durumuna bağlıdır.
Bu cihaz, 2 sensör çipi kullanarak bazı yaygın ve en ilginç parametrelerden bazılarını yakalar.
- Sıcaklık
- Nem
- Baskı yapmak
- Organik Gaz
- Mikro parçacıklar
Burada kullanılan sensörler sıcaklık, nem, basınç ve organik gaz değerlerini almak için BME680 ve mikro partiküllerin yoğunluğunu almak için PMS5003'tür.
HomeDing kitaplığını kullanarak, yalnızca ev Ağınıza bağlı olan ve ağdaki herhangi bir tarayıcı tarafından erişilip kontrol edilebilen bir cihaz oluşturmak kolaydır. En yaygın sensör çiplerinin, cihazlarının ve diğer hizmetlerin kullanılmasına izin veren bir dizi Öğe ile birlikte gelir.
Ayrıca sensör verilerini görüntülemek ve cihazla etkileşim kurmak için bulut tabanlı bir çözüm kullanmak yerine bir web tarafını cihaz içinde barındırmak için eksiksiz bir çözüm getiriyor.
Gereçler
Bu projeyi oluşturmak için ihtiyacınız olan tek şey, nodemcu kartı gibi ESP8266 tabanlı bir kart ve hava kalitesini ölçmek için bir dizi sensör. Bu projede kullanılan HomeDing kitaplığı, sıcaklık, nem, basınç ve kalite için yaygın olarak kullanılan bazı sensör çiplerini destekler. Burada BMP680 yongası kullanılıyor.
- Güç kaynağı için bir USB fişi ve bir mikro usb kablosu.
- ESP8266 CPU'lu 1 nodemcu kartı.
- 1 BME680 sensör koparma kartı.
- 1 PM2.5 hava partikül lazer sensörü tipi PMS5003
BME680 sensörünü bir DHT22 sensörüyle değiştirmek kolaydır, çünkü bunlar da diğerlerinin yanı sıra kitaplık tarafından da desteklenir.
Adım 1: Arduino Ortamını ESP8266 için Hazırlayın
- Arduino IDE'nin en son sürümünü yükleyin (şu anda sürüm 1.8.2).
- esp8266 desteğini yüklemek için Board Manager'ı kullanın. Ayrıntılı bir talimat burada bulunabilir:https://arduino-esp8266.readthedocs.io/en/latest/i…
- 1MByte SPIFFS Dosya Sistemine sahip bir NodeMCU 1.0 için kart seçeneklerini ekran görüntüsünde gösterildiği gibi ayarlayın
2. Adım: Gerekli Kitaplıkları Dahil Edin
HomeDing kitaplığı, sensörlerin ve ekranların çalışması için bazı yaygın ek kitaplıklara dayanır.
HomeDing kitaplığını kurduğunuzda, resimde gösterildiği gibi otomatik olarak kurulabilen bu gerekli kitaplıkların bulunduğu bir açılır pencere göreceksiniz ve hepsini kurmak kolaydır.
Bazen (bilinmeyen nedenlerle) kitaplıkların kurulumu başarısız olur, bu nedenle gerekli tüm kitaplıkların manuel olarak yüklenmesi gerekir.
Gerekli kitaplıklar hakkında daha fazla ayrıntı https://homeding.github.io/#page=/elements.md adresindeki dokümantasyon web sitesinde bulunabilir.
Bu, mevcut gerekli kitaplıkların listesidir:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- SSD1306 ekranı için ESP8266 ve ESP32 Oled Sürücüsü
- Döner Kodlayıcı
- ESPx için DHT sensör kitaplığı
- Tek Tel
PMS5003 hava partikül lazer sensörü, 9600 baud seri hat sinyali kullanarak iletişim kurar. Bu sinyal, ESP8266 araçlarının kurulumuyla birlikte gelen SoftwareSerial kitaplığı kullanılarak yakalanır. Kitaplık olarak daha eski bir sürümün kurulu olmadığından emin olun.
Adım 3: Standart Örnek Çizimi Özelleştirin
Standart Örnek, daha yaygın sensörlerden bazılarını zaten eleman olarak içerir, bu nedenle sadece bazı konfigürasyonlar gerekli olacaktır.
Bu, BME680 Elemanı tarafından desteklenen BME680 sensörü için geçerlidir.
PMS5003 sensörü daha az yaygındır ve PMS Elemanı bellenime dahil edilerek etkinleştirilmesi gerekir. Bu, eskizin eleman kaydı bölümünde #define HOMEDING_INCLUDE_PMS tanımlanarak yapılır.
#define HOMEDING_INCLUDE_BME680#define HOMEDING_INCLUDE_PMS
Yeni aygıtı ağa eklemeyi kolaylaştırmak için, standart.ino çizim dosyasının yanındaki secrets.h dosyasına ev WiFi'nizin SSID'sini ve parolasını ekleyebilirsiniz. Ancak, bu sabit kodlanmış yapılandırma olmadan cihazı ağa eklemek için yerleşik WiFi Yöneticisini de kullanabilirsiniz.
Artık eskizin uygulanmasıyla ilgili her şey yapıldı ve ürün yazılımı derlenip yüklenebilir.
4. Adım: Web Kullanıcı Arayüzünü yükleyin
Standart örnek, web kullanıcı arayüzü için tüm dosyaları içeren bir veri klasörüyle birlikte gelir.
Bu dosyaları yüklemeden önce bu makale ile bulabileceğiniz env.json ve config.json dosyasını eklemek isteyebilirsiniz çünkü bu işleri kolaylaştıracaktır.
Bu dosyaların içeriği, IoT cihazını özel yapan ve bir Hava Kalitesi sensörü gibi davranan şeydir. Bu hikayede detaylı olarak anlatılıyor.
ESP8266 dosya yükleme yardımcı programını kullanın ve tüm dosyaları yükleyin. Yapılandırmayı etkinleştirmek için yeniden başlatma gerekiyor.
Adım 5: BME680 Sensörünü ekleyin
BME680 Sensörü, I2C veri yolunu kullanarak kartla iletişim kuruyor.
Bu, muhtemelen diğer sensörler veya ekranlar gibi diğer uzantılarla paylaşıldığından, cihazın ağ adıyla birlikte env.json'da cihaz düzeyinde yapılandırılır. Cihaz ve I2C ayarlarının ayıklanmış bir örneği:
"cihaz": {
"0": { "ad": "havalandırma", "açıklama": "Hava Kalitesi Sensörü", … "i2c-scl": "D2", "i2c-sda": "D1" } }
Breadboard üzerinde sensöre giden bağlantı kablolarını görebilirsiniz: 3.3V=kırmızı, GND=siyah, SCL=sarı, SDA=mavi
BME680 için yapılandırma, config.json'da kullanılabilir:
"bme680": {
"bd": { "adres": "0x77", "okuma zamanı": "10s" } }
Eylemleri daha sonra ekleyeceğiz.
Kurulumu test etmek için bir tarayıcı kullanın ve https://airding/board.htm dosyasını açın ve sensörün gerçek değerlerinin görüntülendiğini göreceksiniz ve bunlar yaklaşık her 10 saniyede bir güncellenecektir:
Adım 6: PMS5003 Sensörünü ekleyin
Breadboard uyumlu bir konektöre sahip bir sensörüm yoktu, bu yüzden kablodaki konektörlerden birini kesmek zorunda kaldım, havyamı kullanarak doğrudan nodemcu kartına tutturmak zorunda kaldım. Son resimlerde hala görebilirsiniz.
Bu sensörün gücü, normalde USB veri yolu tarafından desteklenen Vin'den alınmalıdır. GND aynıdır ancak Vin pininin yanında da mevcuttur.
Sensörden gelen veriler standart 9600 baud seri formatında aktarılır, bu nedenle rx ve tx pinlerinin ve okuma süresinin yapılandırılması gerekir:
"pms": {
"pm25": { "açıklama": "pm25 parçacık sensörü", "pinrx": "D6", "pintx": "D5", "okuma zamanı": "10s" } }
Eylemleri daha sonra ekleyeceğiz.
Kurulumu tekrar test etmek için cihazı yeniden başlatın ve bir tarayıcı kullanın ve https://airding/board.htm dosyasını açın ve sensörün gerçek pm35 değerinin görüntülendiğini göreceksiniz ve bunlar yaklaşık her 10 saniyede bir güncellenecektir ancak bu değer normalde sık değişmiyor.
Bu parçacıkların çoğunu bir mum ürettiği için sensörün yanına bir mum ışığı yerleştirerek daha yüksek değerler elde edebilirsiniz.
Artık diğer tüm konfigürasyonlar ve hatta yazılım güncellemeleri uzaktan yapılabildiği için her şeyi güzel bir muhafazaya koyabilirsiniz.
7. Adım: Bazı Ağ Özelliklerini Ekleme
env.json'daki aşağıdaki yapılandırma özü etkinleştiriyor
- aygıt yazılımını kablosuz olarak güncelleme
- SSDP ağ protokolünü kullanarak ağın tespit edilmesini sağlar ve bir ntp sunucusundan geçerli saati alır.
{
… "ota": { "0": { "port": 8266, "passwd": "123", "description": "'Şebekeden' OTA Güncellemelerini dinle" } }, "ssdp": { "0 ": { "Üretici": "adınız" } }, "ntptime": { "0": { "okuma zamanı": "36h", "bölge": 2 } } }
Saat dilimini bulunduğunuz yere göre ayarlamalısınız. Şüpheniz varsa, UTC/GMT'den mahsup almak için https://www.timeanddate.com/ web sitesini kullanabilirsiniz. "2" Almanya'nın yaz mevsimi için doğru.
Ota şifresini
Yeniden başlattıktan sonra, ağdaki yayın cihazını bulabilirsiniz ve ntp sunucusundan bir yanıt aldıktan sonra yerel saat kullanılabilir.
8. Adım: Bazı Günlük Kayıt Ekleme
Sadece gerçek değerler yeterince vermeyebilir, bu nedenle daha fazla eleman kullanılabilir.
Bu hikaye için Log öğesi ve NPTTime Element, sensör değerlerinin geçmişini bir günlük dosyasına kaydetmek için kullanılır ve bu öğe için Web UI kartı bunu bir grafik olarak görüntüleyebilir.
Aşağıdaki konfigürasyon, gaz ve partiküller için 2 log elemanı oluşturur:
{
"günlük": { "pm": { "açıklama": "pm25 günlüğü", "dosyaadı": "/pmlog.txt", "dosya boyutu": "10000" }, "aq": { "açıklama": " Gaz kalitesi günlüğü", "dosya adı": "/aqlog.txt", "dosya boyutu": "10000" } } }
9. Adım: Eylemler
Şimdi eylemleri kullanarak gerçek değerleri log öğelerine aktarmamız gerekiyor. Eylemler, hedef öğeye bir kay ve değer iletmek için bir URL gösterimi kullanıyor. Birçok Öğe, yeni bir sensör değeri yakalamak gibi gerçekleşen belirli olaylarda yayan eylemleri destekler.
Eylemler, eylemleri yayan öğede yapılandırılır 2 giriş gereklidir:
- pms/p25 onvalue olayı, bir değer eylemi kullanarak gerçek değeri log/pm öğesine gönderir.
- bme680/bd ongas olayı, bir değer eylemi kullanarak gerçek değeri log/pm öğesine gönderir.
{
"pms": { "pm25": { … "onvalue": "log/pm?value=$v" } }, "bme680": { "bd": { … "ongas": "log/aq?value= $v" } } }
Şimdi tüm öğeler yapılandırıldı.
Adım 10: Resimler ve Yapılandırma Dosyaları
İşte son IoT Hava Kalitesi sensörümün bazı resimleri.
İndirilecek yapılandırma dosyalarının, yüklenmeden önce *.json (.txt yok) olarak yeniden adlandırılması gerekir.
Bağlantılar ve referanslar
- HomeDing Kaynak Kodu Deposu:
- Belgeler:
- Standart Örnek:
- BME680 Öğesi:
- PMS Öğesi:
- Günlük öğesi:
- NtpTime Öğesi:
Önerilen:
AEROBOT Hava Kalitesi Sensörü V1.0: 6 Adım (Resimlerle)
AEROBOT Hava Kalitesi Sensörü V1.0: Bu talimat, AEROBOT adlı ucuz ve son derece hassas bir hava kalitesi sensörü yapmakla ilgilidir. Bu proje sıcaklık, bağıl nem, PM 2.5 toz yoğunluğunu ve çevredeki hava kalitesi hakkında uyarıları gösterir. DHT11 sensörü kullanır
Arduino Kullanan Hava Kalitesi Sensörü: 4 Adım
Arduino Kullanan Hava Kalitesi Sensörü: Bu yazıda, basit ama kullanışlı bir hava kalitesi sensörünün nasıl oluşturulacağını öğreneceğiz. SGP30 sensörünü Piksey Pico ile birlikte kullanacağız, ancak taslak hemen hemen tüm Arduino uyumlu kartlarla çalışacak. Yukarıdaki video sizi t
Hava Kalitesi Sensörü ve Arduino ile Cubesat: 4 Adım
Hava Kalitesi Sensörü ve Arduino ile Cubesat: CubeSat yaratıcıları: Reghan, Logan, Kate ve Joan Giriş Mars'ın atmosferi ve hava kalitesi hakkında veri toplamak için bir Mars yörünge aracının nasıl oluşturulacağını hiç merak ettiniz mi? Bu yıl boyunca fizik sınıfımızda A programlamayı öğrendik
DIY Hava Kalitesi Sensörü + 3D Baskılı Kılıf: 6 Adım
Kendin Yap Hava Kalitesi Sensörü + 3D Basılı Kılıf: Bu kılavuz, çok yetenekli, cep boyutunda bir sensör oluşturmak için ihtiyacınız olan tüm bilgileri içerir
AirPi - Hava Kalitesi Sensörü: 8 Adım
AirPi - Hava Kalitesi Sensörü: Başınızın neden ağrıdığını hiç merak ettiniz mi? Ve bu kötü hava kalitesinden kaynaklanıyorsa? Bu cihazla durumun böyle olup olmadığını kontrol edebilirsiniz. Bu cihaz CO2 değerini, TVOC değerini, sıcaklığı ve nemi ölçer. Havayı görebilirsiniz q