Isi kandungan:

Pengawal Mains IoT. Bahagian 9: IoT, Automasi Rumah: 10 Langkah (dengan Gambar)
Pengawal Mains IoT. Bahagian 9: IoT, Automasi Rumah: 10 Langkah (dengan Gambar)

Video: Pengawal Mains IoT. Bahagian 9: IoT, Automasi Rumah: 10 Langkah (dengan Gambar)

Video: Pengawal Mains IoT. Bahagian 9: IoT, Automasi Rumah: 10 Langkah (dengan Gambar)
Video: LORI TIPPER JATUH GAUNG | AL-FATIHAH UNTUK MANGSA #lori #tipper #shorts 2024, Julai
Anonim
Pengawal Mains IoT. Bahagian 9: IoT, Automasi Rumah
Pengawal Mains IoT. Bahagian 9: IoT, Automasi Rumah

Penafian

BACA PERTAMA INI

Instructable ini memperincikan projek yang menggunakan kuasa utama (dalam hal ini UK 240VAC RMS), sementara setiap penjagaan telah diambil untuk menggunakan amalan selamat dan prinsip reka bentuk yang baik selalu ada risiko kejutan elektrik yang berpotensi mematikan ketika bekerja dengan voltan bekalan ini dan untuk yang mana pengarangnya tidak dapat bertanggungjawab sekiranya kecederaan peribadi atau kerosakan harta benda berlaku semasa mengikuti kandungannya. Oleh itu, anda membuat projek ini dengan risiko anda sendiri.

Mukadimah

Artikel ini, yang ke-9 dalam siri automasi rumah, mendokumentasikan bagaimana membuat dan mengintegrasikan pengawal utama Sonoff 10A IoT ke dalam sistem automasi rumah yang ada termasuk semua fungsi perisian yang diperlukan untuk membolehkan penerapan berjaya di persekitaran domestik.

Pengenalan

Seperti yang disebutkan di atas, Instructable ini memperincikan cara membuat dan mengintegrasikan pengawal utama IoT menggunakan Sonoff 10A dari iTead. Peranti itu sendiri dinilai sebagai 10amps @ 90 ~ 250VAC, namun pelaksanaan ini menurunkannya menjadi 5amps melalui plug fused yang menyediakan bekalan utama domestik UK 240VAC RMS.

Metodologi reka bentuk disatukan dengan lancar ke dalam rangkaian IoT berasaskan MQTT / OpenHAB yang diperincikan dalam siri ini mengenai pembinaan automasi rumah pada kod yang digunakan semula yang diambil dari sini. Ia juga dapat mengatasi kehilangan elemen rangkaian IoT dan sepenuhnya dapat dikendalikan secara mandiri. Sementara dalam mod mandiri, kawalan peranti dicapai dengan hanya menekan butang kawalan di bahagian atas kandang, yang menukar output bekalan seterusnya.

Untuk mengaktifkan kawalan tempatan peranti Sonoff ini, GPIO14 dibawa keluar dari casing dan digunakan sebagai input pencetus. Untuk memastikan keselamatan, input ini dimasukkan melalui rangkaian opto-coupler dan diletakkan di dalam penutup plastik sehingga operator tidak terkena voltan bekalan utama.

Akhirnya, prosa ini juga menggariskan bagaimana memprogram ulang peranti ESP8266 di Sonoff 10A menggunakan Arduino IDE dan memberikan perincian rangkaian lengkap tentang peranti yang dapat digunakan untuk memprogram kod sasaran dengan pasti.

Bahagian apa yang saya perlukan?

Pengawal Sonoff Mains

  1. 1 diskaun Sonoff 10A di sini
  2. 1 dari 7805L pengatur voltan 5v di sini
  3. 1 dari 240 / 6VAC 1.5VA Transformer di sini
  4. 2 dari 0.1 kapasitor seramik di sini
  5. 1 potongan 1000uF @ 25v Kapasitor Elektrolitik di sini
  6. 1 off Bridge penerus 2W01 di sini
  7. 2 dari perintang 4K7 di sini
  8. 1 dari perintang 330R di sini
  9. 1 butang SPST di sini
  10. 1 diskaun Mulitcomp BM12W ABS Enclosure di sini
  11. 1 potongan TIL111 opto-pengganding di sini
  12. 1 dari blok terminal 3-arah di sini
  13. 1 diskaun 2-Way penyambung molex berkod di sini / di sini
  14. 1 off penyambung molex berkod 3-Way di sini / di sini
  15. 1 daripada penyambung molex berkod 5-Way di sini / di sini
  16. 1 pin pin molex 5-way di sini
  17. 1 diskaun Winbond SPI Flash (W25Q32FVSIG) di sini
  18. 1 dari pemegang fius 20mm + penutup di sini
  19. 1 dari 20mm sekering cepat 500mmA di sini
  20. 2 kelenjar kabel poliamida di sini
  21. 1 diskaun palam UK Mains (BS1363 / A) di sini
  22. 1 diskaun soket Utama UK (BS1363 / A) di sini
  23. 7 off skru nilon CS M3 16mm, (termasuk 10 kacang) di sini / di sini
  24. 2 ikatan Zip di sini
  25. 1 dari papan kenyataan (nada 0,1 ") di sini
  26. 1 diskaun Berbagai panjang dawai tembaga timah 22swg di sini
  27. 1 diskaun dari kabel utama 3M White UK di sini
  28. Diskaun 10 dari kelim soket Molex di sini

Pengaturcara Sonoff

  1. 1 pelepasan voltan LD33CV 3v3 di sini
  2. 1 dari TOS-220 heatsink di sini
  3. 1 potongan tampal Heatsink di sini
  4. 1 diskaun kapasitor elektrolitik 10uF @ 16v di sini
  5. 1 dari 0.1 kapasitor seramik di sini
  6. 1 butang SPDT di sini
  7. 1 perintang 4K7 di sini
  8. 1 off penyambung molex berkod 2-way di sini / di sini
  9. 1 off penyambung molex berkod 3-Way di sini / di sini
  10. 5 potongan kelim soket Molex di sini
  11. 1 dari soket molex 6-Way di sini
  12. 1 butang SPST di sini
  13. 1 dari soket PSU 2.1mm di sini
  14. 1 dari papan kenyataan (nada 0,1 ") di sini
  15. 1 off USB ke penyesuai bersiri (FTDI) di sini

Perisian apa yang saya perlukan?

  1. Arduino IDE 1.6.9 di sini
  2. Arduino IDE dikonfigurasi untuk memprogram ESP8266. Lihat di sini; Menyiapkan Arduino IDE untuk Program ESP8266-01

Alat apa yang saya perlukan?

  1. Besi pematerian,
  2. Bor & pelbagai bit (termasuk pemotong lubang bertingkat untuk kelenjar kabel dan butang kawalan),
  3. Pemutar skru (pelbagai),
  4. Sepana boleh laras (dua off, lebar rahang> 25mm, untuk kelenjar kabel),
  5. Fail (pelbagai),
  6. Naib tegas,
  7. Pistol haba,
  8. DMM (lebih disukai CAT IV).

Apakah kemahiran yang saya perlukan?

  1. Pengetahuan elektronik / keselamatan / reka bentuk / pendawaian elektrik rumah dan lain-lain,
  2. Pengetahuan mengenai Arduino dan IDE,
  3. Kemahiran fabrikasi yang baik (pematerian, pemfailan, penggerudian dll),
  4. Kesabaran,
  5. Sebilangan pemahaman mengenai rangkaian rumah anda.

Topik yang dibincangkan

  • Pengenalan
  • Gambaran Keseluruhan Litar
  • Sonoff RetroMods
  • Perincian Pembinaan dan Pemasangan
  • Penyesuai Pengaturcaraan Sonoff
  • Gambaran Keseluruhan Sistem Perisian
  • Gambaran Keseluruhan Perisian
  • Konfigurasi OpenHAB
  • Menguji Peranti IoT Anda
  • Kesimpulannya
  • Rujukan Yang Digunakan

Pautan Seri

Ke Bahagian 8: Sensor Suhu dan Kelembapan IoT WiFi. Bahagian: 8 IoT, Automasi Rumah

Ke Bahagian 10: Alat Kawalan Jauh IR Melalui IoT. Bahagian 10 IoT, Automasi Rumah

Langkah 1: Gambaran Keseluruhan Litar

Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar
Gambaran Keseluruhan Litar

Gambaran keseluruhan

Seperti disebutkan dalam pengenalan di atas, untuk dapat menghidupkan dan mematikan pengawal utama secara tempatan, input ke ESP8266 on-board Sonoff diperlukan. Memperkenalkan input luaran seperti ini memerlukan penutup Sonoff ABS dilanggar dan oleh itu menimbulkan bahaya kejutan yang berpotensi. Untuk mengatasinya, saya menggunakan pengasingan optik sehingga tidak ada kemungkinan terkena elektrik elektrik di luar kandang sistem pengawal utama.

Yang berikut adalah penerangan mengenai litar pengasingan opto (dalam gambar 1 di atas).

Butiran Litar

Litar pengasingan opto menerima bekalannya terus dari sumber elektrik yang digunakan pada unit. 240VAC RMS diterapkan pada stepdown / isolation transformer TR1 via J1 a pheonix contact MKDSN2, 5 / 3-5.08 polyamide 3-Way terminal dinilai pada 16A at 400V mampu membawa kabel 2.5mm (sq) CSA dan F1 a 500mA 20mm fius tiup cepat. 6VAC yang terdapat pada belitan sekunder TR1 adalah gelombang penuh yang diperbaiki oleh jambatan diod B1.

Output yang diperbaiki gelombang penuh ini kemudiannya distabilkan dan diatur oleh C1, C2 C3, R3 dan IC1 a 7805L shunt regulator, memberikan rel bekalan 5v yang baik dan bersih.

Rel 5v kemudian digunakan untuk mengawal input ke OK1 a TIL111 opto-isolator melalui butang SPST putih yang dipasang secara luaran yang disambungkan melintasi J3. Keluaran TIL111 digabungkan dengan input Sonoff GPIO14 melalui R2 a resistor tarik 4K7. Oleh itu, pengasingan yang lebih baik daripada 340V dicapai (iaitu Voltan puncak = (240VAC * sqroot (2))).

Langkah 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Untuk mengintegrasikan peranti Sonoff 10A, perlu dilakukan pengubahsuaian retrospektif.

Yang pertama adalah dengan menambahkan penyambung molex nada 0.1 5 arah seperti yang ditunjukkan dalam gambar 1. Di atas. Ini membolehkan akses ke GPIO14 pada Sonoff setelah penutup pelindung diganti seperti pada gambar 2 dan 3 di atas.

Walaupun tidak ditunjukkan di atas, saya juga mengeluarkan garis siri TX / RX untuk membolehkan pengaturcaraan in-situ (rujuk kabel memanfaatkan SK1..3 pada Langkah 1 di atas).

Pengubahsuaian kedua adalah untuk meningkatkan ukuran peranti SPI Flash dari 1MByte lalai menjadi 4MBytes, ini adalah untuk memberi ruang yang mencukupi untuk fail pelayan web IoT disimpan dalam SPIFFS.

Saya membeli peranti flash SMD SPI (W25Q32FVSIG) dari Ebay di sini

Untuk mengganti denyar, saya sementara mengeluarkan LED Sonoff seperti pada gambar 4 untuk memberi akses yang lebih baik ke peranti SMD. Untuk memecahkan lampu kilat, saya menggunakan senapang panas seperti yang ditunjukkan dalam gambar 5 di atas. Kemudian disatukan semula kedua-dua 4MByte Flash dan LED masing-masing (gambar 6).

Langkah 3: Perincian Pembinaan dan Pemasangan

Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan
Perincian Pembinaan dan Pemasangan

Saya melampirkan alat kawalan utama dalam Kotak ABS Mulitcomp BM12W (Gambar 1 di atas). Kandang ini mempunyai sisipan M3 tembaga yang terpencil yang membolehkan akses masuk ke unit tanpa menjejaskan benang pengikat sehingga sekering dalaman dapat diganti jika perlu atau pemeriksaan dalaman dapat dilakukan dari masa ke masa (perkara yang sama tidak dapat dikatakan untuk peranti Sonoff, yang mana secara efektif hanya sekali tutup dengan menggunakan penoreh diri).

Pelepasan regangan utama untuk kabel bekalan yang dibawa utama dicapai melalui kelenjar kabel putih M16 Nylon / Polyamide 6/6 yang menyokong kabel OD Min / Max 5mm / 10mm.

Pelepasan regangan sekunder adalah melalui tali leher tunggal yang diletakkan di atas kabel sekiranya regangan berlebihan dikenakan dan kelenjar kabel gagal, tali leher akan meletakkan kabel di tempatnya.

Untuk memasang kelenjar kabel dan menyediakan ruang yang mencukupi untuk memasang Sonoff dan elektronik pengasingan opto, saya menanggalkan tulang rusuk pemasangan PCB dalaman seperti gambar di atas (Gambar 2).

Semua elektronik dipasang dengan selamat melalui skru M3 nilon CS untuk memastikan pengasingan dengan bahagian luar kandang dikekalkan. Elektronik pengasingan opto dipasang dengan 5 titik penetapan untuk memastikan kekuatan mekanikal bunyi sekiranya unit dijatuhkan, sehingga menghalang jisim pengubah pengasingan daripada melanggar litar papan.

Pembekalan ke unit ini dicapai melalui UK standard 3-teras PVC bertebat warna putih bersebelahan kabel multi-helai (32 / 0.2mm sq) 1mm (sq) CSA. dengan OD 7.2mm yang mampu membawa 10A.

Unit ini dihubungkan dengan bekalan utama UK (240VAC RMS) melalui palam keselamatan 3 pin standard (BS 1363 / A) yang diluluskan. Palamnya menyatu pada suhu 5A.

Semua kabel bekalan utama ke litar pengasingan opto disambungkan melalui kontak pheonix MKDSN2, 5 / 3-5.08 terminal poliamida yang dinilai pada 16A pada 400V mampu membawa kabel CSA 2.5mm (sq), sehingga memberikan kapasiti yang cukup untuk dua kabel di kedudukan masing-masing.

Tidak ada kabel utama yang dilekatkan, hanya dipintal untuk mengelakkan pemutaran inti sebelum dimasukkan ke blok penyambung. Memasang kabel utama adalah amalan berbahaya kerana pateri 'melonggarkan' dari masa ke masa akhirnya menyebabkan kabel itu hilang di blok penyambung.

Catatan:

  • OD = Diameter luar.
  • VAC = Voltan Arus Bergantian
  • RMS = Root Mean Square
  • CSA = Kawasan Keratan Lintang
  • CS = Kaunter Tenggelam

Langkah 4: Penyesuai Pengaturcaraan Sonoff

Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff
Penyesuai Pengaturcaraan Sonoff

Terdapat dua aspek yang harus dipertimbangkan ketika memprogram ulang Sonoff 10A melalui Arduino IDE;

  1. Mengkonfigurasi IDE Arduino anda untuk memprogram ESP8266,
  2. Tindakan memprogram perkakasan itu sendiri.

Mengkonfigurasi Arduino IDE anda untuk memprogram ESP8266

Untuk mengkonfigurasi Ardino IDE anda, ikuti arahan di sini Menyiapkan Arduino IDE untuk Program ESP8266-01

Memprogram perkakasan

Ini adalah proses pelbagai langkah seperti dalam semua kes dengan ESP8266. Di sini, kuasa Sonoff digunakan pada papan melalui bekalan DC 3v3 yang stabil dan bukan dari bekalan utama. Peranti USB ke siri akan diperlukan untuk menghantar dan menerima data ke dan dari Sonoff. Sambungkan TX dan RX seperti yang ditunjukkan dalam Pic 2 & 4.

Langkah Pengaturcaraan (umum)

  1. Pertama pastikan tidak ada kuasa utama luaran yang diterapkan pada Sonoff,
  2. Tekan dan tahan butang pada peranti Sonoff. (gambar 1 di atas, butang kilat semula bertanda),
  3. Gunakan bekalan DC 3v3 luaran ke pin 1. (gambar 2 di atas),
  4. Lepaskan butang Sonoff,
  5. Peranti kini dapat diprogram ulang dengan cara biasa melalui Arduino IDE.

Untuk membuat sesuatu menjadi lebih mudah, saya membuat peranti pengaturcaraan di atas (gambar 3 dan 4) yang dihubungkan ke Sonoff melalui kabel kabel SK1… 3 (seperti yang dijelaskan dalam Langkah 1 yang Dapat Diperintahkan ini). Ini membolehkan pengaturcaraan ESP8266 lebih mudah. Ia juga menyediakan alat untuk menguji GPIO14 sebagai input melalui penggunaan R1 a 4K7 pull up resistor dan tombol S1.

Menggunakan alat pengaturcaraan di atas (Gambar 3 & 4) Langkah Pengaturcaraan adalah,

  1. Tekan dan tahan butang kilat semula pada Sonoff,
  2. Pulse bekalan 3v3 dengan menekan S2,
  3. Lepaskan butang kilat semula,
  4. Peranti kini boleh diprogramkan.

CATATAN - AMARAN

Dalam keadaan TIDAK, kuasa harus dibekalkan melalui Mains semasa aktiviti pengaturcaraan semula Sonoff

Langkah 5: Gambaran Keseluruhan Sistem Perisian

Gambaran Keseluruhan Sistem Perisian
Gambaran Keseluruhan Sistem Perisian
Gambaran Keseluruhan Sistem Perisian
Gambaran Keseluruhan Sistem Perisian

Peranti IoT Mains Controller ini sebahagian besarnya mengandungi enam komponen perisian yang sama seperti dalam Instructable WiFi IoT Temperature and Humidity Sensor. Bahagian: 8 IoT, Automasi Rumah dan ditunjukkan dalam gambar 1 di atas, dengan beberapa penyesuaian.

SPIFFS

Ini adalah Sistem Pemfailan SPI Flash (dinaik taraf menjadi 4MBytes) dan digunakan untuk menyimpan maklumat berikut (lihat gambar 2 di atas);

  • Ikon dan 'Mains Controller Configuration Home Page' html: Dilayani oleh peranti IoT apabila tidak dapat menyambung ke rangkaian WiFi IoT anda (biasanya kerana maklumat keselamatan yang salah) dan menyediakan pengguna dengan cara mengkonfigurasi pengawal utama dari jauh tanpa keperluan untuk memprogram semula atau memuat naik kandungan SPIFFS baru.
  • Maklumat Keselamatan: Ini menyimpan maklumat yang digunakan semasa dihidupkan oleh peranti IoT untuk menyambung ke rangkaian WiFi IoT dan Broker MQTT anda. Maklumat yang dihantar melalui 'Mains Controller Configuration Home Page' ditulis ke fail ini ('secvals.txt').

Catatan: Untuk menyediakan peranti pada mulanya, lihat di sini untuk maklumat lengkap mengenai cara menggunakan SPIFFS dengan Arduino IDE.

Pelayan mDNS

Fungsi ini dipanggil apabila peranti IoT gagal menyambung ke rangkaian WiFi anda sebagai stesen WiFi dan sebaliknya telah menjadi titik akses WiFi yang serupa dengan penghala WiFi domestik. Sekiranya penghala seperti itu, anda biasanya akan menyambungnya dengan memasukkan Alamat IP seperti 192.168.1.1 (biasanya dicetak pada label yang dilekatkan pada kotak) terus ke bar URL penyemak imbas anda di mana anda akan menerima halaman log masuk untuk dimasukkan nama pengguna dan kata laluan untuk membolehkan anda mengkonfigurasi peranti. Untuk ESP8266 dalam mod AP (Access Point mode) peranti lalai ke alamat IP 192.168.4.1, namun dengan pelayan mDNS berjalan, anda hanya perlu memasukkan nama mesra manusia 'MAINSCON.local' ke dalam bar URL penyemak imbas untuk melihat 'Halaman Utama Konfigurasi Pengawal Utama'.

Pelanggan MQTT

Pelanggan MQTT menyediakan semua fungsi yang diperlukan untuk; sambungkan ke broker MQTT rangkaian IoT anda, langgan topik pilihan anda dan terbitkan muatan ke topik tertentu. Ringkasnya, ia menyediakan fungsi teras IoT.

Pelayan Web

Seperti disebutkan di atas, jika peranti IoT tidak dapat menyambung ke rangkaian WiFi yang SSID, P / W dll ditentukan dalam fail Maklumat Keselamatan yang disimpan di SPIFFS, peranti akan menjadi Titik Akses. Setelah disambungkan ke rangkaian WiFi yang disediakan oleh Access Point, kehadiran Pelayan Web HTTP membolehkan anda menyambung secara langsung ke peranti dan mengubah konfigurasinya melalui penggunaan Penyemak Imbas Web HTTP yang bertujuan untuk melayani 'Konfigurasi Pengawal Mains Laman web Halaman Utama yang juga diadakan dalam SPIFFS.

Stesen WiFi

Fungsi ini memberi peranti IoT keupayaan untuk menyambung ke rangkaian WiFi domestik menggunakan parameter dalam fail Maklumat Keselamatan, tanpa ini peranti IoT anda tidak akan dapat melanggan / menerbitkan ke MQTT Broker

Titik Akses WiFi

Keupayaan untuk menjadi WiFi Access Point adalah cara yang membolehkan peranti IoT membolehkan anda menyambung ke sana dan membuat perubahan konfigurasi melalui stesen WiFi dan penyemak imbas (seperti Safari di Apple iPad). Titik akses ini menyiarkan SSID = "MAINSCON" + 6 digit terakhir alamat MAC peranti IoT. Kata laluan untuk rangkaian tertutup ini secara imajinatif dinamakan 'PASSWORD'.

Langkah 6: Gambaran Keseluruhan Perisian

Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian

Pendahuluan Untuk berjaya menyusun kod sumber ini, anda memerlukan perpustakaan tambahan berikut;

PubSubClient.h

  • Oleh: Nick O'Leary
  • Tujuan: Membolehkan peranti menerbitkan atau melanggan topik MQTT dengan Broker tertentu
  • Dari:

Melantun2.h

  • Oleh: Thomas O Fredericks
  • Tujuan: Peralihan input berhenti dalam perisian
  • Dari:

Gambaran Keseluruhan Kod

Perisian ini menggunakan mesin negara seperti yang ditunjukkan dalam gambar 1 di atas (salinan penuh sumber yang diberikan di bawah). Terdapat 5 negeri utama seperti berikut;

  • DI DALAMNYA

    Keadaan inisialisasi ini adalah keadaan pertama yang dimasukkan setelah kuasa dinyalakan

  • NOCONFIG

    Keadaan ini dimasukkan sekiranya setelah mengaktifkan fail secvals.txt yang tidak sah atau hilang dikesan

  • TUNGGU NW

    Keadaan ini bersifat sementara, dimasukkan sementara tidak ada sambungan rangkaian WiFi

  • MQTT PENDING

    Keadaan ini bersifat sementara, dimasukkan setelah sambungan rangkaian WiFi dibuat dan sementara tidak ada hubungan dengan broker MQTT di rangkaian tersebut

  • AKTIF

    Ini adalah keadaan operasi biasa yang dimasukkan sebaik sahaja sambungan rangkaian WiFi dan sambungan MQTT Broker terjalin. Dalam keadaan ini Mains Controller akan menerbitkan kepada MQTT Broker dan menerima perintah melalui topik yang dilanggan

Peristiwa mengawal peralihan antara keadaan dijelaskan dalam gambar 1 di atas. Peralihan antara negeri juga diatur oleh parameter SecVals berikut;

  • Alamat IP Broker MQTT ke-1. Dalam bentuk perpuluhan bertanda AAA. BBB. CCC. DDD
  • Pelabuhan Broker MQTT ke-2. Dalam bentuk integer.
  • Sambungan MQTT Broker ke-3 cuba dilakukan sebelum beralih dari mod STA ke mod AP. Dalam bentuk integer.
  • SSID Rangkaian WiFi ke-4. Dalam bentuk teks percuma.
  • Kata Laluan Rangkaian WiFi ke-5. Dalam bentuk teks percuma.

Seperti yang disebutkan di atas jika peranti IoT tidak dapat dihubungkan sebagai Stesen WiFi ke rangkaian WiFi siapa SSID dan P / W ditentukan dalam secvals.txt yang dipegang dalam SPIFFS, peranti akan menjadi Titik Akses. Setelah disambungkan ke pusat akses ini, ia akan menyediakan 'Halaman Utama Konfigurasi Pengawal Utama' seperti yang ditunjukkan di atas dalam Pic 2 (dengan memasukkan 'MAINSCON.local' atau 192.168.4.1 ke dalam bar alamat URL penyemak imbas anda). Halaman utama ini membolehkan penyusunan semula pengawal utama melalui penyemak imbas

Konvensyen penamaan Topik MQTT

Diuraikan dalam gambar 3 di atas adalah konvensyen penamaan yang digunakan untuk topik MQTT dan sesuai dengan corak yang digunakan dalam Instruksiku yang terdahulu (di sini Langkah 5).

Topik MQTT yang digunakan oleh peranti IoT ini

Untuk kejelasan saya telah mendokumentasikan (gambar 4) topik dan urutan mesej berkaitan yang diterbitkan / dilanggan oleh peranti ini. Gambar juga menggambarkan interaksi dengan butang kawalan putih di bahagian luar kandang (walaupun ironinya butang ditunjukkan dengan warna merah).

Akses Konfigurasi Jauh semasa berada dalam keadaan AKTIF

Setelah disambungkan ke MQTT Broker, mungkin untuk mengkonfigurasi ulang parameter keselamatan dari jauh melalui penerbitan topik MQTT. Secvals.txt fail yang berkaitan mempunyai akses tulis sahaja yang terdedah.

Penyahpepijat pengguna

Semasa urutan boot, peranti Sonoff yang dipimpin memberikan maklum balas debug berikut, walaupun harus diperhatikan, untuk melihatnya, anda perlu menanggalkan penutup dan mendedahkan litar sehingga disarankan untuk melakukannya semasa mengembangkan kod anda dan menghidupkan peranti. dengan bekalan 3v3;

  • 1 Kilat pendek: Tiada fail Config terletak di SPIFFS (secvals.txt),
  • 2 Kilat pendek: Peranti IoT cuba menyambung ke rangkaian WiFi,
  • Pencahayaan berterusan: Peranti Sonoff IoT cuba menyambung ke MQTT Broker,
  • Mati: Peranti aktif dan disambungkan ke MQTT Broker.

Catatan 1: 'Halaman Utama Konfigurasi Pengawal Utama' tidak menggunakan soket yang selamat dan oleh itu bergantung pada keselamatan rangkaian anda.

Catatan 2: Untuk memprogram beberapa peranti IoT, rentetan MQTT akan memerlukan penyuntingan sebelum memuat turun ke setiap peranti. Ini kerana nombor id pengawal utama telah dimasukkan ke dalam rentetan topik MQTT. iaitu. dalam perisian yang diterbitkan saya memilih nilai 100: 'WFD / MainsCont / 100 / Relay / Command / 1' dan untuk 2 peranti saya masing-masing bernombor 1 & 2.

  • 'WFD / MainsCont / 1 / Relay / Command / 1'
  • 'WFD / MainsCont / 2 / Relay / Command / 1'

Catatan 3: Untuk kelengkapan ketika dalam keadaan AKTIF, perisian IoT memungkinkan untuk mengendalikan LED Sonoff dan menerbitkan status butang kilat semula. Walaupun ini hanya bernilai semasa proses debug kerana tidak terdedah kepada pengguna selama operasi normal.

Langkah 7: Konfigurasi OpenHAB

Konfigurasi OpenHAB
Konfigurasi OpenHAB
Konfigurasi OpenHAB
Konfigurasi OpenHAB
Konfigurasi OpenHAB
Konfigurasi OpenHAB

Untuk tujuan ujian, saya memutuskan untuk menggunakan dua alat kawalan utama di 'Ruang Tamu' rumah saya. Halaman OpenHAB ini dapat dicapai melalui halaman laman utama seperti pada gambar 1.

Saya mengubah suai konfigurasi OpenHAB.sitemap yang diberikan dalam Instructable saya yang terdahulu (di sini) dan menambahkan entri individu untuk 'Mains Controller 1' dan 'Mains Controller 2' (gambar 2 di atas). Saya juga menambah entri (Living Room Mains Cont. 1 & 2) untuk memaparkan RSSI Trends yang diukur pada penerima dua peranti IoT baru (gambar 3).

Akhirnya, saya menambah entri ke fail.rules dan.items untuk membolehkan penyegerakan keadaan dinamik Sonoff dan pengemaskinian / animasi percubaan saya yang lemah pada grafik suis (suis ditutup apabila aktif dan dibuka apabila tidak aktif). Pic 2 memberikan contoh MC1 aktif dan MC2 tidak aktif.

Catatan 1: Jika anda tidak pasti cara menggunakan OpenHAB lihat di sini 'Menyiapkan dan Mengkonfigurasi OpenHAB. Bahagian 6: IoT, Automasi Rumah '

Catatan 2: Salinan peta laman web, peraturan dan fail item, Ikon dan lain-lain yang diubah suai diberikan dalam fail zip di bawah.

Catatan 3: RSSI = Petunjuk Kekuatan Isyarat yang Diterima. Ini adalah ukuran sejauh mana peranti IoT dapat melihat rangkaian WiFi anda.

Langkah 8: Menguji Peranti IoT Anda

Image
Image
Menguji Peranti IoT Anda
Menguji Peranti IoT Anda

Seperti yang dijelaskan dalam Sensor Suhu dan Kelembapan IoT WiFi Instructable. Bahagian: 8 IoT, Home Automation Langkah 7, pengujian awal peranti IoT dilakukan melalui sambungan MQTT melalui MQTT Spy (seperti dalam gambarajah blok sistem gambar 1 di atas), memantau output yang dipimpin, input butang (kedua-dua butang re-flash Sonoff dan butang luaran putih) dan debug lalu lintas pada antara muka bersiri. Ini membolehkan saya menggunakan semua topik langganan yang ada dan memeriksa jawapan yang diterbitkan. Walaupun sekali lagi, ini dilakukan secara manual dan memakan masa, walaupun memungkinkan liputan 100% dari penerbitan mesej / topik.

Oleh kerana mesin keadaan perisian utama (Langkah 6 di atas) diwarisi dari Instructable sebelumnya (Bahagian: 8) selain daripada memeriksa kewarasan perisian boleh menyambung ke WiFi N / W dan MQTT Broker diandaikan ini berfungsi dengan betul.

Pengujian tahap sistem penuh kemudian diselesaikan menggunakan pengawal utama dan infrastruktur IoT (sekali lagi gambar 1) kali ini menggunakan OpenHAB untuk mengawal interaksi dengan peranti IoT. Susunan perkakasan dan dummy IoT dapat dilihat pada gambar 2 di atas.

Video tersebut memberikan perincian lengkap mengenai ujian sistem dan dengan jelas menunjukkan penyegerakan yang dilakukan antara peranti OpenHAB (PC / Chrome dan iPad / OpenHAB APP) dalam masa nyata. Ia juga menunjukkan pemesejan langsung ke Pengawal Utama melalui MQTTSpy (lihat di sini untuk keterangan lebih lanjut Menyiapkan Broker MQTT. Bahagian 2: IoT, Automasi Rumah) dan log sistem ekor OpenHAB dari pelayan raspberry pi melalui sambungan PuTTY SSH (lihat di sini untuk lebih lanjut perincian Menyiapkan dan Mengkonfigurasi OpenHAB. Bahagian 6: IoT, Automasi Rumah).

Catatan: Trafik debug disusun untuk pembebasan perisian terakhir.

Langkah 9: Kesimpulannya

Am

Projek ini agak mudah disiapkan dan berfungsi dengan baik. Perisian yang disisipkan mudah dihasilkan, menjadi versi kod yang dipotong untuk Sensor Suhu dan Kelembapan Bahagian 8 dalam siri ini.

Pada mulanya saya bertujuan untuk memperoleh bahagian komponen putih semata-mata untuk kualiti estetiknya. Saya berjaya mencapai semua ini kecuali butang kawalan, cuba seboleh-bolehnya, saya tidak dapat mencari butang putih sepenuhnya / bagus.

Peranti Sonoff 10A

Saya telah menyenaraikan di bawah apa yang saya rasakan sebagai kelebihan dan kekurangan peranti Sonoff

Kelebihan

  • Murah.
  • Sokongan masyarakat yang baik.
  • Boleh memprogram semula melalui Arduino IDE.

Keburukan

  • Lekapan tipis.
  • I / O minimum (dibawa ke penyambung yang boleh digunakan).
  • Ia panas dalam keadaan tenang.
  • Hanya mempunyai 1MByte SPI on-board flash.
  • Adakah PITA untuk memprogramkan semula setelah ditempatkan di tempat.
  • Semasa mengintegrasikan kod baru ke dalam pengujian Sonoff, penutupan relai bermasalah mengingat relay adalah 5v dan bekalan yang diterapkan ke Sonoff untuk pengaturcaraan adalah 3v3. Pengaktifan geganti hanya dapat dilihat pada telinga.

Kebimbangan

  • Ia tidak menukar garis Neutral. Menggunakan geganti SPST.
  • Tidak menyatu.
  • Melegakan ketegangan kabel yang lemah.
  • PCB tidak dilindungi dalam kandang Sonoff.

Komen mengenai reka bentuk kejuruteraan

Memandangkan peranti IoT ini akan digunakan untuk menukar arus elektrik langsung Inggeris (240VAC RMS), saya mengikuti amalan reka bentuk mekanikal dan elektrikal yang baik dan memastikan risiko kejutan dapat diminimumkan dengan tidak mendedahkan bahan konduktif elektrik, selain menentukan semua komponen, penghapusan penilaian beban output, menerapkan perlindungan sekering pada Mains Controller dan Opto-Coupled Sub-System, penyertaan pembumian yang tidak putus, dan menggunakan pengasingan optik / galvanik.

Kemungkinan Penambahbaikan

Dengan pandangan belakang, akan berguna untuk memasukkan petunjuk visual bahawa output Mains Controller aktif (LED atau Neon). Walaupun tidak menjadi masalah dalam penggunaan sehari-hari, mengingat praktik biasa untuk mengasingkan beban dari bekalan sebelum penyelenggaraan dilakukan, atau menekan butang kawalan tempatan dengan mudah akan menukar output sekiranya lampu mungkin menyala ketika terpasang.

Catatan akhir

Sekiranya anda ingin melihat dua contoh yang sangat buruk dalam menangani bekalan elektrik, lihat pautan di bawah. Anugerah Darwin mereka akan disiarkan dalam masa terdekat, saya yakin;

  • Kabel Sambungan Saintis Gila
  • Maklum Balas Komuniti 03 - Keprihatinan Keselamatan Kuasa!

Langkah 10: Rujukan Yang Digunakan

Saya menggunakan sumber berikut untuk menyatukan Instructable ini;

PubSubClient.h

  • Oleh: Nick O'Leary
  • Tujuan: Membolehkan peranti menerbitkan atau melanggan topik MQTT dengan Broker tertentu
  • Dari:

Melantun2.h

  • Oleh: Thomas O Fredericks
  • Tujuan: Peralihan input berhenti dalam perisian
  • Dari:

SPIFFS

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

Menaikkan kilat Sonoff

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

Rajah Litar Sonoff

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

Modul USB UART (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

Anugerah Darwin (keringanan ringan)

https://www.darwinawards.com/

Lembar data TIL111 Opto-isolator

Disyorkan: