İçindekiler:

IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu: 10 Adım (Resimlerle)
IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu: 10 Adım (Resimlerle)

Video: IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu: 10 Adım (Resimlerle)

Video: IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu: 10 Adım (Resimlerle)
Video: TİDEx Profesyonel | Operasyonel Teknolijilerde Etkin Risk Yönetimi | Tevfik Kor & Nuretting Erginöz 2024, Temmuz
Anonim
IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu
IoT Şebeke Denetleyicisi. Bölüm 9: IoT, Ev Otomasyonu

sorumluluk reddi

ÖNCE BUNU OKU

Bu Talimat, ana güç kullanan bir projeyi detaylandırır (bu örnekte UK 240VAC RMS), güvenli uygulama ve iyi tasarım ilkelerini kullanmak için her türlü özen gösterilmiş olsa da, bu besleme voltajlarıyla çalışırken her zaman potansiyel olarak ölümcül elektrik çarpması riski vardır ve İçeriğini takip ederken kişisel yaralanma veya mülke zarar gelmesi durumunda yazar herhangi bir sorumluluk kabul edemez. Sonuç olarak, bu projeyi kendi sorumluluğunuzda yaparsınız.

önsöz

Ev otomasyonu üzerine bir dizinin 9. makalesi olan bu makale, bir Sonoff 10A IoT şebeke kontrolörünün nasıl oluşturulacağını ve yerel bir ortamda başarılı bir dağıtım sağlamak için gerekli tüm yazılım işlevselliğini içeren mevcut bir ev otomasyon sistemine nasıl entegre edileceğini belgeliyor.

Tanıtım

Yukarıda belirtildiği gibi, bu Eğitilebilirlik, iTead'den Sonoff 10A'yı kullanarak bir IoT şebeke denetleyicisinin nasıl oluşturulacağını ve entegre edileceğini ayrıntılarıyla anlatır. Cihazın kendisinin 90~250VAC'de 10 amper olarak derecelendirildiği belirtilir, ancak bu uygulama, 240VAC RMS'nin yerel İngiltere ana beslemesini sağlayan sigortalı fiş aracılığıyla onu 5 amper değerine düşürür.

Tasarım metodolojisi, buradan alınan yeniden kullanılan kod üzerine ev otomasyonu oluşturma konusunda bu seride ayrıntıları verilen MQTT/OpenHAB tabanlı IoT ağına sorunsuz bir şekilde entegre olur. Ayrıca herhangi bir IoT ağ öğesinin kaybını da halledebilir ve tamamen bağımsız olarak çalıştırılabilir. Bağımsız moddayken, ileri besleme çıkışını değiştiren muhafazanın üst kısmındaki kontrol düğmesine basılarak cihazın kontrolü sağlanır.

Sonoff cihazının bu yerel kontrolünü etkinleştirmek için GPIO14 kasadan çıkarılır ve tetik girişi olarak kullanılır. Güvenliği sağlamak için bu giriş bir opto-kuplör devresi aracılığıyla beslenir ve operatörün hiçbir zaman şebeke besleme gerilimlerine maruz kalmaması için plastik bir muhafaza içine yerleştirilmiştir.

Son olarak, düzyazı ayrıca Arduino IDE kullanılarak Sonoff 10A'daki ESP8266 cihazının nasıl yeniden programlanacağını ana hatlarıyla belirtir ve hedef kodu güvenilir bir şekilde programlamak için kullanılabilecek bir cihazın tam devre ayrıntılarını verir.

Hangi parçalara ihtiyacım var?

Sonoff Şebeke Denetleyicisi

  1. 1 adet Sonoff 10A burada
  2. 1 adet 7805L 5v voltaj regülatörü burada
  3. 1 adet 240/6VAC 1.5VA Trafo burada
  4. Burada 2 adet 0.1 seramik kapasitör
  5. 1 adet 1000uF @25v Elektrolitik Kondansatör burada
  6. 1 adet Köprü doğrultucu 2W01 burada
  7. Burada 2 kapalı 4K7 direnç
  8. 1 kapalı 330R direnci burada
  9. 1 kapalı SPST düğmesi burada
  10. Burada 1 adet Mulitcomp BM12W ABS Muhafazası kapalı
  11. 1 adet TIL111 opto kuplör burada
  12. 1 adet 3 Yollu terminal bloğu burada
  13. 1 kapalı 2-Yol kodlu molex konnektör burada/burada
  14. 1 adet kapalı 3-Yol kodlu molex konnektör burada/burada
  15. 1 adet 5 Yönlü kodlu molex konnektör burada/burada
  16. Burada 1 adet 5 Yollu molex pimi
  17. Winbond SPI Flash (W25Q32FVSIG) burada 1 indirim
  18. 1 adet 20mm sigorta tutucu + burada kapak
  19. 1 kapalı 20mm hızlı darbe 500mA sigorta burada
  20. Burada 2 adet Poliamid kablo rakoru
  21. İngiltere Şebeke fişi (BS1363/A) burada 1 kapalı
  22. İngiltere Ana soketi (BS1363/A) burada 1 kapalı
  23. 7 adet M3 16mm CS naylon vida, (10 adet somun dahil) burada/burada
  24. Burada 2 kapalı Zip bağları
  25. 1 kapalı veroboard (0,1" adım) burada
  26. 1 kapalı Çeşitli uzunluklarda 22swg kalaylı bakır tel burada
  27. 1 adet 3M White UK şebeke kablosu burada
  28. Burada 10 kapalı Molex soket kıvrımı

Sonoff Programcısı

  1. 1 adet LD33CV 3v3 voltaj regülatörü burada
  2. 1 adet TO-220 soğutucu burada
  3. 1 kapalı Soğutucu buraya yapıştırın
  4. 1 kapalı 10uF @16v Elektrolitik kondansatör burada
  5. Burada 1 kapalı 0.1 seramik kapasitör
  6. 1 kapalı SPDT düğmesi burada
  7. 1 kapalı 4K7 direnci burada
  8. 1 kapalı 2-Yol kodlu molex konnektör burada/burada
  9. 1 adet 3 Yollu kodlu molex konnektör burada/burada
  10. Burada 5 kapalı Molex soket kıvrımı
  11. Burada 1 adet 6'lı molex soketi
  12. 1 kapalı SPST düğmesi burada
  13. Burada 1 adet 2,1 mm PSU soketi kapalı
  14. 1 kapalı veroboard (0,1" adım) burada
  15. 1 adet USB'den seri adaptöre (FTDI) burada

Hangi yazılıma ihtiyacım var?

  1. Arduino IDE 1.6.9 burada
  2. Arduino IDE, ESP8266'yı programlamak için yapılandırıldı. Buraya bakın; ESP8266-01'i Programlamak için Arduino IDE'yi Ayarlama

Hangi araçlara ihtiyacım var?

  1. Havya,
  2. Matkap ve çeşitli uçlar (kablo rakorları ve kontrol düğmesi için kademeli delik kesici dahil),
  3. Tornavidalar (çeşitli),
  4. Ayarlanabilir anahtarlar (iki kapalı, çene genişliği >25mm, kablo rakorları için),
  5. Dosyalar (çeşitli),
  6. Sağlam mengene,
  7. Isı tabancası,
  8. DMM (tercihen CAT IV).

Hangi becerilere ihtiyacım var?

  1. Elektronik ve ev elektrik güvenliği/tasarım/kablolama vb. konularında iyi derecede bilgi sahibi,
  2. Arduino ve IDE bilgisine sahip,
  3. İyi imalat becerileri (lehimleme, dosyalama, delme vb.),
  4. Biraz Sabır,
  5. Ev ağınız hakkında biraz anlayış.

İşlenmiş konular

  • Tanıtım
  • Devreye Genel Bakış
  • Sonoff RetroModları
  • İnşaat ve Montaj Detayları
  • Sonoff Programlama Adaptörü
  • Yazılım Sistemine Genel Bakış
  • Yazılıma Genel Bakış
  • OpenHAB Yapılandırması
  • IoT Cihazınızı Test Etme
  • Çözüm
  • Kullanılan Referanslar

Seri Bağlantılar

8. Bölüme: WiFi IoT Sıcaklık ve Nem Sensörü. Bölüm: 8 IoT, Ev Otomasyonu

Bölüm 10'a: IoT Üzerinden IR Uzaktan Kumanda. Bölüm 10 IoT, Ev Otomasyonu

Adım 1: Devreye Genel Bakış

Devreye Genel Bakış
Devreye Genel Bakış
Devreye Genel Bakış
Devreye Genel Bakış
Devreye Genel Bakış
Devreye Genel Bakış
Devreye Genel Bakış
Devreye Genel Bakış

genel bakış

Yukarıdaki girişte bahsedildiği gibi, şebeke kontrolörünü yerel olarak açıp kapatabilmek için Sonoff'un yerleşik ESP8266'sına bir giriş gerekliydi. Böyle bir harici girişin tanıtılması, Sonoff ABS muhafazasının ihlal edilmesini gerektirir ve bu nedenle potansiyel bir şok tehlikesi yaratır. Bunun üstesinden gelmek için, şebeke kontrol sistemi muhafazası dışında şebeke elektriğine maruz kalma olasılığı olmayacak şekilde optik izolasyon kullandım.

Aşağıda, opto-izolasyon devresinin bir açıklaması yer almaktadır (yukarıdaki resim 1'de).

Devre Detayları

Opto-izolasyon devresi, beslemesini doğrudan üniteye uygulanan şebekeden alır. 240VAC RMS, J1 a pheonix kontağı MKDSN2 aracılığıyla TR1 düşürme/izolasyon transformatörüne uygulanır, 5/3-5.08 poliamid 3 Yollu terminal, 400V'de 16A değerinde, 2.5mm(sq) CSA ve F1 a 500mA 20mm'lik bir kablo taşıyabilir hızlı darbe sigorta. TR1'in sekonder sargılarında bulunan 6VAC, B1 diyot köprüsü tarafından doğrultulan tam dalgadır.

Bu tam dalga doğrultulmuş çıkış daha sonra C1, C2 C3, R3 ve IC1 bir 7805L serisi şönt regülatör tarafından stabilize edilir ve düzenlenir, bu da iyi, temiz bir 5v besleme rayı sağlar.

5v rayı daha sonra, J3'e bağlı, harici olarak monte edilmiş beyaz bir SPST düğmesi aracılığıyla OK1 a TIL111 opto-izolatörüne girişi kontrol etmek için kullanılır. TIL111'in çıkışı, R2 a 4K7 yukarı çekme direnci aracılığıyla Sonoff GPIO14 girişine bağlanır. Böylece 340V'dan daha iyi bir izolasyon elde edilir (yani Pik voltaj = (240VAC*sqroot(2))).

Adım 2: Sonoff RetroMod'ları

Sonoff RetroModları
Sonoff RetroModları
Sonoff RetroModları
Sonoff RetroModları
Sonoff RetroModları
Sonoff RetroModları

Sonoff 10A cihazını entegre etmek için geçmişe dönük bazı modifikasyonların yapılması gerekmektedir.

Birincisi, yukarıdaki resim 1'de gösterildiği gibi 5 yollu 0,1 adımlı molex konektörü eklemektir. Bu, koruyucu kapak yukarıdaki resim 2 ve 3'te gösterildiği gibi değiştirildikten sonra Sonoff'taki GPIO14'e erişim sağlar.

Yukarıda gösterilmemesine rağmen, yerinde programlamaya izin vermek için seri TX/RX hatlarını da çıkardım (yukarıdaki Adım 1'deki kablo tesisatı SK1..3'e bakın).

İkinci değişiklik, SPI Flash cihazının boyutunu varsayılan 1MByte'tan 4MByte'a çıkarmaktır; bu, IoT web sunucusu dosyalarının SPIFFS'de tutulması için yeterli alana izin vermektir.

Ebay'den SMD SPI flaş cihazını (W25Q32FVSIG) buradan satın aldım

Flaşı değiştirmek için SMD cihazına daha iyi erişim sağlamak için resim 4'teki gibi Sonoff LED'ini geçici olarak çıkardım. Flaşı lehimlemek için yukarıdaki resim 5'te gösterildiği gibi bir ısı tabancası kullandım. Ardından sırasıyla 4MByte Flash ve LED'i yeniden lehimleyin (resim 6).

Adım 3: İnşaat ve Montaj Detayları

İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları
İnşaat ve Montaj Detayları

Şebeke kontrol cihazını bir Mulitcomp BM12W ABS Kutusuna yerleştirdim (yukarıdaki Resim 1). Bu muhafaza, gerektiğinde dahili sigortanın değiştirilebilmesi veya zaman içinde dahili inceleme yapılabilmesi için sabitleme dişlerinden ödün vermeden üniteye çoklu erişime izin veren izole edilmiş pirinç M3 eklere sahiptir (aynısı Sonoff cihazı için söylenemez). etkili bir şekilde, kendi kendine dokunarak yalnızca tek seferlik bir kapatmadır).

Şebekeyi taşıyan besleme kablosu için birincil gerilim azaltma, bir kablo OD Min/Max 5mm/10mm'yi destekleyen bir M16 Naylon/Polyamid 6/6 beyaz kablo rakoru ile sağlandı.

İkincil gerilim azaltma, aşırı gerilim uygulandığında ve kablo rakorunun arızalanması durumunda kabloya yerleştirilen tek bir fermuarlı bağ ile yapıldı, fermuarlı bağ kabloyu yerinde tutacaktır.

Kablo rakorlarını takmak ve Sonoff ve opto-izolasyon elektroniklerini monte etmek için yeterli alan sağlamak için dahili PCB montaj nervürlerini yukarıda gösterildiği gibi çıkardım (Resim 2).

Muhafazanın dışıyla yalıtımın korunmasını sağlamak için tüm elektronik parçalar M3 naylon CS vidalarla güvenli bir şekilde monte edildi. Opto-izolasyon elektroniği, ünitenin düşürülmesi durumunda sağlam mekanik mukavemet sağlamak için 5 sabitleme noktası ile monte edilir, böylece izolasyon transformatörünün kütlesinin veroboard devresini kırmasını önler.

Üniteye besleme UK Standard renk kodlu beyaz 3 damarlı PVC izoleli çok telli (32/0.2mm sq) kablo 1mm(sq) CSA ile sağlandı. 10A taşıma kapasitesine sahip 7,2 mm OD ile.

Ünite, onaylanmış standart bir 3 pinli güvenlik fişi (BS 1363/A) aracılığıyla İngiltere ana şebekesine (240VAC RMS) bağlandı. Fiş 5A'da sigortalanmıştır.

Opto-izolasyon devresine giden tüm ana besleme kabloları, pheonix kontak MKDSN2, 5/3-5.08 poliamid terminalleri ile 400V'ta 16A olarak derecelendirilmiştir, 2.5mm(sq) CSA'lık bir kablo taşıyabilmektedir, böylece iki kablo için yeterli kapasite sağlanmaktadır. her pozisyon.

Hiçbir ana kablo kalaylanmadı, sadece konektör bloğuna takılmadan önce damarların yayılmasını önlemek için büküldü. Şebeke kablolarını kalaylamak tehlikeli bir uygulamadır, çünkü lehim zamanla 'gevşer' ve sonunda kablonun konektör bloğunda kaybolmasına neden olur.

Not:

  • OD = Dış çap.
  • VAC = Volt Alternatif Akım
  • RMS = Ortalama Kare Kök
  • CSA = Kesit Alanı
  • CS = Sayaç Batık

Adım 4: Sonoff Programlama Adaptörü

Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü
Sonoff Programlama Adaptörü

Arduino IDE aracılığıyla Sonoff 10A'yı yeniden programlarken dikkate alınması gereken iki husus vardır;

  1. Arduino IDE'nizi ESP8266'yı programlamak için yapılandırma,
  2. Donanımın kendisini programlama eylemi.

Arduino IDE'nizi ESP8266'yı programlamak için yapılandırma

Ardino IDE'nizi yapılandırmak için buradaki talimatları izleyin ESP8266-01'i Programlamak için Arduino IDE'yi Ayarlama

Donanımı programlamak

Bu, ESP8266'da her durumda olduğu gibi çok adımlı bir işlemdir. Burada, Sonoff gücü, ana güç kaynağından DEĞİL, harici bir stabilize 3v3 DC kaynağı aracılığıyla karta uygulanır. Sonoff'a veri göndermek ve almak için bir USB'den seri cihaza ihtiyaç duyulacaktır. TX ve RX'i Resim 2 ve 4'te gösterildiği gibi bağlayın.

Programlama Adımları (genel)

  1. Öncelikle Sonoff'a harici şebeke gücü uygulanmadığından emin olun,
  2. Sonoff cihazındaki düğmeyi basılı tutun. (yukarıdaki resim 1, işaretli yeniden flaş düğmesi),
  3. Pim 1'e harici DC 3v3 beslemesi uygulayın (yukarıdaki resim 2),
  4. Sonoff düğmesini bırakın,
  5. Cihaz artık Arduino IDE aracılığıyla olağan şekilde yeniden programlanabilir.

İşleri biraz daha kolaylaştırmak için, Sonoff'a SK1…3 kablo demeti aracılığıyla arayüz oluşturan yukarıdaki programlama cihazını oluşturdum (resim 3 ve 4) (bu Eğitilebilir Adım 1'de açıklandığı gibi). Bu, ESP8266'nın daha kolay programlanmasına izin verdi. Ayrıca, R1 a 4K7 yukarı çekme direnci ve S1 düğmesi kullanılarak GPIO14'ü bir giriş olarak test etmek için bir araç sağladı.

Yukarıdaki programlama cihazını kullanarak (Resim 3 ve 4) Programlama Adımları,

  1. Sonoff'taki yeniden flaş düğmesine basın ve basılı tutun,
  2. S2'ye anlık olarak basarak 3v3 beslemesini hızlandırın,
  3. Yeniden flaş düğmesini bırakın,
  4. Cihaz artık programlanabilir.

NOT - UYARI

HİÇBİR koşulda, Sonoff yeniden programlama etkinliği sırasında Şebeke yoluyla güç sağlanmamalıdır

Adım 5: Yazılım Sistemine Genel Bakış

Yazılım Sistemine Genel Bakış
Yazılım Sistemine Genel Bakış
Yazılım Sistemine Genel Bakış
Yazılım Sistemine Genel Bakış

Bu IoT Şebeke Denetleyici cihazı, çoğunlukla Eğitilebilir WiFi IoT Sıcaklık ve Nem Sensörü ile aynı altı temel yazılım bileşenini içerir. Bölüm: 8 IoT, Ev Otomasyonu ve bazı özelleştirmelerle birlikte yukarıdaki resim 1'de gösterilmiştir.

SPIFFS

Bu (4MByte'a yükseltilmiş) yerleşik SPI Flash Dosyalama Sistemidir ve aşağıdaki bilgileri tutmak için kullanılır (yukarıdaki resim 2'ye bakın);

  • Simgeler ve 'Şebeke Denetleyici Yapılandırması Ana Sayfası' html: IoT cihazı, IoT WiFi ağınıza bağlanamadığında (genellikle yanlış güvenlik bilgileri nedeniyle) hizmet verir ve kullanıcıya, şebeke denetleyicisini herhangi bir işlem yapmadan uzaktan yapılandırma olanağı sağlar. yeni SPIFFS içeriğini yeniden programlama veya yükleme ihtiyacı.
  • Güvenlik Bilgileri: Bu, IoT cihazı tarafından IoT WiFi ağınıza ve MQTT Broker'a bağlanmak için açılışta kullanılan bilgileri tutar. 'Şebeke Denetleyici Yapılandırma Ana Sayfası' aracılığıyla gönderilen bilgiler bu dosyaya ('secvals.txt') yazılır.

Not: İlk olarak cihazı kurmak için, Arduino IDE ile SPIFFS'nin nasıl kullanılacağına dair tüm ayrıntılar için buraya bakın.

mDNS Sunucusu

Bu işlevsellik, IoT cihazı WiFi istasyonu olarak WiFi ağınıza bağlanamadığında ve bunun yerine yerel WiFi yönlendiriciye benzer bir WiFi erişim noktası haline geldiğinde çağrılır. Böyle bir yönlendirici olması durumunda, tipik olarak 192.168.1.1 gibi bir IP Adresini (genellikle kutuya yapıştırılmış bir etikette basılıdır) doğrudan tarayıcınızın URL çubuğuna girerek ona bağlanırsınız ve bunun üzerine girmek için bir oturum açma sayfası alırsınız. cihazı yapılandırmanıza izin vermek için kullanıcı adı ve şifre. AP modunda (Erişim Noktası modu) ESP8266 için, cihaz varsayılan olarak 192.168.4.1 IP adresini kullanır, ancak mDNS sunucusu çalışırken, tarayıcının URL çubuğuna yalnızca kullanıcı dostu 'MAINSCON.local' adını girmeniz yeterlidir. 'Şebeke Denetleyicisi Yapılandırma Ana Sayfası'.

MQTT İstemcisi

MQTT istemcisi, aşağıdakiler için gerekli tüm işlevleri sağlar; IoT ağ MQTT aracınıza bağlanın, seçtiğiniz konulara abone olun ve belirli bir konuya yükleri yayınlayın. Kısacası, IoT temel işlevselliğini sağlar.

HTTP Web Sunucusu

Yukarıda belirtildiği gibi, IoT cihazı, SPIFFS'de tutulan Güvenlik Bilgileri dosyasında SSID, P/W vb. tanımlanan WiFi ağına bağlanamıyorsa, cihaz bir Erişim Noktası olacaktır. Erişim Noktası tarafından sağlanan WiFi ağına bağlandıktan sonra, bir HTTP Web Sunucusunun varlığı, aygıta doğrudan bağlanmanıza ve bir HTTP Web Tarayıcısı kullanarak yapılandırmasını değiştirmenize olanak tanır, amacı 'Ana Şebeke Denetleyici Yapılandırması'nı sunmaktır. SPIFFS'de de düzenlenen Ana Sayfa' web sayfası.

WiFi İstasyonu

Bu işlevsellik, IoT cihazına Güvenlik Bilgileri dosyasındaki parametreleri kullanarak yerel bir WiFi ağına bağlanma yeteneği verir, bu olmadan IoT cihazınız MQTT Broker'a abone olamaz/yayınlayamaz

WiFi Erişim Noktası

WiFi Erişim Noktası olma yeteneği, IoT cihazının bir WiFi istasyonu ve bir tarayıcı (Apple iPad'deki Safari gibi) aracılığıyla ona bağlanmanıza ve yapılandırma değişiklikleri yapmanıza izin verdiği bir araçtır. Bu erişim noktası, bir SSID = "MAINSCON" + IoT cihazının MAC adresinin son 6 hanesini yayınlar. Bu kapalı ağın parolası hayali olarak 'PASSWORD' olarak adlandırılır.

6. Adım: Yazılıma Genel Bakış

Yazılıma Genel Bakış
Yazılıma Genel Bakış
Yazılıma Genel Bakış
Yazılıma Genel Bakış
Yazılıma Genel Bakış
Yazılıma Genel Bakış
Yazılıma Genel Bakış
Yazılıma Genel Bakış

ÖnsözBu kaynak kodunu başarılı bir şekilde derlemek için aşağıdaki ekstra kitaplıklara ihtiyacınız olacak;

PubSubClient.h

  • Gönderen: Nick O'Leary
  • Amaç: Cihazın belirli bir Broker ile MQTT konularını yayınlamasını veya bunlara abone olmasını sağlar
  • Kimden:

Bounce2.h

  • Gönderen: Thomas O Fredericks
  • Amaç: Yazılımda giriş anahtarının geri dönmesi
  • Gönderen:

Kod Genel Bakış

Yazılım, yukarıdaki resim 1'de gösterildiği gibi durum makinesini kullanır (aşağıda verilen kaynağın tam kopyası). Aşağıdaki gibi 5 ana durum vardır;

  • İÇİNDE

    Bu başlatma durumu, güç açıldıktan sonra girilen ilk durumdur

  • NOCONFIG

    Güç açıldıktan sonra geçersiz veya eksik bir secvals.txt dosyası algılanırsa bu duruma girilir

  • BEKLEMEDE NW

    Bu durum geçicidir, WiFi ağ bağlantısı yokken girilir

  • BEKLEMEDE MQTT

    Bu durum geçicidir, bir WiFi ağ bağlantısı yapıldıktan sonra ve o ağda bir MQTT aracısına bağlantı yokken girilir

  • AKTİF

    Bu, hem WiFi ağ bağlantısı hem de MQTT Broker bağlantısı kurulduğunda girilen normal çalışma durumudur. Bu durum sırasında, Şebeke Kontrolörü MQTT Broker'a yayın yapacak ve abone olunan konular aracılığıyla komutları alacaktır

Durumlar arasındaki geçişleri kontrol eden olaylar, yukarıdaki resim 1'de açıklanmıştır. Durumlar arasındaki geçişler de aşağıdaki SecVals parametreleri tarafından yönetilir;

  • 1. MQTT Aracısı IP Adresi. Noktalı ondalık biçimde AAA. BBB. CCC. DDD
  • 2. MQTT Broker Limanı. Tamsayı biçiminde.
  • STA modundan AP moduna geçmeden önce 3. MQTT Broker bağlantısı yapılmaya çalışılıyor. Tamsayı biçiminde.
  • 4. WiFi Ağ SSID'si. Serbest biçimli metinde.
  • 5. WiFi Ağ Şifresi. Serbest biçimli metinde.

Yukarıda belirtildiği gibi, IoT cihazı, SSID ve P/W'si SPIFFS'de tutulan secvals.txt dosyasında tanımlanmış olan WiFi ağına bir WiFi İstasyonu olarak bağlanamıyorsa, cihaz bir Erişim Noktası olacaktır. Bu erişim noktasına bağlandıktan sonra, yukarıda Resim 2'de gösterildiği gibi (tarayıcınızın URL adres çubuğuna 'MAINSCON.local' veya 192.168.4.1 girerek) 'Şebeke Denetleyici Yapılandırma Ana Sayfası'nı sunacaktır. Bu ana sayfa, bir HTTP tarayıcısı aracılığıyla şebeke kontrolörünün yeniden yapılandırılmasına izin verir.

MQTT Konu adlandırma kuralı

Yukarıdaki resim 3'te özetlenen, MQTT konuları için kullanılan adlandırma kuralıdır ve önceki Instructable'ımda kullanılan modelle tutarlıdır (burada Adım 5).

Bu IoT cihazı tarafından kullanılan MQTT Konuları

Anlaşılır olması için bu cihazın yayınladığı/abone olduğu konuları ve ilgili mesaj dizilerini belgeledim (resim 4). Resim ayrıca kasanın dışındaki beyaz kontrol düğmesiyle olan etkileşimi de gösterir (ironik bir şekilde düğme kırmızı olarak gösterilmiş olsa da).

AKTİF durumdayken Uzaktan Yapılandırma Erişimi

MQTT Broker'a bağlandıktan sonra, MQTT konu yayınları aracılığıyla cihazın güvenlik parametrelerini uzaktan yeniden yapılandırmak mümkündür. İlişkili dosya secvals.txt yalnızca açıkta yazma erişimine sahiptir.

Kullanıcı hata ayıklama

Önyükleme sırasında Sonoff cihazı led'i aşağıdaki hata ayıklama geri bildirimini verir, ancak not edilmelidir, bunu görüntülemek için kapağı çıkarmanız ve devreyi açığa çıkarmanız gerekir, bu nedenle bunu yalnızca kodunuzu geliştirirken ve cihaza güç verirken yapmanız önerilir. 3v3 kaynağı ile;

  • 1 Kısa yanıp sönme: SPIFFS'de (secvals.txt) bulunan Yapılandırma dosyası yok,
  • 2 Kısa yanıp sönme: IoT cihazı WiFi ağına bağlanmaya çalışıyor,
  • Sürekli aydınlatma: Sonoff IoT cihazı MQTT Broker'a bağlanmaya çalışıyor,
  • Kapalı: Cihaz aktif ve MQTT Broker'a bağlı.

Not 1: 'Şebeke Denetleyici Yapılandırma Ana Sayfası' güvenli soketler kullanmaz ve bu nedenle ağınızın güvenli olmasına bağlıdır.

Not 2: Birden çok IoT cihazını programlamak için MQTT dizesinin her bir cihaza indirilmeden önce düzenlenmesi gerekir. Bunun nedeni, şebeke denetleyicisinin kimlik numarasının MQTT konu dizisine gömülü olmasıdır. yani. yayınlanan yazılımda 100: 'WFD/MainsCont/100/Relay/Command/1' değerini seçtim ve 2 cihazım için sırasıyla 1 ve 2 olarak numaralandırıldım.

  • 'WFD/MainSCont/1/Röle/Komut/1'
  • 'WFD/MainsCont/2/Röle/Komut/1'

Not 3: AKTİF durumdayken eksiksizlik için IoT yazılımı, Sonoff LED'inin kontrolüne ve yeniden flaş butonunun durumunun yayınlanmasına izin verir. Bunlar yalnızca hata ayıklama işlemi sırasında değerli olsalar da, ikisi de normal çalışma sırasında kullanıcıya gösterilmez.

Adım 7: OpenHAB Yapılandırması

OpenHAB Yapılandırması
OpenHAB Yapılandırması
OpenHAB Yapılandırması
OpenHAB Yapılandırması
OpenHAB Yapılandırması
OpenHAB Yapılandırması

Test amacıyla evimin 'Oturma Odası'na iki ana kontrol cihazını kavramsal olarak yerleştirmeye karar verdim. Bu OpenHAB sayfasına resim 1'deki gibi ana site sayfasından ulaşılabilir.

Daha önceki Instructable'ımda (burada) verilen OpenHAB.sitemap yapılandırmasını değiştirdim ve 'Mains Controller 1' ve 'Mains Controller 2' için ayrı girişler ekledim (yukarıdaki resim 2). Ayrıca iki yeni IoT cihazının alıcısında ölçülen RSSI Trendlerini görüntülemek için girişler (Oturma Odası Şebeke Devam 1 ve 2) ekledim (resim 3).

Son olarak, Sonoff'un dinamik durum senkronizasyonuna ve bir anahtar grafiğindeki zayıf girişimin güncellenmesine/animasyonuna izin vermek için.rules ve.items dosyalarına girdiler ekledim (anahtar etkinken kapanır ve etkin olmadığında açılır). Resim 2, MC1 aktif ve MC2 inaktif örneklerini vermektedir.

Not 1: OpenHAB'ı nasıl kullanacağınızdan emin değilseniz, buraya bakın 'OpenHAB'ı Kurma ve Yapılandırma. Bölüm 6: IoT, Ev Otomasyonu'

Not 2: Değiştirilen site haritasının bir kopyası, kurallar ve öğeler dosyaları, Simgeler vb. aşağıdaki zip dosyasında verilmiştir.

Not 3: RSSI = Alınan Sinyal Gücü Göstergesi. Bu, IoT cihazının WiFi ağınızı ne kadar iyi görebildiğinin bir ölçüsüdür.

8. Adım: IoT Cihazınızı Test Etme

Image
Image
IoT Cihazınızı Test Etme
IoT Cihazınızı Test Etme

Eğitilebilir WiFi IoT Sıcaklık ve Nem Sensöründe açıklandığı gibi. Bölüm: 8 IoT, Ev Otomasyonu Adım 7, IoT cihazının ilk testi MQTT Spy (yukarıdaki sistem blok şeması pic 1'de olduğu gibi), izleme led çıkışı, buton girişleri (hem Sonoff re-flash butonu hem de beyaz harici düğme) ve seri arabirimdeki trafiğin hatalarını ayıklayın. Bu, mevcut tüm abone olunan konuları kullanmama ve yayınlanan yanıtları kontrol etmeme izin verdi. Yine de, bu manuel olarak gerçekleştirildi ve zaman alıcıydı, ancak mesajların/konu yayınlarının %100 kapsamını sağladı.

Ana yazılım durumu makinesi (yukarıdaki Adım 6), yazılımın WiFi N/W ve MQTT Broker'a bağlanıp bağlanamadığını kontrol etmek dışında önceki Instructable'dan (Bölüm: 8) miras alındığından, bunun doğru şekilde çalıştığı varsayılmıştır.

Daha sonra ana şebeke denetleyicisi ve IoT altyapısı (yine resim 1) kullanılarak tam sistem düzeyinde test tamamlandı (yine resim 1), bu kez IoT cihazıyla etkileşimi kontrol etmek için OpenHAB kullanılarak. IoT donanımı ve kukla yük kurulumu yukarıdaki resim 2'de görülebilir.

Video, sistem testlerinin tüm ayrıntılarını verir ve OpenHAB cihazları (PC/Chrome ve iPad/OpenHAB APP) arasında gerçek zamanlı olarak sürdürülen senkronizasyonu açıkça gösterir. Ayrıca, MQTTSpy aracılığıyla Şebeke Kontrolörlerine canlı mesajlaşmayı gösterir (daha fazla ayrıntı için buraya bakın Bir MQTT Broker Ayarlama. Bölüm 2: IoT, Ev Otomasyonu) ve bir PuTTY SSH bağlantısı üzerinden ahududu pi sunucusundan OpenHAB kuyruklu sistem günlüğü (daha fazla bilgi için buraya bakın) ayrıntılar OpenHAB'ı Kurma ve Yapılandırma Bölüm 6: IoT, Ev Otomasyonu).

Not: Hata ayıklama trafiği, son yazılım sürümü için derlenmiştir.

9. Adım: Sonuç

Genel

Projenin tamamlanması nispeten kolaydı ve iyi çalıştı. Bu serideki Bölüm 8'deki Sıcaklık ve Nem Sensörleri için kullanılan kodun kısaltılmış bir versiyonu olan gömülü yazılımın üretilmesi basitti.

Başlangıçta sadece estetik kaliteleri için sadece beyaz bileşen parçaları almayı amaçladım. Bunu kontrol düğmesi dışında hepsinde başardım, elimden geldiğince deneyin, iyi/ucuz tamamen beyaz bir düğme kaynağı bulamadım.

Sonoff 10A cihazı

Sonoff cihazının makul Artıları ve Eksileri olduğunu düşündüğüm şeyleri aşağıda listeledim

Artıları

  • Ucuz.
  • İyi topluluk desteği.
  • Arduino IDE ile yeniden programlayabilir.

Eksileri

  • İnce muhafaza.
  • Minimum G/Ç (kullanılabilir konektörlere getirildi).
  • Sessiz durumdayken sıcak çalışır.
  • Yalnızca 1MByte yerleşik SPI flaşına sahiptir.
  • Yerine kablolandıktan sonra yeniden programlanacak bir PITA'dır.
  • Yeni kodu Sonoff testine entegre ederken, rölenin 5v olması ve Sonoff'a programlama için uygulanan beslemenin 3v3 olması nedeniyle rölenin kapanması sorunluydu. Röle aktivasyonu sadece kulak tarafından algılanabilir.

endişeler

  • Nötr hattı değiştirmez. Bir SPST geçişi kullanır.
  • Sigortalı değil.
  • Zayıf kablo gerilimi azaltma.
  • PCB, Sonoff muhafazası içinde sabitlenmemiştir.

Mühendislik tasarımı ile ilgili yorumlar

Bu IoT cihazının Birleşik Krallık ana şebekesini (240VAC RMS) değiştirmek için kullanılacağı göz önüne alındığında, hem iyi mekanik hem de elektriksel tasarım uygulamasını takip ettim ve elektriksel olarak iletken herhangi bir malzemeye maruz bırakmayarak, tüm bileşenleri aşırı belirterek, değer düşürme yaparak şok riskinin en aza indirilmesini sağladım. çıkış yükü, hem Şebeke Denetleyicisine hem de Opto-Bağlantılı Alt Sisteme sigorta koruması uygulanması, iyi kesintisiz topraklamanın dahil edilmesi ve optik/galvanik izolasyon kullanılması.

Olası İyileştirme

Geriye dönüp bakıldığında, Şebeke Denetleyicisi çıkışının etkin olduğunu (LED veya Neon) görsel olarak belirtmek yararlı olurdu. Günlük kullanımda bir sorun olmamasına rağmen, herhangi bir bakım yapılmadan önce yükü beslemeden izole etmek standart bir uygulama olduğundan veya prize takıldığında bir lambanın yanabileceği durumlarda yerel kontrol düğmesine basit bir basış çıkışı değiştirir.

son not

Şebeke elektriği ile ilgili çok kötü iki örnek görmek istiyorsanız, aşağıdaki bağlantılara göz atın. Darwin ödülleri çok yakında postada olacak, eminim;

  • Çılgın Bilim Adamı Uzatma Kablosu
  • Topluluk Geri Bildirimi 03 - Güç Güvenliği Endişeleri!

Adım 10: Kullanılan Referanslar

Bu Eğitilebilirliği bir araya getirmek için aşağıdaki kaynakları kullandım;

PubSubClient.h

  • Gönderen: Nick O'Leary
  • Amaç: Cihazın belirli bir Broker ile MQTT konularını yayınlamasını veya bunlara abone olmasını sağlar
  • Kimden:

Bounce2.h

  • Gönderen: Thomas O Fredericks
  • Amaç: Yazılımda giriş anahtarının geri dönmesi
  • Gönderen:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Sonoff flaşını yükseltme

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Sonoff Devre Şeması

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

USB UART Modülü (aka. FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e:g:QVUAAOSw71BXP92B

Darwin ödülleri (hafif kabartma)

https://www.darwinawards.com/

TIL111 Opto-izolatör veri sayfası

Önerilen: