İçindekiler:

ESP8266 ve MQTT ile El Fenerinden Hareket Sensörüne: 5 Adım (Resimlerle)
ESP8266 ve MQTT ile El Fenerinden Hareket Sensörüne: 5 Adım (Resimlerle)
Anonim
Image
Image
LED'lerin Sınırlandırılması İçin Akım Gerekiyor
LED'lerin Sınırlandırılması İçin Akım Gerekiyor

Bu yazıda, aşağıdaki öğeleri sunacağım:

  • LED'lerin sınırlayıcı bir akım devresine ihtiyacı var
  • el feneri nasıl yapılır
  • taşınabilir pille çalışan bir ışık yapın ve LED'leri MQTT aracılığıyla ESP8266 ile karartın

Video, bunun nasıl çalıştığının özeti ve kısa bir açıklamasıdır,

PIR sensörünü dahil etmeyi planladım, ancak eğitim oldukça uzun sürüyor, bu nedenle PIR sensörü bu konunun ikinci bölümünde sunulacak

Öyleyse başlayalım.

Adım 1: LED'lerin Sınırlandırılması İçin Akım Gerekir

Yeni başlayanlar için, genellikle bir akkor veya flüoresan ampulün nasıl açılacağı düşünüldüğünde bu garip. Endişelenmeyin, raftaki bu LED ampuller zaten AC'den DC'ye güç adaptörü ve sınırlayıcı bir akımla birlikte gelir. Ama sıfırdan bir şeyler yapmak güzel olurdu.

Bir LED'i açmak için bir anahtar, bir akım sınırlama devresidir. Bu, akım için bir valf olarak çalışır, böylece LED'e uygulanan voltaj onu iletken hale getirdiğinde, LED'lerden geçen akım, devre tarafından düzenlenenden daha büyük olamaz. LED'ler genellikle aşırı ısınmadan kaynaklanır. Akım sınırlama devresinin olmaması, LED'leri birkaç saniye içinde yakmanın kesin bir yoludur. Bu arada, alüminyum çerçeve üzerinde bulunan LED çiplerinin bir soğutucuya sabitlenmesi LED çipini azaltır ve genellikle tavsiye edilir.

2015 civarında bunu öğrenirken kafamı çok kaşıdım ve hala kafamı kaşıyorum (farklı nedenlerle). Bu eğitimden öğrendim ve onun net açıklaması beni bazı çiziklerden kurtarıyor.

Devre bağlı. Kalın çizgiler ana yük rotasını, daha ince olanlar ise yaklaşık 150 mA olan ana rotanın akımını kontrol eden kontrol mekanizmasını göstermektedir. Wikipedia'da kısa bir makale ve ekli bazı referanslar var. Akım sınırlaması, MOSFET'i BD135, BD139 gibi orta akım yük transistörleri ile değiştirerek bir transistör ile oluşturulabilir.

2. Adım: Bir El Feneri Yapın

El Feneri Yap
El Feneri Yap
El Feneri Yap
El Feneri Yap
El Feneri Yap
El Feneri Yap
El Feneri Yap
El Feneri Yap

Gerekli parçalar:

  1. bir N-kanallı MOSFET (IRF540N $1.62/10pcs, 30N06, $1.75/10pcs)
  2. bir NPN transistörü (S8085 gibi)
  3. 3,9 ohm – 2W direnç, akım 0,6/3,9 = 153mA civarında sınırlı
  4. 100kR (1/4W) direnç
  5. Bir basmalı kilit anahtarı
  6. 0,5W 8mm LED var, burada 3,18$/100 adet
  7. 18660 Lityum pil. Birkaçını bir powerbank'tan kurtardım. 18650 hücreden yapılmış dizüstü bilgisayar pili (4, 6, 8 hücreli) ancak bu şeylere dikkat edin.
  8. 1, 12V'a kadar anakart, bunun gibi 0,56 dolar
  9. Bunun gibi 1 lityum şarj cihazı, 0,30 ABD doları

Yukarıdaki devredeki ana fark, maket 5V güç adaptörü yerine boost up boardlu bir Lityum pil (18660) kullanılmasıdır.

Son fotoğraf, son el fenerini gösteriyor ve herhangi bir mikro USB kaynağından (>1A) şarj oluyordu.

Adım 3: Bu El Feneri ile Nesnelerin İnterneti?

Bu El Feneri ile Nesnelerin İnterneti?
Bu El Feneri ile Nesnelerin İnterneti?
Bu El Feneri ile Nesnelerin İnterneti?
Bu El Feneri ile Nesnelerin İnterneti?
Bu El Feneri ile Nesnelerin İnterneti?
Bu El Feneri ile Nesnelerin İnterneti?

Bu kısmı üç adıma ayırıyorum:

  • Bir abone hazırlayın (bu)
  • MQTT sunucusunu kurun (sonraki adım)
  • ve bir Yayıncı hazırlayın (bir sonraki)

Parçalar:

İlk olarak, evet, bu moda kelimeyi, yani IOT'leri kullandım, ancak bu, Adım 2'deki devreyi bir ESP8266 ile kullanmanın iyi bir kombinasyonunu yapabilir ve ardından ışık yoğunluğunu MQTT yöntemiyle kontrol edebilir.

Devrenin parçaları aşağıdakiler dışında aynıdır:

  1. 12V güçlendirmeyi MT3608 güçlendirme kartıyla değiştirin, $1,92/5pcs, bu, 18650 pilin voltajını (yaklaşık 3,7V) 28 V'a yükseltebilir, bu da 8LED'e (3 yerine) güç sağlamak için yeterlidir.
  2. Anahtardaki basma konumu, PWM sinyali için ESP8266'daki GPIO 1 veya 2'ye bağlanır.
  3. ESP8266 01, her biri 1,68 dolar. Bunun gibi
  4. AMS1117 3.3 V, ESP8266 için bir voltaj regülatörü, bazı kapasitörler
  5. ESP8266'yı flaş etmek için bir USB modülü, bunun gibi 0,78 $/adet

Btw. bu bağlantılar kolaylık sağlamak içindir.

Lehimleme ve yükleme:

  • Parçaları birlikte lehimleyin ve yukarıdaki şemaları kullanın. Bazı önceden yapılmış 3.3 voltaj devresi size biraz zaman kazandırabilir (bunun gibi 1,38 $ / 5 adet). PCB kartını çevirirken pimi hatırlamakta kafam karıştı ve sonunda bazı AMS1117 voltaj regülatörünü karşıladım.
  • Sonraki. GPIO 0'ı GND'ye basılı tutmak için üçüncü fotoğraftaki gibi küçük bir değişiklik yapın, ESP8266'yı Flashmode'a almak için GND pinli RST Pinine hızlıca dokunun.
  • Kodu GitHub'dan buradan indirin ve Arduino IDE kullanarak kodu ESP 8266'ya yükleyin.

Abonenin abone olduğu konuyu göstermek için satırı vurguladım. Bu konuya gönderilen herhangi bir mesaj, diğer müşterilere (abonelere) bu konuya iletilecektir. Bu devredeki EPS8266, konuya gönderilen JSON mesajını dinleyecek ve kanal Üç'te bir değişiklik yapılmışsa dağılacaktır

* Bir zamanlar, ESP8266 sunulmadığında MOSFET Kapısını topraklamak için bir aşağı çekme direnci (100k) koyabileceğimi düşündüm. Bu, bir ESP8266'nın yokluğunda çalışır, ancak ESP8266 ile direnç ayrıca GPIO0 veya 2'yi GND'ye çekerek onları bir Flaş moduna geçirir veya açılmaz (GPIO2 DÜŞÜK olduğunda)). Bu olursa, sabit bir yeşil göreceksiniz.

Adım 4: MQTT Sunucusunu Kurun

MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun
MQTT Sunucusunu Kurun

MQTT (Message Queuing Telemetri Transport), yayınla-abone ol yöntemine dayalı bir mesajlaşma protokolüdür. MQTT mesajının giriş ve çıkışını barındıran cihaza broker denir. Gerçek bir komisyoncu gibi, yayıncılar (satıcılar) ve aboneler (alıcılar) arasındaki alışverişi barındırır. Hiçbir para bunları el değiştirmez. Bunun için çok sayıda öğretici var.

İşte özet. Raspberry Pi bunun için en popüler cihazdır. Frist, MQTT'yi şu şekilde kurun:

sudo apt-get install mosquitto sivrisinek istemcileri

Raspberry'de iki terminal açarak MQTT sunucusunun çalışıp çalışmadığını test edin, biri ilk satırı, diğeri sonraki satırı yazın:

mosquitto_sub -h localhost -t "konunuz"

mosquitto_pub -t "konunuz" -h localost -m "bir şey söyle"

İlk terminalde "bir şey söyle" ifadesini görmelisiniz. Vala! İşe yarıyor.

"#" herhangi bir konuyu dinlemek için kullanılabilir, "konunuzu" yerine "#" koyabilirsiniz.

Artık birinin MQTT sunucunuzu yayınlamasını veya abone olmasını istemiyorsanız, bunu yaparak bir şifre oluşturmalısınız:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user istediğiniz diğer kullanıcı adları olabilir, parolayı iki kez girin ve.conf dosyasını şu şekilde güncelleyin:

sudo nano /etc/mosquitto/mosquitto.conf

şu iki satırı ekler:

allow_anonymous yanlış

password_file /home/pi/pwfile

ardından sivrisinek'i şu şekilde yeniden başlatın:

sudo systemctl sivrisinek yeniden başlat

adı aşağıdaki gibi bir parolayla ekleyerek bir test yapın:

mosquitto_sub -h localhost -t "konunuz" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "konunuz" -u "mqtt_user" -P "123456" -m "bu güvenli mi?"

Ayrıca MQTT bağlantıyı reddederse, MQTT hizmetini Linux sisteminin arka planına koymak için şunu deneyin:

sivrisinek -d

Bu referanslara bir göz atmanın iyi olduğunu buldum. Bugün bu ikisinden bir şey öğrendim.

  1. Ada meyvesi:
  2. Stees-internet-guide.com

Adım 5: Bir Yayıncı Hazırlayın

Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın
Bir Yayıncı Hazırlayın

Bunun için mesajı MQTT sunucusuna iletmek için basit bir gösterge panosu yapıyorum. Stand modunda, LCD Saat'i gösterir.

Parçalar:

  1. SSD1306 Ekran görüntüsü, her biri 2,41 ABD doları
  2. EPS8266 WEMOS D1 Mini, her biri 2,53 ABD doları
  3. bir potansiyometre
  4. Bir adet 4 pinli sürgülü anahtar.
  5. iki adet 3mm LED,
  6. bazı dirençler

Lehimleme:

İşte bu terminalin şeması:

Kodu yükleyin:

Markalı WEMOS ESP8266 ile çalışmak keyifli. Sadece bir mikro USB'ye ihtiyacınız var, Arduino IDE üzerindeki yükleme düğmesine basın, çipi flaşlayın. Kod burada (GitHub):

Bir mesajı yayınlamak için, yeşil led'i açmak (ve kırmızıyı kapatmak) için düğmeye basın, ardından pimi yukarı kaydırın ve ayarlayın ve son olarak mesajı MQTT sunucusuna itmek için düğmeye tekrar basın. Pano, 4 kanala bir JSON mesajı yayınlayabilir.

Koddaki vurguya bir göz atın (ekran görüntüsü). Gösterge panosunun mesajı ilettiği konu budur ve LED'lerimiz JSON mesajından herhangi bir yenisini görmek için çok heveslidir

Bununla ilgili. Umarım öğretici yardımcı olur.

Önerilen: