İçindekiler:

Sıcaklık Sensörleri Ağı: 6 Adım
Sıcaklık Sensörleri Ağı: 6 Adım

Video: Sıcaklık Sensörleri Ağı: 6 Adım

Video: Sıcaklık Sensörleri Ağı: 6 Adım
Video: Isı Sensörü Nedir? Thermistör Nedir? PTC ve NTC Nedir? Sıcaklık Sensörü Kombi Sensörü 2024, Temmuz
Anonim
Image
Image

Sıcaklık ve nem, laboratuvarınız, mutfağınız, üretim hattınız, ofisiniz, öldürücü robotlarınız ve hatta evinizdeki hayati verilerdir. Birden fazla konumu veya odayı veya alanı izlemeniz gerekiyorsa, güvenilir, kompakt, doğru ve uygun fiyatlı bir şeye ihtiyacınız vardır. Pahalı sensörler satın alabilirsiniz, ancak birden fazla odayı izliyorsanız bu, masraflarınızın fırlamasına neden olabilir. Bu öğretici, bu sensörleri nasıl oluşturacağınızı ve bankayı bozmadan verilerinizi nasıl izleyeceğinizi gösterecektir.

Bu cihaz, kompakt, ucuz, güçlü ve yerleşik WiFi'ye sahip olduğundan, 14 $'lık Raspberry Pi Zero WH için mükemmel bir uygulamadır. Her sensör düğümü için kurulum ~31$ artı nakliye, vergiler ve kasaya mal olacak. Birleşik Krallık dışında daha zorlu olabilecek Raspberry Pi Zero WH hariç, nakliye maliyetlerini en aza indirmek için yukarıdaki her bir öğeyi kolayca toplu olarak alabilirsiniz. Raspberry Pi Foundation kurallarına göre birden fazla Sıfır satın almanıza izin veren bir satıcı bulamazsınız.

Zero WH'nin başlığı önceden lehimlenmiş olduğundan, proje montajımızı süper hızlı ve kolay hale getirecek olan 10 dolarlık Zero W yerine 14 dolarlık Zero WH kullanıyoruz. Sıcaklık doğruluğu (+/- 0,5 °C), nem aralığı (%0–100) ve düşük maliyeti nedeniyle DHT22 sıcaklık/nem sensörünü kullanıyoruz. Ayrıca, bir pull-up direnci eklemek zorunda kalmadan kablolanması gerçekten kolay bir şey istiyoruz.

Gereçler

  • Ahududu Pi Sıfır WH (14 $)
  • Mikro SD kart (4 $)
  • Raspberry Pi güç kaynağı (8 $)
  • DHT22 Sıcaklık/Nem Sensörü (5 $)
  • (Opsiyonel) Raspberry Pi Zero W kasa (6 $)

Adım 1: Montaj

toplantı
toplantı

DHT22'de Pi Zero WH: 5V, Ground ve data'nıza bağlamanız gereken üç pin bulunur. DHT22 üzerindeki güç pimi '+' veya '5V' olarak etiketlenecektir. Bunu Pi Zero WH'nin pin 2'sine (sağ üst pin, 5V) bağlayın. DHT22 üzerindeki Topraklama pimi '-' veya 'Gnd' olarak etiketlenecektir. Bunu Pi Zero WH üzerindeki pim 6'ya (5V pimin altındaki iki pim) bağlayın. DHT22'de kalan pin veri pinidir ve 'out' veya 's' veya 'data' olarak etiketlenecektir. Bunu, GPIO4 (pin 7) gibi Zero WH üzerindeki GPIO pinlerinden birine bağlayın. Bağlantılarınız ekteki resim gibi görünmelidir.

Adım 2: Yazılım Kurulumu

Pi Zero WH'nizi ilk kez kurmak için bir monitöre ve klavyeye ihtiyacınız olacak. Kurulduktan sonra, alanınıza yerleştirildiğinde çalıştırmak için bir monitöre veya klavyeye ihtiyacınız olmaz. Her düğümü mümkün olduğunca küçük ve kompakt tutmak istiyoruz.

  1. Pi Zero WH'nizin önyüklenmesi için standart Raspbian işletim sistemini kurmanız gerekir. Pi Zero WH'nizi kurmak için Raspberry Pi'nin web sitesindeki talimatları takip edebilirsiniz.
  2. Pi Zero WH'nizi WiFi ağınıza bağlayın. Pi Zero WH'nizi WiFi'ye bağlamak için Raspberry Pi'nin web sitesindeki talimatları takip edebilirsiniz.
  3. DHT22 sensör verilerini okumayı çok kolay hale getirmek için Adafruit DHT Python modülünü Pi'nize kurun. Komut isteminize aşağıdakini girin:

$ sudo pip Adafruit_DHT'yi kurun

Artık sensörünüzle iletişim kurmak için ihtiyacınız olan her şeye sahipsiniz. Ardından, sensör verileriniz için bir hedefe ihtiyacınız var, böylece bu verileri harika bir gösterge panosuna veya bir SMS/e-posta uyarısına dönüştürebilirsiniz. Projenin bu adımı için İlk Durumu kullanacağız.

  1. https://iot.app.initialstate.com adresinde bir hesap için kaydolun.
  2. ISStreamer modülünü komut isteminize kurun:

$ sudo pip ISStreamer'ı kurun

3. Adım: Python Komut Dosyası

Sensör verilerini okumak ve İlk Duruma veri göndermek için iki Python modülümüzle birlikte kurulu işletim sistemimiz ile Python betiğimizi yazmaya hazırız. Aşağıdaki komut dosyası, bir Başlangıç Durumu veri paketi oluşturacak/ekleyecek, DHT22 sensör verilerini okuyacak ve bu verileri gerçek zamanlı bir gösterge panosuna gönderecektir. Tek yapmanız gereken 6-11 satırlarını değiştirmek.

Adafruit_DHT'yi içe aktar

ISStreamer'dan. Streamer içe Aktarıcı içe aktarma zamanı # --------- Kullanıcı Ayarları --------- SENSOR_LOCATION_NAME = "Ofis" BUCKET_NAME = ":partly_sunny: Oda Sıcaklıkları" BUCKET_KEY = "rt0129" ACCESS_KEY = "BAŞLANGIÇ DURUM ERİŞİM ANAHTARINIZI BURAYA YERLEŞTİRİN" MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Yanlış # --------------------------------- akış = Streamer(bucket_name=BUCKET_NAME, kova_key=BUCKET_KEY, access_key=ACCESS_KEY) iken True: nem, temp_c = Adafruit_DHT.read_retry(Adafruit_DHT. DHT22, 4) eğer METRIC_UNITS: streamer.log(SENSOR_LOCATION_NAME)", "Sıcaklık(C) else: temp_f = format(temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log(SENSOR_LOCATION_NAME + " Sıcaklık(F)", temp_f) nem = format(nem, ".2f") streamer.log(SENSOR_LOCATION_NAME + " Nem(%)", nem) streamer.flush() time.sleep(60*DAKİKA_BETWEEN_READS)

  • Satır 6 - Bu değer, her düğüm/sıcaklık sensörü için benzersiz olmalıdır. Bu, sensör düğümünüzün oda adı, fiziksel konumu, benzersiz tanımlayıcısı veya herhangi bir şey olabilir. Bu düğümden gelen verilerin gösterge tablonuzdaki kendi veri akışına gitmesini sağlamak için her düğüm için benzersiz olduğundan emin olun.
  • Satır 7 - Bu, veri paketinin adıdır. Bu, İlk Durum Kullanıcı Arayüzü'nde herhangi bir zamanda değiştirilebilir.
  • Satır 8 - Bu sizin kova anahtarınız. Aynı panoda görüntülenmesini istediğiniz her düğüm için aynı paket anahtarı olması gerekir.
  • 9. Satır - Bu, İlk Durum hesap erişim anahtarınızdır. Bu anahtarı İlk Durum hesabınızdan kopyalayıp yapıştırın.
  • Satır 10 - Bu, sensör okumaları arasındaki süredir. Buna göre değiştirin.
  • Satır 11 - Metrik veya İngiliz ölçü birimleri belirtebilirsiniz.

Pi Zero WH'nizdeki Python betiğinizde 6-11 satırlarını ayarladıktan sonra, metin düzenleyiciden kaydedin ve çıkın. Komut dosyasını aşağıdaki komutla çalıştırın:

$ python tempsensor.py

Her sensör düğümü için bu adımları tekrarlayın. Her düğüm, aynı erişim anahtarını ve paket anahtarını kullanarak İlk Duruma veri gönderdiği sürece, tüm veriler aynı veri paketine gidecek ve aynı gösterge panosunda görünecektir.

4. Adım: Gösterge Tablosu

Gösterge Paneli
Gösterge Paneli
Gösterge Paneli
Gösterge Paneli

İlk Durum hesabınıza gidin, kova rafınızdaki kova adına tıklayın ve gösterge tablonuzda verilerinizi görüntüleyin. Kontrol panelinizi özelleştirebilir ve SMS/e-posta tetikleyicileri ayarlayabilirsiniz. Dahil edilen resim, üç farklı oda için sıcaklık ve nem toplayan üç sensör düğümüne sahip bir gösterge panosunu göstermektedir.

Kontrol panelinize bir arka plan resmi eklemeyi seçebilirsiniz.

Adım 5: İşlemi ve IP'yi Otomatik Çalıştırma ve İzleme

Otomatik Çalıştırma ve İzleme Süreci ve IP
Otomatik Çalıştırma ve İzleme Süreci ve IP

Dağıtılan birden fazla düğümünüz olduğunda, çalıştığından emin olmak için her bir düğümü izlemenin bir yolunu isteyeceksiniz. Kompakt tutmak için muhtemelen her sensör düğümünü bir monitör veya klavye/fare olmadan çalıştıracaksınız. Bu, her düğümün betiğinizi otomatik olarak başlatmasını ve çalıştırmasını isteyeceğiniz anlamına gelir. Yukarıda gösterildiği gibi kullanışlı bir süreç/IP adresi panosu oluşturmak için İlk Durum hesabınızı kullanabilirsiniz. Bu panoyu oluşturmaya ve Pi Zero WH'nizi açılışta Python komut dosyanızı otomatik olarak çalıştıracak şekilde ayarlamaya ilişkin ayrıntılı bir eğitim burada bulunabilir.

6. Adım: Sonuç

Çözüm
Çözüm

Tek bir sensör düğümünü çalışır duruma getirdiğinizde, kurulumunuzu gerektiği kadar çoğaltmak kolay ve nispeten ucuzdur. Pi Zero WH kullanmak, çok fazla beygir gücüne sahip olduğu için size diğer görevleri yerine getirme esnekliği sağlar. Örneğin, bir hava durumu API'sinden yerel hava durumu verilerini almak ve bunları sensör panonuza eklemek için Pi Zero WH'lerden birini kullanabilirsiniz. Sensör düğümlerinizi devre dışı bırakmaya karar verirseniz, Pi Zero WH'lerinizi başka projeler için yeniden kullanabilirsiniz. Bu esneklik, proje yatırımınızı geleceğe hazırlamanıza yardımcı olur.

Önerilen: