Daftar Isi:
- Langkah 1: Ikhtisar Sirkuit
- Langkah 2: Sonoff RetroMods
- Langkah 3: Detail Konstruksi dan Perakitan
- Langkah 4: Adaptor Pemrograman Sonoff
- Langkah 5: Ikhtisar Sistem Perangkat Lunak
- Langkah 6: Ikhtisar Perangkat Lunak
- Langkah 7: Konfigurasi OpenHAB
- Langkah 8: Menguji Perangkat IoT Anda
- Langkah 9: Kesimpulan
- Langkah 10: Referensi Digunakan
Video: Pengontrol Listrik IoT. Bagian 9: IoT, Otomatisasi Rumah: 10 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
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 dari Sonoff 10A di sini
- 1 off regulator tegangan 7805L 5v di sini
- 1 dari 240/6VAC 1.5VA Transformator di sini
- 2 off 0.1 kapasitor keramik di sini
- 1 off 1000uF @25v Kapasitor Elektrolit di sini
- 1 off Bridge rectifier 2W01 di sini
- 2 off resistor 4K7 di sini
- 1 dari resistor 330R di sini
- 1 off tombol SPST di sini
- 1 dari Mulitcomp BM12W ABS Enclosure di sini
- 1 off TIL111 opto-coupler di sini
- 1 dari blok terminal 3-Arah di sini
- 1 dari konektor molex berkode 2-arah di sini/di sini
- 1 dari konektor molex berkode 3-Arah di sini/di sini
- 1 dari konektor molex berkode 5 arah di sini / di sini
- 1 dari pin Molex 5-Arah di sini
- Diskon 1 Winbond SPI Flash (W25Q32FVSIG) di sini
- 1 dari dudukan sekering 20mm + tutup di sini
- 1 dari 20mm pukulan cepat sekering 500mA di sini
- 2 dari kelenjar kabel Poliamida di sini
- 1 dari steker Listrik Inggris (BS1363/A) di sini
- 1 dari soket Utama UK (BS1363/A) di sini
- 7 dari sekrup nilon M3 16mm CS, (termasuk 10 mur) di sini/sini
- 2 off ikatan Zip di sini
- 1 off veroboard (0,1 "pitch) di sini
- 1 off Berbagai panjang 22swg kawat tembaga kaleng di sini
- 1 potong kabel listrik 3M White UK di sini
- 10 dari crimp soket Molex di sini
Programmer Sonoff
- 1 dari regulator tegangan LD33CV 3v3 di sini
- 1 off TO-220 heatsink di sini
- 1 dari pasta Heatsink di sini
- 1 off 10uF @ 16v Kapasitor elektrolit di sini
- 1 dari 0,1 kapasitor keramik di sini
- 1 off tombol SPDT di sini
- 1 dari resistor 4K7 di sini
- 1 dari konektor molex berkode 2-arah di sini/di sini
- 1 dari konektor molex berkode 3-Arah di sini/di sini
- 5 dari crimp soket Molex di sini
- 1 dari soket molex 6-arah di sini
- 1 off tombol SPST di sini
- 1 dari soket PSU 2.1mm di sini
- 1 off veroboard (0,1 "pitch) di sini
- 1 dari USB ke adaptor serial (FTDI) di sini
Perangkat lunak apa yang saya butuhkan?
- Arduino IDE 1.6.9 di sini
- Arduino IDE dikonfigurasi untuk memprogram ESP8266. Lihat disini; Menyiapkan Arduino IDE untuk Memprogram ESP8266-01
Alat apa yang saya butuhkan?
- besi solder,
- Bor & berbagai mata bor (termasuk pemotong lubang berundak untuk kelenjar kabel dan tombol kontrol),
- Obeng (berbagai),
- Kunci pas yang dapat disesuaikan (dua lepas, lebar rahang >25mm, untuk kelenjar kabel),
- File (berbagai),
- Wakil yang kokoh,
- senapan panas,
- DMM (sebaiknya CAT IV).
Keterampilan apa yang saya butuhkan?
- Pemahaman yang baik tentang elektronik dan keamanan / desain / kabel listrik rumah dll.,
- Pengetahuan tentang Arduino dan IDE-nya,
- Keterampilan fabrikasi yang baik (solder, pengarsipan, pengeboran, dll.),
- Beberapa Kesabaran,
- 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
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
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
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
Ada dua aspek yang harus dipertimbangkan saat memprogram ulang Sonoff 10A melalui Arduino IDE;
- Konfigurasi Arduino IDE Anda untuk memprogram ESP8266,
- 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)
- Pertama, pastikan tidak ada daya listrik eksternal yang diterapkan ke Sonoff,
- Tekan dan tahan tombol pada perangkat Sonoff. (gambar 1 di atas, bertanda tombol re-flash),
- Terapkan suplai DC 3v3 eksternal ke pin 1. (gambar 2 di atas),
- Lepaskan tombol Sonoff,
- 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,
- Tekan dan tahan tombol re-flash pada Sonoff,
- Pulse suplai 3v3 dengan menekan S2 sebentar,
- Lepaskan tombol flash ulang,
- 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
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
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
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
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:
Otomatisasi Rumah Generasi Berikutnya Menggunakan Eagle Cad (Bagian 1 - PCB): 14 Langkah
Otomatisasi Rumah Generasi Berikutnya Menggunakan Eagle Cad (Bagian 1 - PCB): Pendahuluan: Mengapa saya katakan generasi berikutnya: karena menggunakan beberapa komponen yang jauh lebih baik daripada perangkat otomatisasi rumah tradisional. Itu dapat mengontrol peralatan dengan: Panel Sentuh Perintah Suara Google pada Kontrol Perangkat dari aplikasi
Otomatisasi Rumah Menggunakan Raspberry Pi Matrix Voice dan Snips (Bagian 2): 8 Langkah
Otomatisasi Rumah Menggunakan Raspberry Pi Matrix Voice dan Snip (Bagian 2): Pembaruan Otomatisasi Rumah Menggunakan Raspberry Pi Matrix Voice dan Snips. Dalam PWM ini digunakan untuk mengendalikan LED eksternal dan motor ServoSemua rincian diberikan di bagian 1https://www.instructables.com/id/Controlling-Light
Sintesis Pidato Retro. Bagian: 12 IoT, Otomatisasi Rumah: 12 Langkah (dengan Gambar)
Sintesis Pidato Retro. Bagian: 12 IoT, Otomatisasi Rumah: Artikel ini adalah yang ke-12 dalam seri tentang otomatisasi rumah Instruksi yang mendokumentasikan cara membuat dan mengintegrasikan Perangkat Sintesis Pidato Retro IoT ke dalam sistem otomatisasi rumah yang ada, termasuk semua fungsi perangkat lunak yang diperlukan untuk mengaktifkan
Otomatisasi Rumah Dengan Android dan Arduino: Buka Gerbang Saat Anda Tiba di Rumah: 5 Langkah
Home Automation With Android and Arduino: Open the Gate When You Get Home: Instructable ini adalah tentang pengaturan sistem otomatisasi rumah yang dikendalikan melalui smartphone, menggunakan koneksi internet, sehingga dapat diakses dari mana pun Anda membutuhkannya. Selain itu, ia akan melakukan tindakan tertentu setiap kali kriteria m
Sensor Suhu dan Kelembaban WiFi IoT. Bagian: 8 IoT, Otomatisasi Rumah: 9 Langkah
Sensor Suhu dan Kelembaban WiFi IoT. Part: 8 IoT, Home Automation: PreambleArtikel ini mendokumentasikan ruggedisation praktis dan pengembangan selanjutnya dari Instructable sebelumnya: 'Pimping' Perangkat WiFi IoT pertama Anda. Bagian 4: IoT, Otomatisasi Rumah termasuk semua fungsi perangkat lunak yang diperlukan untuk memungkinkan keberhasilan