İçindekiler:

IoT veya Ev Otomasyonu için Homie Cihazları Oluşturma: 7 Adım (Resimlerle)
IoT veya Ev Otomasyonu için Homie Cihazları Oluşturma: 7 Adım (Resimlerle)

Video: IoT veya Ev Otomasyonu için Homie Cihazları Oluşturma: 7 Adım (Resimlerle)

Video: IoT veya Ev Otomasyonu için Homie Cihazları Oluşturma: 7 Adım (Resimlerle)
Video: [Webinar] Akıllı Perakende Otel ve Restoranlar için IoT Çözümleri 2024, Kasım
Anonim
IoT veya Ev Otomasyonu için Homie Cihazları Oluşturma
IoT veya Ev Otomasyonu için Homie Cihazları Oluşturma

Bu talimat, Kendin Yap Ev Otomasyonu serimin bir parçasıdır, "Bir Kendin Yap Ev Otomasyon Sistemini Planlama" ana makalesine göz atın. Henüz Homie'nin ne olduğunu bilmiyorsanız, Marvin Roger'dan homie-esp8266 + homie'ye bir göz atın.

Birçok sensör var. Okuyucuya "bir şey" inşa etmeye başlamak için gereksinimleri vermek için çok temel olanları ele alıyorum. Bu roket bilimi olmayabilir ama aslında işe yaramalı.

Parçalara sahip değilseniz, yaklaşmakta olan "Elektronik Parçaları Asya'dan Tedarik Etme" talimatıma dikkat edin.

Birkaç popüler kelime ekleyeyim: IoT, ESP8266, Homie, DHT22, DS18B20, ev otomasyonu.

Konu şimdi oldukça açık olmalı:-)

Ayrıca, bu talimat artık kişisel sayfamdan da edinilebilir:

1. Adım: Başlarken

Başlarken
Başlarken
Başlarken
Başlarken

Sözleşmeler

Bu talimat, D1 Mini klonlarını kullanır. Bunlar, ESP8266 çipini kullanan WiFi özellikli Arduino uyumlu kontrolörlerdir. Çok küçük form faktöründe (~34*25mm) gönderilirler ve çok ucuzdurlar (klonlar için ~3-4$).

Her yapıyı bir D1 Mini, bir devre tahtası ve bazı sensör(ler) kullanarak göstereceğim. Her biri için bir Malzeme Listesi (BOM) ekliyorum ancak atlama telleri ve devre tahtası (mini veya tam) gibi bariz şeyleri atlayacağım. "Aktif kısımlara" odaklanacağım.

Diyagramlardaki teller/kablolar için (Fritzing + AdaFruitFritzing kitaplığı) kullandım:

  • Güç için Kırmızı/Turuncu, genellikle 3.3V. Bazen 5V olacak, dikkatli olun.
  • Zemin için siyah.
  • Dijital veri sinyalleri için sarı: Bitler hareket halindedir ve çipler tarafından olduğu gibi okunabilir.
  • Analog veri sinyalleri için Mavi/Mor: Burada bit yok, sadece neler olduğunu anlamak için ölçülmesi ve hesaplanması gereken düz voltaj.

Homie for ESP8266 bir düzine örnek gönderiyor, işte bu talimatı oluşturmaya başladığım yer.

ekmek tahtası

D1 oldukça breadboard dostudur ancak sadece bir sıra pin yukarı ve aşağı kaydedecektir. Her örnekte D1 sağ tarafta ve bileşenler sol tarafta olacaktır. Üst ve alt güç rayları, 3.3V veya 5V taşımak için kullanılacaktır.

Not

Homie örnekleri, Arduino IDE için ".ino" eskizleri olarak oluşturulmuştur. Ancak kendi kodum PlatformIO için ".ccp" olarak oluşturuldu.

Seçtiğiniz araç ne olursa olsun, eskizler kopyalanacak/yapıştırılacak kadar basit olduğundan, bu çok az fark yaratacaktır.

Adım 2: Sıcaklık ve Nem: DHT22 / DHT11

Sıcaklık & Nem: DHT22 / DHT11
Sıcaklık & Nem: DHT22 / DHT11
Sıcaklık & Nem: DHT22 / DHT11
Sıcaklık & Nem: DHT22 / DHT11
Sıcaklık & Nem: DHT22 / DHT11
Sıcaklık & Nem: DHT22 / DHT11

cihazı inşa etmek

DHT22 şunları kullanır:

  • Denetleyici ile iletişim kurmak için bir dijital pin, onu D3'e bağlayın
  • Güç için iki kablo (3,3V veya 5V + GND)
  • Dijital pin yüksek tutulmalıdır (güce bağlı), bunun için güç rayı ile veri pini arasında bir direnç kullanıyoruz

kod

PlatformIO projesi şu adresten indirilebilir:

Orijinal Homie örneği burada (ancak sensör kullanmıyor):

DHT22 için DHT sensör kitaplığını kullanın (ID=19)

malzeme listesi

  • Denetleyici: Wemos D1 Mini
  • Direnç: 10KΩ
  • Sensör: (bunlardan biri)

    • DHT22: Ekstra direnç gerektiren 4 pin tipini kullandım. Direnç içeren SMD olarak gönderilen 3 pinli modül vardır.
    • DHT11: Bu daha ucuz ama daha az doğru, gereksinimlerinizi kontrol edin

Adım 3: Su Geçirmez Sıcaklık: DS18B20

Su Geçirmez Sıcaklık: DS18B20
Su Geçirmez Sıcaklık: DS18B20
Su Geçirmez Sıcaklık: DS18B20
Su Geçirmez Sıcaklık: DS18B20
Su Geçirmez Sıcaklık: DS18B20
Su Geçirmez Sıcaklık: DS18B20

Cihazı oluşturma DS18B20 şunları kullanır:

  • Denetleyici ile iletişim kurmak için bir dijital pin, onu D3'e bağlayın
  • Güç için iki kablo (3,3V veya 5V + GND)
  • Dijital pin yüksek tutulmalıdır (güce bağlı), bunun için güç rayı ile veri pini arasında bir direnç kullanıyoruz

DS18B20, 1 kablolu bir sensördür. Bir veri yolu kullanır ve bu nedenle birden fazla sensör tek bir veri pini kullanabilir.

Sensöre güç sağlamak için 3.3V/5V KULLANILMAMAK da mümkündür, buna parazit güç modu denir. Ayrıntılar için veri sayfasına bakın.

kod

PlatformIO projesi şu adresten indirilebilir:

DHT22'de olduğu gibi, orijinal Homie örneği burada (ancak sensör kullanmıyor):

1-Wire bus için OneWire paketini kullanın (ID=1)

DS18B20 için DallasTemperature'ı kullanın (ID=54)

malzeme listesi

  • Denetleyici: Wemos D1 Mini
  • Direnç: 4.7KΩ
  • Sensör: DS18B20, resimdeki su geçirmezdir
  • Kablonun devre tahtasına bağlantısını kolaylaştırmak için 3 pimli vidalı terminal

Adım 4: Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)

Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)
Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)
Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)
Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)
Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)
Işık: Fotodirenç / Fotosel (dijital: Açık/kapalı)

cihazı inşa etmek

(Üzgünüz, dijital fotosel için Fritzing bileşeniniz yok)

Fotoselli dijital modül şunları kullanır:

  • Denetleyici ile iletişim kurmak için bir dijital pin, onu D3'e bağlayın
  • Güç için iki kablo (3.3V + GND)

Analog fotosel kullanmak mümkündür ancak bu burada belgelenmemiştir, "Fotosel Kullanımı" Adafruit mükemmel makalesine bakın.

Not: Bu örnekte sensör kartında bir potansiyometre bulunmaktadır. "Açık" ve "karanlık" ortam ışığı arasındaki sınırı ayarlamak için kullanılır. 1 okuma ışığı söndüğünde, 0 okuması yanıyorsa ışık anlamına gelir.

kod

PlatformIO projesi şu adresten indirilebilir:

malzeme listesi

Denetleyici: Wemos D1 Mini

Sensör: Işığa Duyarlı / Işık Algılama Modülü

Adım 5: Işık: Fotodirenç / Fotosel (analog)

Işık: Fotodirenç / Fotosel (analog)
Işık: Fotodirenç / Fotosel (analog)
Işık: Fotodirenç / Fotosel (analog)
Işık: Fotodirenç / Fotosel (analog)
Işık: Fotodirenç / Fotosel (analog)
Işık: Fotodirenç / Fotosel (analog)

cihazı inşa etmek

Fotoselli analog sensör bir direnç görevi görür. Bir analog giriş ile 3.3V arasında bağlanacaktır.

Voltaj bölücü oluşturmak için GND ile veri pini arasına bir direnç konur. Amaç, bilinen bir değer aralığı oluşturmaktır:

  • Işık yoksa, fotosel temelde VCC'yi engeller, böylece GND'yi veri pininize bağlar: Pin yaklaşık 0 okuyacaktır.
  • Çok fazla parlak ışık varsa, fotosel VCC'nin veri pinine akmasına izin verecektir: Pin neredeyse tam voltajı okuyacaktır ve bu nedenle maksimuma (1023) yakındır.

Not: Analog pin değerleri analogRead kullanılarak 0-1023 aralığında okunur. Bu, 1 baytlık değerlerle uğraşmak pratik değildir, bunun için Arduino harita işlevi 0-1023'ten (örneğin) 0-255'e düşürmeye yardımcı olacaktır.

Sensörünüz için min/maks değerlerinin kalibrasyonu için Arduino'dan buna benzer bir çizim kullanın.

kod

PlatformIO projesi şu adresten indirilebilir:

malzeme listesi

  • Denetleyici: Wemos D1 Mini
  • Sensör: Işığa Bağlı Direnç (LDR) / Fotodirenç
  • Direnç: 1K veya 10K, hücrenize göre kalibre etmeniz gerekiyor

Referanslar

  • Bir konumun aydınlatma durumu için PiDome sunucu kaynak kodu
  • Adafruit'in "Fotosel Kullanımı"
  • "Foto dirençler" burada talimatlarda
  • Biraz matematik ve grafik istiyorsanız, çılgın bir "Fotosel Eğitimi"

Adım 6: Optik Dedektör: QRD1114

cihazı inşa etmek

kod

malzeme listesi

Referanslar

  • Fiziksel Hesaplama: QRD1114, sensörü okumak ve döner kodlayıcı + hassas PCB tasarımı için kesme kullanmak için örnek kod içerir
  • Sparkfun'da QRD1114 Optik Dedektör Bağlantı Kılavuzu

7. Adım: Son Sözler

Son sözler
Son sözler

Bu talimat, temel izlemeyi açıklamak için çok kısa bir talimattır.

Daha ileri gitmek için röleleri, IR yayıcıyı bağlamamız gerekecek… Bu, umarım daha sonra boş zaman izin verdiği için ele alınacaktır. En büyük fark, sadece "okuma" (ışık var mı?) değil, aynı zamanda "yazma" (ışığı aç!)

Önerilen: