İçindekiler:

RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun: 11 Adım
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun: 11 Adım

Video: RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun: 11 Adım

Video: RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun: 11 Adım
Video: Google Home Sıcaklık Sensörlü Saat oldu! 2024, Temmuz
Anonim
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun
RaspberryPI ve DHT22 Kullanarak Apple HomeKit Sıcaklık Sensörü (DHT22) Cihazı Oluşturun

Bu bahar çok ıslak olduğunu ve çok nemli olduğunu keşfettiğimden, tarama alanımda neler olduğunu izlemek için kullanabileceğim düşük maliyetli bir sıcaklık / nem sensörü arıyordum. Bu yüzden oraya koyabileceğim ve uzaktan izleyebileceğim makul fiyatlı bir sensör arıyordum. Yerel olarak mevcut olan ve bir RaspBerry PI ve bir NodeMCU ile çalıştığı gösterilenler için internette biraz araştırma yaptıktan sonra (bundan sonra daha fazlası). DHT22 Sensörde karar kıldım. Ucuzdu, hem sıcaklık hem de nem sunuyordu ve yerel olarak mevcuttu.

Nisan 2019 Güncellemesi - Pigpiod kitaplığını birkaç yıl kullandıktan sonra, bcm2835 kitaplığına geçtim ve burada yeni talimatlar yayınladım.

Güncelleme Aralık 2016 - Bunları birkaç ay çalıştırdıktan sonra, nem sensörünün doğruluğunun zaman içinde büyük ölçüde değiştiğini gördüm ve makul ölçüde doğru nem bilgisi için bunlara güvenmeyi bıraktım. Ve tüm cihazlarımı Bosch BME280 Sıcaklık/Nem/Barometrik Basınç sensörüne değiştiriyorum. Bu yüzden, bu sensörün RaspberryPI'ye nasıl bağlanacağını gösteren yeni bir talimat oluşturdum (RaspberryPI'nizi BME280 Sıcaklığına ve NodeMCU/ESP8266'ya (Homebridge-MCUIOT) Bağlayın.

Adım 1: Parça Listesi

Bu yüzden yerel parça mağazama gittim ve satın aldım

1 - DHT22 / AM2303 Sıcaklık / Nem Sensörü

1 - 4.7K Direnç

4 Pin Dişi başlık (Sensör tarafı)

5 Pinli Dişi başlık (RPI Tarafı)

Dar ve geniş ısıyla daralan makaron

Eski seri fare

Sensörü PI'ye bağlamak için, etrafta yattığım eski bir seri farenin kablosunu kullandım. Kullanılmış herhangi bir kablo, 3 telli olduğu sürece kullanılabilir. Kullandığım kablonun birkaç kablosu vardı, ancak işleri basit tutmak için Kırmızı, Sarı ve Siyah'ı kullandım.

Adım 2: Kablonun RPI Ucunu Hazırlayın

Kablonun RPI Ucunu Hazırlayın
Kablonun RPI Ucunu Hazırlayın

Daha sonra pimleri telime lehimledim. Sahip olduğum pimler kıvrımlıydı, ancak doğru kıvrılmalarını sağlayamadım, bu yüzden onun yerine lehimle gittim.

Pimleri lehimledikten sonra, onları Kırmızı 1'de, Sarı 4'te ve Siyah 5'te olacak şekilde 5 Pinli Dişi başlığına yerleştirdim.

RPI Bağlantısı şu şekilde kablolanmıştır

RPI -> 5 Pin Başlık -> Açıklama -> Kablo Rengi

1 -> 1 -> 3.3 VDC Güç -> Kırmızı

7 -> 4 -> GPIO4 -> Sarı

9 -> 5 -> Zemin -> Siyah

Adım 3: Kablonun Sensör Ucu

Kablonun Sensör Ucu
Kablonun Sensör Ucu
Kablonun Sensör Ucu
Kablonun Sensör Ucu
Kablonun Sensör Ucu
Kablonun Sensör Ucu
Kablonun Sensör Ucu
Kablonun Sensör Ucu

Bu noktada 4 Pin dişi başlık, direnç ve ısıyla daralan makaron kullanıyoruz.

Kırmızı ve sarı kabloları birer pime lehimleyin ve direnci de aralarına yerleştirin. Ayrıca bunları ısıyla daralan makaronla kaplayın, böylece kısalma olmaz. Ardından siyah kabloyu da bir pime lehimleyin. Pimleri 4 Pin başlığına aşağıdaki gibi yerleştirin

1 - kırmızı

2 - Sarı

3 - Boş

4 - Siyah

Ardından kabloları daha büyük ısıyla daralan makaronla örtün.

Adım 4: Kabloları Bağlama

Kabloların Bağlanması
Kabloların Bağlanması
Kabloların Bağlanması
Kabloların Bağlanması

RPI'niz kapalıyken, 5 pimli dişiyi, pim 1'deki Kırmızı kablo GPIO konektöründeki pim 1 ile aynı hizaya gelecek şekilde dikkatlice GPIO bağlantısına bağlayın. Başlık yalnızca ilk 5 tek numaralı GPU pinini kapsamalıdır.

Sensör tarafı için, sensör üzerindeki pimleri başlık ile hizalayın ve sensörün pim 1'inin (sol tarafta), başlığın pim 1'ine (kırmızı kablo ile) bağlandığından emin olun.

Isı büzüşmesini taktıktan sonra artık tel rengini göremedim, bu yüzden bir şipşak ile işaretledim.

Adım 5: Homebridge Yazılımını Yükleme

Bir ahududu pi kurmak için bir çok başka kılavuzlar olduğu için, bunu burada tekrar etmeyeceğim, ancak RPI kurulumunuzu Raspbian Jessie ile, Node. JS kurulu ve ana köprü çalışıyorken yaptığınızı varsayıyorum. Bunlar, zaten bunu kapsayan bir dizi ana köprü başlangıç kılavuzlarıdır.

Adım 6: Homebridge-dht'yi kurun

1. Homebridge-dht'yi şu komutla kurun

sudo npm install -g homebridge-dht

2. ~/.homebridge içindeki config.json dosyanızı aşağıdaki ile güncelleyin

{ "köprü": {

"ad": "Penny", "kullanıcı adı": "CC:22:3D:E3:CD:33", "bağlantı noktası": 51826, "pin": "031-45-154" }, "açıklama": " HomeBridge", "platformlar": , "aksesuarlar": [{ "aksesuar": "Dht", "ad": "dht22", "name_temperature": "Sıcaklık", "name_nem": "Nem", "servis ": "dht22" }]}

Adım 7: PIGPIO'nun Kurulması

1. Pigpiod kitaplığını bu komutlarla kurun

sudo apt-get güncellemesi

sudo apt-get yükleme pigpio python-pigpio python3-pigpio

2. dht22'yi /usr/local/bin/dht22'ye kopyalayın ve çalıştırılabilir hale getirin.

RPI'mdaki kurulum ile /usr/lib/node_modules/homebridge-dht içinde bulunur. Kurulumunuz onu farklı bir konuma yerleştirebilir. Lütfen kontrol edin

ls -l /usr/lib/node_modules/homebridge-dht/dh22

sudo cp /usr/lib/node_modules/homebridge-dht/ dht22 /usr/local/bin/dht22

sudo chmod a+x /usr/local/bin/dht22

3. Bu noktada DHT22 sensörünüzü şu komutla test edebilmelisiniz.

dht22

Ve ile cevap vermeli

0 18.4 C 51.0 %

Adım 8: Raspberry PI CPU Sıcaklık İzleme - Opsiyonel

Bu, ahududu PI CPU'nuzun sıcaklığını da uzaktan izlemenizi sağlayan isteğe bağlı bir adımdır.

1. /usr/local/bin/cputemp içinde aşağıdakileri içeren bir dosya oluşturun:

#!/bin/bashcpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp) cpuTemp1=$(($cpuTemp0/1000)) cpuTemp2=$(($cpuTemp0/100)) cpuTempM=$(($cpuTemp2 % $cpuTemp1)) echo $cpuTemp1" C"

2. Dosyayı yürütülebilir yapın

chmod a+x /usr/local/bin/cputemp

3. ~/.homebridge içindeki config.json dosyanızı güncelleyin ve aksesuarlar bölümünü aşağıdakiyle değiştirin:

"Aksesuarlar": [{ "aksesuar": "Dht", "ad": "cputemp", "servis": "Sıcaklık" }, { "aksesuar": "Dht", "ad": "Sıcaklık/Nem Sensörü", "servis": "dht22" }]

Adım 9: Homebridge'i Başlatın

Homebridge'i başlatın ve günlük dosyanız şöyle görünmelidir

[21.06.2016, 9:37:31 PM] Yüklenen eklenti: homebridge-dht [21.06.2016, 9:37:31 PM] 'homebridge-dht. Dht' aksesuarı kaydediliyor

[21.06.2016, 21:37:31] ---

[21.06.2016, 9:37:31 PM] 2 aksesuar ve 0 platform ile config.json yüklendi.

[21.06.2016, 21:37:31] ---

[21.06.2016, 21:37:32] 0 platform yükleniyor…

[21.06.2016, 21:37:32] 2 aksesuar yükleniyor…

[21.06.2016, 9:37:32 PM] [cputtemp] Dht aksesuarı başlatılıyor…

[21.06.2016, 9:37:32 PM] [cputtemp] BAŞLANGIÇ: cputtemp

[21.06.2016, 9:37:32 PM] [Sıcaklık/Nem Sensörü] Dht aksesuarı başlatılıyor…

[21.06.2016, 9:37:32 PM] [Sıcaklık/Nem Sensörü] BAŞLANGIÇ: Sıcaklık/Nem Sensörü

Homebridge ile eşleştirmek için iOS cihazınızdaki HomeKit Uygulamanız ile bu kodu tarayın:

┌────────────┐

│ 031-45-154 │

└────────────┘

[21.06.2016, 9:37:32 PM] Homebridge, 51826 numaralı bağlantı noktasında çalışıyor.

Adım 10: Ev Kitiyle Test Etme

Ev Kiti ile Test Etme
Ev Kiti ile Test Etme

Favori ev takımı istemcinizi çalıştırın ve yeni aksesuarınızla eşleştirin. Ardından yeni Sıcaklık/Nem Sensörünü görmelisiniz.

Sorunlarınız veya sorunlarınız varsa, lütfen GitHub'da bir sorun dile getirin

11. Adım: Bonus Bölüm - Çift Sensör

Bonus Bölüm - Çift Sensör
Bonus Bölüm - Çift Sensör

Birkaç kişi tarafından sorulduktan sonra, ikinci bir sensör eklemek için gereken notları eklemeyi düşündüm.

Kablolama için ekteki resme bir bakın, bu ikinci sensörü bağlamak için Hector305 ile paylaştığım resim.

Ve güncellenmiş yapılandırma dosyası için bu, bunun için config.json'dur.

{ "aksesuar": "Dht", "name": "dht22 - iç mekan", "name_temperature": "İç Mekan Sıcaklığı", "name_humidity": "İç Mekan Nemi", "gpio": "4", "servis": "dht22" }, { "aksesuar": "Dht", "name": "dht22 - dış mekan", "name_temperature": "Dış Ortam Sıcaklığı", "name_nem": "Dış Ortam Nemi", "gpio": "2", "servis": "dht22" }

Önerilen: