Mündəricat:

Daxili IoT Hava Keyfiyyəti Sensoru yaradın, Bulud tələb olunmur: 10 addım
Daxili IoT Hava Keyfiyyəti Sensoru yaradın, Bulud tələb olunmur: 10 addım

Video: Daxili IoT Hava Keyfiyyəti Sensoru yaradın, Bulud tələb olunmur: 10 addım

Video: Daxili IoT Hava Keyfiyyəti Sensoru yaradın, Bulud tələb olunmur: 10 addım
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Iyun
Anonim
Bulud tələb olunmayan bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb olunmayan bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb etməyən bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb etməyən bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb etməyən bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb etməyən bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb etməyən bir IoT Hava Keyfiyyəti Sensoru yaradın
Bulud tələb etməyən bir IoT Hava Keyfiyyəti Sensoru yaradın

Daxili və ya açıq havanın keyfiyyəti bir çox çirklənmə mənbəyindən və hava şəraitindən asılıdır.

Bu cihaz 2 sensor çipsi istifadə edərək bəzi ümumi və ən maraqlı parametrlərdən bəzilərini çəkir.

  • Temperatur
  • Rütubət
  • Təzyiq
  • Üzvi qaz
  • Mikro hissəciklər

Burada istifadə olunan sensorlar temperatur, rütubət, təzyiq və üzvi qaz dəyərlərini əldə etmək üçün BME680 və mikro hissəciklərin sıxlığını əldə etmək üçün PMS5003 -dür.

HomeDing kitabxanasından istifadə etməklə, yalnız ev şəbəkəsinə qoşulmuş və şəbəkədəki hər hansı bir brauzer tərəfindən idarə oluna bilən bir cihaz qurmaq asandır. Ən çox yayılmış sensor çiplərindən, cihazlarından və digər xidmətlərdən istifadə etməyə imkan verən Elementlər seçimi ilə gəlir.

Sensor məlumatlarını göstərmək və cihazla qarşılıqlı əlaqə qurmaq üçün bulud əsaslı bir həll istifadə etmək əvəzinə cihazın içərisində veb tərəfi yerləşdirmək üçün tam bir həll gətirir.

Təchizat

Bu layihəni qurmaq üçün nodemcu lövhəsi və hava keyfiyyətini ölçmək üçün sensorlar dəsti kimi bir ESP8266 əsaslı lövhə lazımdır. Bu layihədə istifadə olunan HomeDing kitabxanası, temperatur, rütubət, təzyiq və keyfiyyət üçün ümumi sensor çiplərini dəstəkləyir. Burada BMP680 çipi istifadə olunur.

  • USB girişi və enerji təchizatı üçün mikro usb kabeli.
  • ESP8266 CPU ilə 1 nodemcu kartı.
  • 1 BME680 sensor qırılma lövhəsi.
  • 1 PM2.5 PMS5003 tipli hava hissəcikləri lazer sensoru

BME680 sensorunu DHT22 sensoru ilə dəyişdirmək çox asandır, çünki kitabxana digərləri arasında da dəstəklənir.

Addım 1: Arduino mühitini ESP8266 üçün hazırlayın

Arduino mühitini ESP8266 üçün hazırlayın
Arduino mühitini ESP8266 üçün hazırlayın
  1. Arduino IDE -nin son versiyasını (hazırda 1.8.2 versiyasını) quraşdırın.
  2. Esp8266 dəstəyini quraşdırmaq üçün İdarəetmə Menecerindən istifadə edin. Ətraflı təlimatı burada tapa bilərsiniz:
  3. Ekran görüntüsündə göstərildiyi kimi 1MByte SPIFFS Fayl Sistemi ilə NodeMCU 1.0 üçün lövhə seçimlərini qurun

Addım 2: Lazımi Kitabxanaları daxil edin

Lazımi kitabxanaları daxil edin
Lazımi kitabxanaları daxil edin

HomeDing kitabxanası, sensorların və ekranların işləməsi üçün bəzi ümumi əlavə kitabxanalara əsaslanır.

HomeDing kitabxanasını qurduğunuzda, bu lazımlı kitabxanaları olan bir şəkil avtomatik olaraq quraşdırıla bilən bir pəncərə görəcəksiniz və hamısını quraşdırmaq asandır.

Bəzən (naməlum səbəblərdən) kitabxanaların quraşdırılması uğursuz olur, buna görə də bütün lazımi kitabxanaların əl ilə quraşdırılması lazımdır.

Lazımi kitabxanalar haqqında daha ətraflı məlumatı https://homeding.github.io/#page=/elements.md sənədləşdirmə saytında tapa bilərsiniz.

Mövcud tələb olunan kitabxanaların siyahısı budur:

  • Adafruit NeoPixel
  • LiquidCrystal_PCF8574.h
  • SSD1306 ekran üçün ESP8266 və ESP32 Oled Sürücü
  • RotaryEncoder
  • ESPx üçün DHT sensor kitabxanası
  • OneWire

PMS5003 hava hissəciklərinin lazer sensoru 9600 baud seriyalı xətt siqnalı ilə əlaqə qurur. Bu siqnal, ESP8266 alətlərinin quraşdırılması ilə birlikdə gələn SoftwareSerial kitabxanasından istifadə etməklə çəkilir. Kitabxana olaraq köhnə bir versiyanın quraşdırılmadığından əmin olun.

Addım 3: Standart Nümunə Sketchini fərdiləşdirin

Standart nümunə eskizini fərdiləşdirin
Standart nümunə eskizini fərdiləşdirin

Standart Nümunə, daha çox yayılmış bəzi sensorları element olaraq ehtiva edir, buna görə yalnız bəzi konfiqurasiya tələb olunacaq.

Bu, BME680 Element tərəfindən dəstəklənən BME680 sensoruna aiddir.

PMS5003 sensoru daha az yayılmışdır və PMS Elementini firmware -ə daxil edərək aktivləşdirmək lazımdır. Bu, eskizin element qeydiyyatı bölməsində #define HOMEDING_INCLUDE_PMS təyin etməklə edilir.

#HOMEDING_INCLUDE_BME680 təyin edin#HOMEDING_INCLUDE_PMS təyin edin

Yeni cihazı şəbəkəyə əlavə etməkdə sadəlik üçün standard.ino eskiz faylının yanındakı secret.h faylına ev WiFi -nin SSID və parolunu əlavə edə bilərsiniz. Ancaq bu sabit kodlu konfiqurasiya olmadan cihazı şəbəkəyə əlavə etmək üçün quraşdırılmış WiFi Menecerindən də istifadə edə bilərsiniz.

İndi eskizin tətbiqi ilə bağlı hər şey hazırdır və firmware tərtib edilə və yüklənə bilər.

Addım 4: Veb UI yükləyin

Standart nümunə, veb istifadəçi interfeysi üçün bütün faylları ehtiva edən bir məlumat qovluğu ilə gəlir.

Bu faylları yükləməzdən əvvəl bu məqalədə tapa biləcəyiniz env.json və config.json faylını əlavə etmək istəyə bilərsiniz, çünki bu işi asanlaşdıracaq.

Bu faylların məzmunu IoT cihazını xüsusi edən və Hava Keyfiyyəti sensoru kimi davranan şeydir. Bu hekayədə ətraflı izah edilmişdir.

ESP8266 fayl yükləmə proqramından istifadə edin və bütün faylları yükləyin. Konfiqurasiyanı aktivləşdirmək üçün yenidən başlamalısınız.

Addım 5: BME680 Sensorunu əlavə edin

BME680 Sensorunu əlavə edin
BME680 Sensorunu əlavə edin
BME680 Sensorunu əlavə edin
BME680 Sensorunu əlavə edin
BME680 Sensorunu əlavə edin
BME680 Sensorunu əlavə edin

BME680 Sensoru, I2C avtobusundan istifadə edərək lövhə ilə əlaqə qurur.

Bu, digər sensorlar və ya ekranlar kimi digər uzantılarla paylaşıldığı üçün cihazın şəbəkə adı ilə birlikdə env.json -da cihaz səviyyəsində qurulmuşdur. Budur çıxarılmış cihaz və I2C parametrləri nümunəsi:

"qurğu": {

"0": {"name": "airding", "description": "Hava Keyfiyyəti Sensoru",… "i2c-scl": "D2", "i2c-sda": "D1"}}

Çörək lövhəsində sensorun əlaqə kabellərini görə bilərsiniz: 3.3V = qırmızı, GND = qara, SCL = sarı, SDA = mavi

BME680 üçün konfiqurasiya config.json -da istifadə edilə bilər:

"bme680": {

"bd": {"address": "0x77", "readtime": "10s"}}

Daha sonra hərəkətləri əlavə edəcəyik.

Quraşdırmanı sınamaq üçün sadəcə bir brauzerdən istifadə edin və https://airding/board.htm saytını açın və göstərilən sensorun həqiqi dəyərlərini görəcəksiniz və hər 10 saniyədə bir yenilənəcək:

Addım 6: PMS5003 Sensorunu əlavə edin

PMS5003 Sensorunu əlavə edin
PMS5003 Sensorunu əlavə edin

Çörək taxtasına uyğun bir konnektoru olan bir sensorum yox idi, buna görə nodemcu lövhəsinə birbaşa bağlamaq üçün lehimləmə dəmirimi istifadə edərək kabeldəki bağlayıcılardan birini kəsməli oldum. Hələ son şəkillərdə görə bilərsiniz.

Bu sensorun gücü normal olaraq USB avtobusundan işləyən Vindən alınmalıdır. GND eynidır, eyni zamanda Vin pininin yanında mövcuddur.

Sensordan gələn məlumatlar standart 9600 baud seriya formatında ötürülür, buna görə də rx və tx pinləri və oxu vaxtı konfiqurasiya edilməlidir:

"pms": {

"pm25": {"description": "pm25 hissəcik sensoru", "pinrx": "D6", "pintx": "D5", "oxuma vaxtı": "10s"}}

Daha sonra hərəkətləri əlavə edəcəyik.

Quraşdırmanı yenidən sınamaq üçün cihazı yenidən başladın və bir brauzerdən istifadə edərək https://airding/board.htm açın və göstərilən sensorun əsl pm35 dəyərini görəcəksiniz və hər 10 saniyədə bir yenilənəcək, ancaq bu dəyər normaldır tez -tez dəyişmir.

Şam bu hissəciklərin çoxunu istehsal etdiyi üçün sensorun yanına bir şam işığı qoyaraq daha yüksək dəyərlər əldə edə bilərsiniz.

İndi hər şeyi gözəl bir mənzilə qoya bilərsiniz, çünki bütün digər konfiqurasiyalar və hətta proqram yeniləmələri uzaqdan edilə bilər.

Addım 7: Bəzi Şəbəkə Xüsusiyyətləri Əlavə Edin

Env.jsondakı aşağıdakı konfiqurasiya çıxarışı imkan verir

  • firmware -ni havada yeniləmək
  • SSDP şəbəkə protokolundan istifadə edərək şəbəkəni aşkar etməyə imkan verir və cari vaxtı ntp serverindən alır.

{

… "Ota": {"0": {"port": 8266, "passwd": "123", "description": "OTA Güncellemelerini 'havada dinləyin"}}, "ssdp": {"0 ": {" İstehsalçı ":" adınız "}}," ntptime ": {" 0 ": {" oxu vaxtı ":" 36saat "," zona ": 2}}}

Saat dilimini yerləşdiyiniz yerə uyğunlaşdırmalısınız. Şübhə edirsinizsə, UTC/GMT -dən ofset almaq üçün https://www.timeanddate.com/ saytından istifadə edə bilərsiniz. "2" Almaniya yay vaxtı üçün uyğundur.

Https://homeding.github.io/index.htm#page=/savemo… sənədlərindəki saxlama rejimi ilə bağlı təlimatları oxuduqdan sonra ana parolunu da tənzimləyə bilərsiniz.

Yenidən başladıqdan sonra havalandırma cihazını şəbəkədə tapa bilərsiniz və ntp serverindən cavab aldıqdan sonra yerli vaxt mövcuddur.

Addım 8: Bəzi qeydlər əlavə edin

Yalnız faktiki dəyərlər kifayət qədər verməyə bilər, buna görə daha çox element istifadə edilə bilər.

Bu hekayə üçün Giriş elementi və NPTTime Elementi, sensor dəyərlərinin tarixçəsini bir qeyd sənədində qeyd etmək üçün istifadə olunur və bu element üçün Web UI kartı onu qrafik olaraq göstərə bilər.

Aşağıdakı konfiqurasiya qaz və hissəciklər üçün 2 log elementini yaradır:

{

"log": {"pm": {"description": "pm25 qeydləri", "fayl adı": "/pmlog.txt", "filesize": "10000"}, "aq": {"description": " Qaz keyfiyyəti jurnalı "," fayl adı ":" /aqlog.txt "," fayl ölçüsü ":" 10000 "}}}

Addım 9: Fəaliyyətlər

Tədbirlər
Tədbirlər

İndi hərəkətlərdən istifadə edərək faktiki dəyərləri log elementlərinə köçürməliyik. Hərəkətlər, hədəf elementinə kay və dəyər ötürmək üçün bir URL işarəsi istifadə edir. Bir çox Element, yeni bir sensor dəyərinin tutulması kimi baş verən müəyyən hadisələr haqqında hərəkətlər edilməsini dəstəkləyir.

Fəaliyyətlər, 2 giriş tələb edən hərəkətləri yayan elementdə konfiqurasiya olunur:

  • Pms/p25 onvalue hadisəsi, bir dəyər hərəkəti istifadə edərək faktiki dəyəri log/pm elementinə göndərir.
  • Bme680/bd ongas hadisəsi, bir dəyər hərəkəti istifadə edərək faktiki dəyəri log/pm elementinə göndərir.

{

"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}

İndi bütün elementlər konfiqurasiya olunur.

Addım 10: Şəkillər və Konfiqurasiya Faylları

Şəkillər və Konfiqurasiya Faylları
Şəkillər və Konfiqurasiya Faylları
Şəkillər və Konfiqurasiya Faylları
Şəkillər və Konfiqurasiya Faylları
Şəkillər və Konfiqurasiya Faylları
Şəkillər və Konfiqurasiya Faylları

İşdə son IoT Hava Keyfiyyət sensorumun bəzi şəkilləri.

Yüklənmədən əvvəl konfiqurasiya fayllarının adı *.json (no.txt) olaraq dəyişdirilməlidir.

Bağlantılar və istinadlar

  • HomeDing Mənbə Kodu Deposu:
  • Sənədlər:
  • Standart Nümunə:
  • BME680 Elementi:
  • PMS Elementi:
  • Giriş elementi:
  • NtpTime Elementi:

Tövsiyə: