İçindekiler:

IFTTT ile IoT Tasarım Lambası: 7 Adım (Resimlerle)
IFTTT ile IoT Tasarım Lambası: 7 Adım (Resimlerle)

Video: IFTTT ile IoT Tasarım Lambası: 7 Adım (Resimlerle)

Video: IFTTT ile IoT Tasarım Lambası: 7 Adım (Resimlerle)
Video: ESP8266 NodeMCU Blynk Uygulaması İle Nasıl Kullanılır? | Kodlamadan Devreye Detaylı Anlatım 2024, Temmuz
Anonim
IFTTT ile IoT Tasarım Lambası
IFTTT ile IoT Tasarım Lambası
IFTTT ile IoT Tasarım Lambası
IFTTT ile IoT Tasarım Lambası

Bu Eğitilebilir Kitapta, hem işlevsel hem de şık, internete bağlı bir LED lamba yapımında size rehberlik edeceğim.

Bu tuhaf tasarım nesnesi, bir web uygulaması veya çevrimiçi hizmet IFTTT ile kontrol edilebilir. İkincisi, lambayı Google Asistan, Alexa, Android Bildirimleri, Saat ve Tarih, Hava tahmini vb. gibi her türlü harici hizmete bağlamayı mümkün kılar. Bu proje, ESP8266 ve Arduino editörü hakkında temel bir bilgi birikimine sahip olduğunu varsayar.

Adım 1: Elektronik Eşyaları Toplayın

Elektronik toplayın!
Elektronik toplayın!
Elektronik toplayın!
Elektronik toplayın!

Bu proje için aşağıdakilere ihtiyacınız olacak:

  • Bir NodeMCU veya başka bir ESP8266 mikrodenetleyici
  • Neopixel/WS2812B LED şerit (1m 60LED/m)
  • Seviye Değiştirici*
  • Atlama telleri (Erkek-Kadın)
  • Mikro USB kablosu
  • USB Duvar fişi (5V)

LED şeridinin üç kablosu vardır: 5V giriş (kırmızı), GND (beyaz) ve DATA giriş (yeşil). ESP8266, 3.3V'ta çalışır ancak bir VU pinine sahiptir. Bu pin doğrudan USB gücüne bağlıdır yani kartınıza USB üzerinden 5V ile güç verirseniz VU pininde de bu voltaj mevcut olacaktır. LED şeridine güç sağlamak için bu pimi kullanacağız. Yani kısaca:

  • Toprağı Toprağa Bağlayın (GND TO G)
  • 5V+'ı Vu'ya bağlayın
  • Din'i D2'ye bağlayın

* = Donanımınıza bağlı olarak bu kablolama çalışmayabilir. ESP8266 3,3V ile çalıştığı için sağladığı veri sinyali de 3,3V olacaktır. WS2812B'ye 5V güç verildiğinden, veri sinyali şerit tarafından düzgün şekilde alınamayacak kadar zayıf olabilir. Yukarıdaki kablolama çalışmıyorsa, veri sinyalini 3,3V'den 5V'a kaydıran bir Seviye Değiştiriciye ihtiyacınız olacaktır. Ekli kablo şemasına bakın.

Not! Bazı LED Şeritler diğerlerinden daha fazla kırılmaya meyillidir. Bu şeritlerle hiç çalışmadıysanız, bir Neopixel LED şeridini güvenli bir şekilde bağlamaya ilişkin ipuçları için Neopixel Überguide'ı okumanızı şiddetle tavsiye ederim.

2. Adım: HızlıLED

HızlıLED
HızlıLED

LED'leri kontrol etmek için FastLED kitaplığından faydalanabiliriz. Henüz yapmadıysanız, bu kitaplığı Arduino ortamınıza ekleyin (Çizim > Kitaplığı Dahil Et > Kitaplıkları Yönet > 'FastLED').

Kablolamanızın çalıştığından emin olmak için FastLED kitaplığıyla birlikte gelen birçok örnekten birini denemek isteyebilirsiniz (Dosya > Örnekler > FastLED). Her örnekteki ayarları (LED sayısı = 60, Veri pini = 2) panonuza yüklemeden önce değiştirdiğinizden emin olun.

Kart bilgisayarınıza bağlıyken LED'leri çok parlak ayarlarken dikkatli olun. 500mA'dan fazla çizim yaparken bilgisayarınız bağlantı noktasını kapatabilir. Şeridi tam parlaklıkta kullanmak istiyorsanız, yeterince yüksek amper sağlayabilen bir USB duvar fişi ile güç verin.

3. Adım: Yazılım

Yazılım
Yazılım

Şimdi özel yazılım zamanı. Yazılım GitHub'da mevcuttur:

github.com/dpkn/lamp/tree/master/software

Yazılım dosyasını indirin, sıkıştırmasını açın ve software.ino dosyasını Arduino düzenleyicinizde açın. Bu dosyada bahsedilen tüm kitaplıkların kurulu olduğundan emin olun.

Yapılandırma sekmesine gidin ve WiFi ağınızın ağ adını ve şifresini şu satırlara ekleyin:

const char* ssid = "";

const char* şifre = "";

Yönlendiricinize bağlı olarak aşağıdakileri de değiştirmeniz gerekebilir:

const IPAdresi staticIp(192, 168, 178, 101); // Cihazın istenen statik yerel IP'si

const IPAdresi ağ geçidi(192, 168, 178, 1); // Yönlendiricinin ağ geçidi IP'si constIPAddress alt ağı(255, 255, 255, 0); // Yönlendiricinin alt ağı

MacOS'ta bu ayarları Sistem Tercihleri > Ağ > Gelişmiş > TCP/IP altında bulabilirsiniz.

Dosyaları panonuza yükleyin. Her şey yolunda giderse, WiFi ağınıza bağlandığında şerit beyaz renkte yanacaktır. Ek bilgileri kontrol etmek için 115200 baud'da Seri Monitörü açın.

Adım 4: Yerel Olarak Kontrol Etme

Lambanın işleyişini göstermek için https://lamp-app.surge.sh (Codepen'deki kaynak) adresinde bulunan küçük bir web uygulaması yaptım. Bu uygulama, JSON isteklerini doğrudan ESP8266'ya gönderir ve bu da LED'leri günceller.

Lambayı yerel IP adresiyle adreslediğiniz için yukarıdakiler yalnızca lambanız ve telefonunuz aynı WiFi ağına bağlıysa çalışır. Lambayı herhangi bir yerden kontrol edebilmek için yönlendirici ayarlarınızı incelemeniz gerekir.

Adım 5: Her Yerden Kontrol Etme

Lambanızı World Wide Web olan sihirli şeye açmak için port yönlendirme denen bir şey yapmamız gerekiyor. Temel olarak, bu, genel IP adresinize (ISS'niz tarafından sağlanan) ve bağlantı noktası numarasına (bu örnekte isteğe bağlı olarak 300'e ayarlanmıştır) gönderilen istekleri ESP8266'nızın adreslenebilir olduğu dahili, yerel IP adresine yönlendirecektir.

Bu işlem her cihaz için farklıdır, bu nedenle kendi yönlendiricinizde bunu nasıl yapacağınızı bilmiyorsanız, google 'port yönlendirme' + yönlendiricinizin adını yazdığınızdan emin olun. Bunlar, ihtiyacınız olacak ayarlardır:

Harici Başlangıç/Bitiş Bağlantı Noktası: 300

Dahili Başlangıç/Bitiş Bağlantı Noktası: 300

Dahili IP Adresi: 192.168.178.101 (Seri Monitörde gösterilen adres)

Protokol: TCP/UDP

Uyarı! Bunu yaptıktan sonra, lambanız, genel IP'nizi ve lambanın çalıştığı bağlantı noktasını bilen herhangi biri tarafından kontrol edilebilir. Bunun harika bir fikir olduğunu düşünmüyorsanız, bir güvenlik katmanı uygulamanız önerilir

Her şeyin doğru kurulup kurulmadığını test etmek için tarayıcınıza aşağıdakini girin: (Genel IP adresinizi bilmiyorsanız, bu web sitesine gidin.)

[KAMU IP'NİZ]:300

Bir JSON onay mesajı görmelisiniz. Artık uygulamayı genel IP adresinizle kullanmayı deneyebilirsiniz.

Adım 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

İşte asıl eğlence burada başlıyor. Artık lambamız ~~ internete ~~ bağlı olduğuna göre, onu her türlü hizmete bağlamak için IFTTT web sitesini kullanabiliriz.

Bu örnekte, ışıkları kırmızıya çeviren bir Google Asistan komutu ayarlayacağız, ancak hayal gücünüzü harekete geçiren başka bir hizmet seçebilirsiniz.

  1. IFTTT.com'a gidin ve henüz yapmadıysanız bir hesap oluşturun.
  2. 'Uygulamalarım' > 'Yeni Uygulama'ya gidin
  3. Tetikleyici hizmeti için 'Google Asistan'ı arayın
  4. 'Basit Bir İfade Söyle'yi seçin
  5. Birkaç benzersiz ifade ile gel
  6. Eylem hizmeti için 'Web kancalarını' arayın
  7. Aşağıdaki ayarları kullanın:

URL:

Yöntem: POST İçerik Türü: application/json

Ve Vücut için:

{ "parlaklık":120, "durum":4, "renk":"kırmızı" }

Şimdi seçtiğimiz cümleyi söylediğimizde, Google Asistan IFTTT'ye bir istekte bulunacak ve bu da lambamıza bir JSON isteği gönderecek. Mutlaka deneyin! Şeridi başka neler yapabileceğinizi görmek için koda dalın.

Adım 7: Güzelleştirmek

güzel yapmak
güzel yapmak
güzel yapmak
güzel yapmak
güzel yapmak
güzel yapmak

Bu projenin en pahalı kısmı, LED şeridi barındıran kasadır. Bu projeyi çok fazla para harcamadan denemek istiyorsanız, diğer şekilleri de düşünebilirsiniz veya sadece tüpü beyaz yazıcı kağıdından yapabilirsiniz. Ekte, yukarıdaki resimlerde gösterildiği gibi, tüp için bazı standları katlamak için kağıda yazdırabileceğiniz bir tel kafes bulacaksınız.

Daha sağlam bir kasa için aşağıdaki öğeleri kullandım:

  • Buzlu akrilik boru (uzunluk = 1160 mm, çap = 40 mm, duvar kalınlığı = 2 mm)
  • 2x Plastik Kapak
  • 20x2x30mm yumuşak ahşap blok
  • 10x1160x2mm metal şerit

LED şeridin kendisi 1000 mm'dir ve elektroniği gizlemek için tüpün her iki ucunda 80 mm bırakır. Şeffaf olmaması için tüpün her iki ucundan sarılmış yazıcı kağıdı kullandım. Yerleştirmeyi kolaylaştırmak için LED şeridi uzun bir metal şeride yapıştırdım.

Standları bir yumuşak ağaç bloğundan frezeledim. Aynısını yapmak isterseniz,.stl dosyası aşağıda verilmiştir. Standı 3D yazdırmayı da düşünebilirsiniz.

Önerilen: