Daftar Isi:

Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah: 10 Langkah (dengan Gambar)
Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah: 10 Langkah (dengan Gambar)

Video: Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah: 10 Langkah (dengan Gambar)

Video: Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah: 10 Langkah (dengan Gambar)
Video: cara membuat instalasi listrik berbasis IOT | electrical instalation basis Internet of thinks 2024, Juli
Anonim
Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah
Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah

Penafian

BACA INI TERLEBIH DAHULU

Instruksi ini merinci proyek yang menggunakan daya listrik (dalam hal ini UK 240VAC RMS), sementara setiap perawatan telah dilakukan untuk menggunakan praktik yang aman dan prinsip desain yang baik selalu ada risiko sengatan listrik yang berpotensi mematikan saat bekerja dengan tegangan suplai ini dan untuk yang penulis tidak dapat menerima tanggung jawab apa pun jika cedera pribadi atau kerusakan properti terjadi saat mengikuti kontennya. Akibatnya, Anda membuat proyek ini dengan risiko Anda sendiri.

Pembukaan

Artikel ini, seri ke-9 tentang otomatisasi rumah, mendokumentasikan cara membuat dan mengintegrasikan pengontrol listrik Sonoff 10A IoT ke dalam sistem otomatisasi rumah yang ada, termasuk semua fungsionalitas perangkat lunak yang diperlukan untuk memungkinkan penerapan yang berhasil di lingkungan domestik.

pengantar

Seperti disebutkan di atas, Instructable ini merinci cara membuat dan mengintegrasikan pengontrol listrik IoT menggunakan Sonoff 10A dari iTead. Perangkat itu sendiri dikutip memiliki rating 10amps @ 90~250VAC, namun implementasi ini menurunkan ratingnya menjadi 5amps melalui steker fusi yang menyediakan pasokan utama 240VAC RMS domestik Inggris.

Metodologi desain terintegrasi dengan mulus ke dalam jaringan IoT berbasis MQTT/OpenHAB yang dirinci dalam seri ini tentang pembangunan otomatisasi rumah pada kode yang digunakan kembali yang diambil dari sini. Itu juga dapat menangani hilangnya elemen jaringan IoT dan sepenuhnya mampu dioperasikan secara mandiri. Saat dalam mode mandiri, kontrol perangkat dicapai hanya dengan menekan tombol kontrol di bagian atas enklosur, yang mengaktifkan output suplai selanjutnya.

Untuk mengaktifkan kontrol lokal perangkat Sonoff ini, GPIO14 dikeluarkan dari casing dan digunakan sebagai input pemicu. Untuk memastikan keamanan, input ini diumpankan melalui sirkuit opto-coupler dan ditempatkan dalam selungkup plastik sedemikian rupa sehingga operator tidak pernah terpapar tegangan suplai listrik.

Terakhir, prosa ini juga menguraikan cara memprogram ulang perangkat ESP8266 di Sonoff 10A menggunakan Arduino IDE dan memberikan detail rangkaian lengkap perangkat yang dapat digunakan untuk memprogram kode target dengan andal.

Bagian apa yang saya butuhkan?

Pengontrol Listrik Sonoff

  1. 1 dari Sonoff 10A di sini
  2. 1 off regulator tegangan 7805L 5v di sini
  3. 1 dari 240/6VAC 1.5VA Transformator di sini
  4. 2 off 0.1 kapasitor keramik di sini
  5. 1 off 1000uF @25v Kapasitor Elektrolit di sini
  6. 1 off Bridge rectifier 2W01 di sini
  7. 2 off resistor 4K7 di sini
  8. 1 dari resistor 330R di sini
  9. 1 off tombol SPST di sini
  10. 1 dari Mulitcomp BM12W ABS Enclosure di sini
  11. 1 off TIL111 opto-coupler di sini
  12. 1 dari blok terminal 3-Arah di sini
  13. 1 dari konektor molex berkode 2-arah di sini/di sini
  14. 1 dari konektor molex berkode 3-Arah di sini/di sini
  15. 1 dari konektor molex berkode 5 arah di sini / di sini
  16. 1 dari pin Molex 5-Arah di sini
  17. Diskon 1 Winbond SPI Flash (W25Q32FVSIG) di sini
  18. 1 dari dudukan sekering 20mm + tutup di sini
  19. 1 dari 20mm pukulan cepat sekering 500mA di sini
  20. 2 dari kelenjar kabel Poliamida di sini
  21. 1 dari steker Listrik Inggris (BS1363/A) di sini
  22. 1 dari soket Utama UK (BS1363/A) di sini
  23. 7 dari sekrup nilon M3 16mm CS, (termasuk 10 mur) di sini/sini
  24. 2 off ikatan Zip di sini
  25. 1 off veroboard (0,1 "pitch) di sini
  26. 1 off Berbagai panjang 22swg kawat tembaga kaleng di sini
  27. 1 potong kabel listrik 3M White UK di sini
  28. 10 dari crimp soket Molex di sini

Programmer Sonoff

  1. 1 dari regulator tegangan LD33CV 3v3 di sini
  2. 1 off TO-220 heatsink di sini
  3. 1 dari pasta Heatsink di sini
  4. 1 off 10uF @ 16v Kapasitor elektrolit di sini
  5. 1 dari 0,1 kapasitor keramik di sini
  6. 1 off tombol SPDT di sini
  7. 1 dari resistor 4K7 di sini
  8. 1 dari konektor molex berkode 2-arah di sini/di sini
  9. 1 dari konektor molex berkode 3-Arah di sini/di sini
  10. 5 dari crimp soket Molex di sini
  11. 1 dari soket molex 6-arah di sini
  12. 1 off tombol SPST di sini
  13. 1 dari soket PSU 2.1mm di sini
  14. 1 off veroboard (0,1 "pitch) di sini
  15. 1 dari USB ke adaptor serial (FTDI) di sini

Perangkat lunak apa yang saya butuhkan?

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

Alat apa yang saya butuhkan?

  1. besi solder,
  2. Bor & berbagai mata bor (termasuk pemotong lubang berundak untuk kelenjar kabel dan tombol kontrol),
  3. Obeng (berbagai),
  4. Kunci pas yang dapat disesuaikan (dua lepas, lebar rahang >25mm, untuk kelenjar kabel),
  5. File (berbagai),
  6. Wakil yang kokoh,
  7. senapan panas,
  8. DMM (sebaiknya CAT IV).

Keterampilan apa yang saya butuhkan?

  1. Pemahaman yang baik tentang elektronik dan keamanan / desain / kabel listrik rumah dll.,
  2. Pengetahuan tentang Arduino dan IDE-nya,
  3. Keterampilan fabrikasi yang baik (solder, pengarsipan, pengeboran, dll.),
  4. Beberapa Kesabaran,
  5. Beberapa pemahaman tentang jaringan rumah Anda.

Topik yang dibahas

  • pengantar
  • Ikhtisar Sirkuit
  • Sonoff RetroMods
  • Detail Konstruksi dan Perakitan
  • Adaptor Pemrograman Sonoff
  • Ikhtisar Sistem Perangkat Lunak
  • Ikhtisar Perangkat Lunak
  • Konfigurasi OpenHAB
  • Menguji Perangkat IoT Anda
  • Kesimpulan
  • Referensi yang Digunakan

Tautan Seri

Ke Bagian 8: Sensor Suhu dan Kelembaban WiFi IoT. Bagian: 8 IoT, Otomatisasi Rumah

Ke Bagian 10: IR Remote Control Melalui IoT. Bagian 10 IoT, Otomatisasi Rumah

Langkah 1: Ikhtisar Sirkuit

Ikhtisar Sirkuit
Ikhtisar Sirkuit
Ikhtisar Sirkuit
Ikhtisar Sirkuit
Ikhtisar Sirkuit
Ikhtisar Sirkuit
Ikhtisar Sirkuit
Ikhtisar Sirkuit

Gambaran

Seperti disebutkan dalam pendahuluan di atas, agar dapat menghidupkan dan mematikan pengontrol listrik secara lokal, diperlukan input ke ESP8266 on-board Sonoff. Memperkenalkan input eksternal semacam itu mengharuskan enklosur Sonoff ABS dilanggar dan oleh karena itu menimbulkan potensi bahaya sengatan listrik. Untuk mengatasinya saya menggunakan isolasi optik sedemikian rupa sehingga tidak ada kemungkinan terkena listrik utama di luar selungkup sistem pengontrol listrik.

Berikut ini adalah deskripsi dari rangkaian opto-isolasi (pada gambar 1 di atas).

Detail Sirkuit

Sirkuit isolasi-opto menerima suplai langsung dari listrik yang diterapkan ke unit. RMS 240VAC diterapkan pada transformator stepdown/isolasi TR1 melalui J1 a pheonix contact MKDSN2, terminal 3-Way poliamida 5/3-5.08 dengan nilai 16A pada 400V yang mampu membawa kabel CSA 2.5mm(sq) dan F1 a 500mA 20mm sekering pukulan cepat. 6VAC yang tersedia pada gulungan sekunder TR1 adalah gelombang penuh yang disearahkan oleh jembatan dioda B1.

Output penyearah gelombang penuh ini kemudian distabilkan dan diatur oleh C1, C2 C3, R3 dan IC1 regulator shunt seri 7805L, memberikan rel suplai 5v yang baik dan bersih.

Rel 5v kemudian digunakan untuk mengontrol input ke OK1 sebuah opto-isolator TIL111 melalui tombol SPST putih yang dipasang secara eksternal yang terhubung di J3. Output dari TIL111 digabungkan ke input Sonoff GPIO14 melalui R2 resistor pull up 4K7. Jadi lebih baik dari 340V isolasi tercapai (yaitu Tegangan puncak = (240VAC*sqroot(2))).

Langkah 2: Sonoff RetroMods

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

Untuk mengintegrasikan perangkat Sonoff 10A, perlu dilakukan beberapa modifikasi retrospektif.

Yang pertama adalah menambahkan konektor molex pitch 0,1 5-arah seperti yang ditunjukkan pada gambar 1 di atas. Hal ini memungkinkan akses ke GPIO14 pada Sonoff setelah penutup pelindung diganti seperti pada gambar 2 dan 3 di atas.

Meskipun tidak ditampilkan di atas, saya juga mengeluarkan jalur serial TX/RX untuk memungkinkan pemrograman in-situ (lihat kabel harness SK1..3 pada Langkah 1 di atas).

Modifikasi kedua adalah meningkatkan ukuran perangkat Flash SPI dari default 1MByte menjadi 4MByte, ini untuk memberikan ruang yang cukup untuk file server web IoT untuk disimpan di SPIFFS.

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

Untuk mengganti flash saya melepas sementara LED Sonoff seperti pada gambar 4 untuk memberikan akses yang lebih baik ke perangkat SMD. Untuk de-solder flashdisk saya menggunakan heat gun seperti terlihat pada gambar 5 di atas. Kemudian disolder ulang masing-masing Flash 4MByte dan LED (gambar 6).

Langkah 3: Detail Konstruksi dan Perakitan

Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan
Detail Konstruksi dan Perakitan

Saya menyertakan pengontrol listrik dalam Kotak ABS Mulitcomp BM12W (Gambar 1 di atas). Enklosur ini memiliki sisipan kuningan M3 terisolasi yang memungkinkan multi-akses ke unit tanpa mengorbankan ulir pengikat sehingga sekering internal dapat diganti jika perlu atau inspeksi internal dapat dilakukan seiring waktu (hal yang sama tidak dapat dikatakan untuk perangkat Sonoff, yang secara efektif menutup satu kali saja menggunakan self tappers).

Relief regangan utama untuk kabel suplai pembawa utama dicapai melalui kelenjar kabel putih M16 Nylon/Polyamide 6/6 yang mendukung kabel OD Min/Max 5mm/10mm.

Relief regangan sekunder adalah melalui dasi zip tunggal yang ditempatkan pada kabel jika regangan berlebihan diterapkan dan kelenjar kabel gagal, dasi zip akan menjaga kabel tetap di tempatnya.

Agar sesuai dengan kelenjar kabel dan menyediakan ruang yang cukup untuk memasang Sonoff dan elektronik opto-isolasi, saya melepaskan rusuk pemasangan PCB internal seperti yang ditunjukkan di atas (Gambar 2).

Semua elektronik dipasang dengan aman melalui sekrup M3 nilon CS untuk memastikan isolasi dengan bagian luar enklosur tetap terjaga. Elektronik opto-isolasi dipasang dengan 5 titik pemasangan untuk memastikan kekuatan mekanik yang baik jika unit dijatuhkan, sehingga mencegah massa transformator isolasi dari pemutusan sirkuit veroboard.

Pasokan ke unit dicapai melalui standar Inggris kode warna putih 3 inti berisolasi PVC kabel multi-untai (32/0.2mm persegi) 1mm(sq) CSA. dengan OD 7.2mm mampu membawa 10A.

Unit terhubung ke suplai utama Inggris (240VAC RMS) melalui steker pengaman 3 pin standar (BS 1363/A) yang disetujui. Steker menyatu pada 5A.

Semua kabel suplai utama ke sirkuit opto-isolasi dihubungkan melalui kontak pheonix MKDSN2, terminal poliamida 5/3-5,08 dengan nilai 16A pada 400V yang mampu membawa kabel CSA 2,5mm(sq), sehingga menyediakan kapasitas yang cukup untuk dua kabel di setiap posisi.

Tidak ada kabel listrik yang dilubangi, hanya dipelintir untuk mencegah terentangnya inti sebelum dimasukkan ke dalam blok konektor. Mengalengkan kabel listrik adalah praktik berbahaya karena solder 'mengendur' dari waktu ke waktu yang akhirnya menyebabkan kabel terlepas di blok konektor.

Catatan:

  • OD = Diameter luar.
  • VAC = Volt Arus Bolak-balik
  • RMS = Root Mean Square
  • CSA = Luas Penampang
  • CS = Counter Sunk

Langkah 4: Adaptor Pemrograman Sonoff

Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff
Adaptor Pemrograman Sonoff

Ada dua aspek yang harus dipertimbangkan saat memprogram ulang Sonoff 10A melalui Arduino IDE;

  1. Konfigurasi Arduino IDE Anda untuk memprogram ESP8266,
  2. Tindakan memprogram perangkat keras itu sendiri.

Mengkonfigurasi Arduino IDE Anda untuk memprogram ESP8266

Untuk mengonfigurasi IDE Ardino Anda, ikuti instruksi di sini Menyiapkan Arduino IDE untuk Memprogram ESP8266-01

Memprogram perangkat keras

Ini adalah proses multi-langkah seperti dalam semua kasus dengan ESP8266. Di sini, daya Sonoff diterapkan ke papan melalui suplai DC 3v3 eksternal yang distabilkan dan BUKAN dari suplai utama. Perangkat USB ke serial akan diperlukan untuk mengirim dan menerima data ke dan dari Sonoff. Hubungkan TX dan RX seperti yang ditunjukkan pada Gambar 2 & 4.

Langkah Pemrograman (umum)

  1. Pertama, pastikan tidak ada daya listrik eksternal yang diterapkan ke Sonoff,
  2. Tekan dan tahan tombol pada perangkat Sonoff. (gambar 1 di atas, bertanda tombol re-flash),
  3. Terapkan suplai DC 3v3 eksternal ke pin 1. (gambar 2 di atas),
  4. Lepaskan tombol Sonoff,
  5. Perangkat sekarang dapat diprogram ulang dengan cara biasa melalui Arduino IDE.

Untuk mempermudah, saya membuat perangkat pemrograman di atas (gambar 3 dan 4) yang dihubungkan ke Sonoff melalui kabel harness SK1…3 (seperti yang dijelaskan dalam Langkah 1 yang Dapat Diinstruksikan ini). Ini memungkinkan pemrograman ESP8266 lebih mudah. Ini juga menyediakan sarana pengujian GPIO14 sebagai input melalui penggunaan R1 resistor pull up 4K7 dan tombol S1.

Menggunakan perangkat pemrograman di atas (Gambar 3 & 4) Langkah Pemrograman adalah,

  1. Tekan dan tahan tombol re-flash pada Sonoff,
  2. Pulse suplai 3v3 dengan menekan S2 sebentar,
  3. Lepaskan tombol flash ulang,
  4. Perangkat sekarang dapat diprogram.

CATATAN - PERINGATAN

Dalam keadaan NO, daya harus disuplai melalui Induk selama aktivitas pemrograman ulang Sonoff

Langkah 5: Ikhtisar Sistem Perangkat Lunak

Ikhtisar Sistem Perangkat Lunak
Ikhtisar Sistem Perangkat Lunak
Ikhtisar Sistem Perangkat Lunak
Ikhtisar Sistem Perangkat Lunak

Perangkat Pengendali Listrik IoT ini sebagian besar berisi enam komponen perangkat lunak utama yang sama seperti pada Sensor Suhu dan Kelembaban WiFi IoT yang Dapat Diinstruksikan. Part: 8 IoT, Home Automation dan ditunjukkan pada gambar 1 di atas, dengan beberapa penyesuaian.

SPIFFS

Ini adalah Sistem Pengarsipan Flash SPI on-board (ditingkatkan ke 4MBytes) dan digunakan untuk menyimpan informasi berikut (lihat gambar 2 di atas);

  • Ikon dan html 'Halaman Beranda Konfigurasi Pengontrol Utama': Dilayani oleh perangkat IoT ketika tidak dapat terhubung ke jaringan WiFi IoT Anda (biasanya karena informasi keamanan yang salah) dan memberi pengguna sarana untuk mengonfigurasi pengontrol listrik dari jarak jauh tanpa kebutuhan untuk memprogram ulang atau mengunggah konten SPIFFS baru.
  • Informasi Keamanan: Ini menyimpan informasi yang digunakan saat dihidupkan oleh perangkat IoT untuk terhubung ke jaringan WiFi IoT dan Pialang MQTT Anda. Informasi yang dikirimkan melalui 'Halaman Utama Konfigurasi Pengontrol Utama' ditulis ke file ini ('secvals.txt').

Catatan: Untuk awalnya mengatur perangkat, lihat di sini untuk detail lengkap tentang cara menggunakan SPIFFS dengan Arduino IDE.

Server mDNS

Fungsionalitas ini dipanggil ketika perangkat IoT gagal terhubung ke jaringan WiFi Anda sebagai stasiun WiFi dan sebagai gantinya telah menjadi titik akses WiFi sesuatu yang mirip dengan router WiFi domestik. Dalam kasus router seperti itu, Anda biasanya akan terhubung dengannya dengan memasukkan Alamat IP seperti 192.168.1.1 (biasanya dicetak pada label yang ditempelkan pada kotak) langsung ke bilah URL browser Anda di mana Anda akan menerima halaman login untuk masuk nama pengguna dan kata sandi untuk memungkinkan Anda mengonfigurasi perangkat. Untuk ESP8266 dalam mode AP (mode Titik Akses) perangkat default ke alamat IP 192.168.4.1, namun dengan server mDNS berjalan Anda hanya perlu memasukkan nama ramah manusia 'MAINSCON.local' ke dalam bilah URL browser untuk melihat 'Halaman Beranda Konfigurasi Pengontrol Utama'.

Klien MQTT

Klien MQTT menyediakan semua fungsionalitas yang diperlukan untuk; terhubung ke broker MQTT jaringan IoT Anda, berlangganan topik pilihan Anda dan publikasikan muatan ke topik tertentu. Singkatnya, ini menyediakan fungsionalitas inti IoT.

Server Web

Seperti disebutkan di atas, jika perangkat IoT tidak dapat terhubung ke jaringan WiFi yang SSID, P/W, dll. ditentukan dalam file Informasi Keamanan yang disimpan di SPIFFS, perangkat akan menjadi Titik Akses. Setelah terhubung ke jaringan WiFi yang disediakan oleh Access Point, kehadiran Server Web HTTP memungkinkan Anda untuk langsung terhubung ke perangkat dan mengubah konfigurasinya melalui penggunaan Browser Web HTTP, tujuannya adalah untuk menyajikan 'Konfigurasi Pengontrol Utama Halaman web Home Page yang juga diadakan di SPIFFS.

Stasiun WiFi

Fungsionalitas ini memberi perangkat IoT kemampuan untuk terhubung ke jaringan WiFi domestik menggunakan parameter dalam file Informasi Keamanan, tanpa ini perangkat IoT Anda tidak akan dapat berlangganan/memublikasikan ke Pialang MQTT

Titik Akses WiFi

Kemampuan untuk menjadi Titik Akses WiFi adalah cara perangkat IoT memungkinkan Anda untuk terhubung dan membuat perubahan konfigurasi melalui stasiun WiFi dan browser (seperti Safari di Apple iPad). Titik akses ini menyiarkan SSID = "MAINSCON" + 6 digit terakhir dari alamat MAC perangkat IoT. Kata sandi untuk jaringan tertutup ini secara imajinatif bernama 'PASSWORD'.

Langkah 6: Ikhtisar Perangkat Lunak

Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak
Ikhtisar Perangkat Lunak

PembukaanUntuk berhasil mengkompilasi kode sumber ini, Anda memerlukan pustaka tambahan berikut;

PubSubClient.h

  • Oleh: Nick O'Leary
  • Tujuan: Memungkinkan perangkat untuk mempublikasikan atau berlangganan topik MQTT dengan Broker tertentu
  • Dari:

Bounce2.h

  • Oleh: Thomas O Fredericks
  • Tujuan: Saklar input tidak terpental dalam perangkat lunak
  • Dari:

Ikhtisar Kode

Perangkat lunak ini menggunakan mesin negara seperti yang ditunjukkan pada gambar 1 di atas (salinan lengkap dari sumber yang diberikan di bawah). Ada 5 negara bagian utama sebagai berikut;

  • INIT

    Status inisialisasi ini adalah status pertama yang dimasukkan setelah power up

  • NOCONFIG

    Status ini dimasukkan jika setelah dinyalakan, file secvals.txt yang tidak valid atau hilang terdeteksi

  • TERTUNDA NW

    Status ini bersifat sementara, dimasukkan saat tidak ada koneksi jaringan WiFi

  • MQTT TERTUNDA

    Status ini bersifat sementara, dimasukkan setelah koneksi jaringan WiFi dibuat dan sementara tidak ada koneksi ke broker MQTT di jaringan itu

  • AKTIF

    Ini adalah status operasional normal yang dimasukkan setelah koneksi jaringan WiFi dan koneksi MQTT Broker dibuat. Selama keadaan ini, Pengendali Induk akan memublikasikan ke Broker MQTT dan menerima perintah melalui topik langganan

Peristiwa mengendalikan transisi antar negara dijelaskan dalam gambar 1 di atas. Transisi antar negara bagian juga diatur oleh parameter SecVals berikut;

  • Alamat IP Pialang MQTT Pertama. Dalam bentuk desimal bertitik AAA. BBB. CCC. DDD
  • Pelabuhan Pialang MQTT ke-2. Dalam bentuk bilangan bulat.
  • Koneksi Broker MQTT ke-3 mencoba dilakukan sebelum beralih dari mode STA ke mode AP. Dalam bentuk bilangan bulat.
  • SSID Jaringan WiFi ke-4. Dalam teks bentuk bebas.
  • Kata Sandi Jaringan WiFi ke-5. Dalam teks bentuk bebas.

Seperti disebutkan di atas jika perangkat IoT tidak dapat terhubung sebagai Stasiun WiFi ke jaringan WiFi yang SSID dan P/W-nya ditentukan dalam secvals.txt yang disimpan di SPIFFS, perangkat akan menjadi Titik Akses. Setelah terhubung ke jalur akses ini, ia akan menampilkan 'Halaman Utama Konfigurasi Pengontrol Utama' seperti yang ditunjukkan di atas pada Gambar 2 (dengan memasukkan 'MAINSCON.local' atau 192.168.4.1 ke bilah alamat URL browser Anda). Halaman beranda ini memungkinkan konfigurasi ulang pengontrol listrik melalui browser

Konvensi penamaan topik MQTT

Diuraikan dalam gambar 3 di atas adalah konvensi penamaan yang digunakan untuk topik MQTT dan konsisten dengan pola yang digunakan dalam Instruksi saya sebelumnya (di sini Langkah 5).

Topik MQTT yang digunakan oleh perangkat IoT ini

Untuk kejelasan, saya telah mendokumentasikan (gambar 4) topik dan urutan pesan terkait yang diterbitkan/berlangganan perangkat ini. Gambar tersebut juga menggambarkan interaksi dengan tombol kontrol putih di bagian luar enklosur (meskipun ironisnya tombol tersebut ditampilkan dalam warna merah).

Akses Remote Config saat dalam keadaan AKTIF

Setelah terhubung ke MQTT Broker, dimungkinkan untuk mengonfigurasi ulang parameter keamanan perangkat dari jarak jauh melalui publikasi topik MQTT. File terkait secvals.txt memiliki akses tulis saja yang terbuka.

Debug pengguna

Selama urutan boot, perangkat Sonoff yang dipimpin memberikan umpan balik debug berikut, meskipun perlu dicatat, untuk melihat ini Anda harus melepas penutup dan mengekspos sirkuit sehingga hanya disarankan untuk melakukannya saat mengembangkan kode Anda dan menyalakan perangkat dengan pasokan 3v3;

  • 1 Flash singkat: Tidak ada file Config yang terletak di SPIFFS (secvals.txt),
  • 2 Berkedip singkat: Perangkat IoT mencoba terhubung ke jaringan WiFi,
  • Penerangan terus menerus: Perangkat Sonoff IoT mencoba terhubung ke MQTT Broker,
  • Off: Perangkat aktif dan terhubung ke MQTT Broker.

Catatan 1: 'Halaman Utama Konfigurasi Pengontrol Utama' tidak menggunakan soket aman dan oleh karena itu bergantung pada keamanan jaringan Anda.

Catatan 2: Untuk memprogram beberapa perangkat IoT, string MQTT akan memerlukan pengeditan sebelum mengunduh ke setiap perangkat. Ini karena nomor id pengontrol listrik telah disematkan ke dalam string topik MQTT. yaitu. dalam perangkat lunak yang diterbitkan saya memilih nilai 100: 'WFD/MainsCont/100/Relay/Command/1' dan untuk 2 perangkat saya masing-masing diberi nomor 1 & 2.

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

Catatan 3: Untuk kelengkapan saat dalam keadaan AKTIF, perangkat lunak IoT memungkinkan kontrol LED Sonoff dan penerbitan status tombol flash ulang. Meskipun ini hanya bernilai selama proses debug karena tidak ada yang diekspos ke pengguna selama operasi normal.

Langkah 7: Konfigurasi OpenHAB

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

Untuk tujuan pengujian, saya memutuskan untuk menggunakan dua pengontrol listrik di 'Ruang Tamu' rumah saya. Halaman OpenHAB ini dapat diakses melalui halaman situs utama seperti pada gambar 1.

Saya memodifikasi konfigurasi OpenHAB.sitemap yang diberikan dalam Instructable saya sebelumnya (di sini) dan menambahkan entri individual untuk 'Mains Controller 1' dan 'Mains Controller 2' (gambar 2 di atas). Saya juga menambahkan entri (Lanjutan Induk Ruang Tamu 1 & 2) untuk menampilkan Tren RSSI yang diukur pada penerima dua perangkat IoT baru (gambar 3).

Akhirnya, saya menambahkan entri ke file.rules dan.items untuk memungkinkan sinkronisasi status dinamis Sonoff dan pembaruan/animasi upaya buruk saya pada grafik sakelar (sakelar menutup saat aktif dan terbuka saat tidak aktif). Gambar 2 memberikan contoh MC1 aktif dan MC2 tidak aktif.

Catatan 1: Jika Anda tidak yakin bagaimana menggunakan OpenHAB, lihat di sini 'Mengatur dan Mengonfigurasi OpenHAB. Bagian 6: IoT, Otomatisasi Rumah'

Catatan 2: Salinan peta situs yang dimodifikasi, file aturan dan item, Ikon, dll. diberikan dalam file zip di bawah ini.

Catatan 3: RSSI = Indikasi Kekuatan Sinyal yang Diterima. Ini adalah ukuran seberapa baik perangkat IoT dapat melihat jaringan WiFi Anda.

Langkah 8: Menguji Perangkat IoT Anda

Image
Image
Menguji Perangkat IoT Anda
Menguji Perangkat IoT Anda

Seperti yang dijelaskan dalam Sensor Suhu dan Kelembaban WiFi IoT yang Dapat Diinstruksikan. Bagian: 8 IoT, Otomasi Rumah Langkah 7, pengujian awal perangkat IoT dilakukan melalui koneksi MQTT melalui MQTT Spy (seperti pada diagram blok sistem gambar 1 di atas), memantau output yang dipimpin, input tombol (tombol flash ulang Sonoff dan tombol eksternal putih) dan debug lalu lintas pada antarmuka serial. Ini memungkinkan saya untuk menggunakan semua topik langganan yang tersedia dan memeriksa tanggapan yang dipublikasikan. Meskipun sekali lagi, ini dilakukan secara manual dan memakan waktu, meskipun memungkinkan cakupan 100% dari pesan/publikasi topik.

Karena mesin status perangkat lunak utama (Langkah 6 di atas) diwarisi dari Instruksi sebelumnya (Bagian: 8) selain pemeriksaan kewarasan, perangkat lunak dapat terhubung ke WiFi N/W dan Broker MQTT, diasumsikan ini berfungsi dengan benar.

Pengujian tingkat sistem penuh kemudian diselesaikan menggunakan pengontrol listrik dan infrastruktur IoT (sekali lagi gambar 1) kali ini menggunakan OpenHAB untuk mengontrol interaksi dengan perangkat IoT. Perangkat keras IoT dan pengaturan beban dummy dapat dilihat pada gambar 2 di atas.

Video tersebut memberikan rincian lengkap pengujian sistem dan dengan jelas menunjukkan sinkronisasi yang dipertahankan antara perangkat OpenHAB (PC/Chrome dan iPad/OpenHAB APP) secara real time. Ini juga menunjukkan pesan langsung ke Pengendali Induk melalui MQTTSpy (lihat di sini untuk perincian lebih lanjut Menyiapkan Pialang MQTT. Bagian 2: IoT, Otomasi Rumah) dan log sistem berekor OpenHAB dari server raspberry pi melalui koneksi Putty SSH (lihat di sini untuk informasi lebih lanjut detail Menyiapkan dan Mengonfigurasi OpenHAB Bagian 6: IoT, Otomatisasi Rumah).

Catatan: Lalu lintas debug dikompilasi untuk rilis perangkat lunak final.

Langkah 9: Kesimpulan

Umum

Proyek ini relatif mudah diselesaikan dan bekerja dengan baik. Perangkat lunak yang disematkan mudah diproduksi, menjadi versi pengurangan kode yang digunakan untuk Sensor Suhu dan Kelembaban Bagian 8 dalam seri ini.

Awalnya saya bermaksud untuk hanya membeli bagian komponen putih semata-mata untuk kualitas estetikanya. Saya mencapai ini di semua kecuali tombol kontrol, coba semampu saya, saya tidak dapat mencari tombol putih yang bagus/murah.

Perangkat Sonoff 10A

Saya telah mencantumkan di bawah ini apa yang menurut saya Pro dan Kontra yang wajar dari perangkat Sonoff

kelebihan

  • Murah.
  • Dukungan masyarakat yang baik.
  • Dapat memprogram ulang melalui Arduino IDE.

Kontra

  • Kandang yang rapuh.
  • I/O Minimal (dibawa ke konektor yang dapat digunakan).
  • Ini berjalan panas dalam keadaan diam itu.
  • Hanya memiliki 1MByte flash SPI on-board.
  • Apakah PITA untuk memprogram ulang setelah kabel di tempat.
  • Saat mengintegrasikan kode baru ke dalam pengujian Sonoff, penutupan relai bermasalah karena relai 5v dan suplai yang diterapkan ke Sonoff untuk pemrograman adalah 3v3. Aktivasi relai hanya dapat dirasakan oleh telinga.

Kekhawatiran

  • Itu tidak mengubah garis Netral. Menggunakan relai SPST.
  • Tidak menyatu.
  • Relief tegangan kabel yang buruk.
  • PCB tidak diamankan di dalam enklosur Sonoff.

Komentar tentang desain teknik

Mengingat perangkat IoT ini akan digunakan untuk mengganti listrik Inggris langsung (240VAC RMS), saya mengikuti praktik desain mekanik dan elektrik yang baik dan memastikan risiko kejutan diminimalkan dengan tidak memaparkan bahan konduktif listrik apa pun, menentukan semua komponen secara berlebihan, menurunkan peringkat beban keluaran, menerapkan perlindungan sekering ke Kontroler Induk dan Sub-Sistem Opto-Coupled, penyertaan pembumian tak terputus yang baik, dan menggunakan isolasi optik/galvanik.

Kemungkinan Peningkatan

Dengan melihat ke belakang, akan berguna untuk menyertakan indikasi visual bahwa output Kontroler Induk aktif (LED atau Neon). Meskipun tidak menjadi masalah dalam penggunaan sehari-hari, mengingat praktik standar untuk mengisolasi beban dari suplai sebelum perawatan dilakukan, atau menekan tombol kontrol lokal sederhana akan mengaktifkan output jika lampu dapat menyala saat dicolokkan.

Catatan akhir

Jika Anda ingin melihat dua contoh yang sangat buruk dalam menangani listrik utama, periksa tautan di bawah ini. Penghargaan Darwin mereka akan segera diumumkan, saya yakin;

  • Kabel Ekstensi Ilmuwan Gila
  • Umpan Balik Komunitas 03 - Masalah Keamanan Listrik!

Langkah 10: Referensi Digunakan

Saya menggunakan sumber berikut untuk menyatukan Instructable ini;

PubSubClient.h

  • Oleh: Nick O'Leary
  • Tujuan: Memungkinkan perangkat untuk mempublikasikan atau berlangganan topik MQTT dengan Broker tertentu
  • Dari:

Bounce2.h

  • Oleh: Thomas O Fredericks
  • Tujuan: Saklar input tidak terpental dalam perangkat lunak
  • Dari:

SPIFFS

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

Memutakhirkan flash Sonoff

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

Diagram Sirkuit Sonoff

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

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

Penghargaan Darwin (relief ringan)

https://www.darwinawards.com/

Lembar data Opto-isolator TIL111

Direkomendasikan: