Daftar Isi:

MQTT/Google Home DoorBell Menggunakan ESP-01: 6 Langkah
MQTT/Google Home DoorBell Menggunakan ESP-01: 6 Langkah

Video: MQTT/Google Home DoorBell Menggunakan ESP-01: 6 Langkah

Video: MQTT/Google Home DoorBell Menggunakan ESP-01: 6 Langkah
Video: The Smallest WiFi Button in the World (ESP8266, MQTT, IFTTT) 2024, November
Anonim
MQTT/Google Home DoorBell Menggunakan ESP-01
MQTT/Google Home DoorBell Menggunakan ESP-01

Pernahkah Anda melewatkan menjawab tamu yang membunyikan bel pintu Anda hanya karena Anda berada di bagian rumah yang terlalu jauh untuk mendengar bunyi bel pintu? seperti ruang bawah tanah, kamar tidur pintu tertutup, atau mungkin Anda sedang menonton TV atau mendengarkan musik.

Jika seperti saya, Anda memiliki satu atau lebih speaker rumah google di beberapa lokasi di seluruh rumah Anda, instruksi ini mungkin yang Anda butuhkan.

Dalam Instruksi ini saya akan menunjukkan kepada Anda cara menambahkan klien MQTT ke bel pintu yang ada untuk berkomunikasi dengan broker MQTT dengan pengumuman ke google home / pushbullet, menggunakan NodeRED. Proyek ini tidak menggantikan sakelar bel pintu atau lonceng. Masih menggunakan tombol mekanis biasa untuk bel pintu.

Kami akan menambahkan modul ESP-01 ke dalam sistem bel pintu 16VAC yang ada menambahkan fungsionalitas MQTT untuk mengirim pesan ke broker MQTT (ketika sakelar bel pintu ditekan). Broker MQTT akan menyampaikan pesan ke NodeRED. Setelah menerima pesan MQTT, NodeRED akan mengirimkan pengumuman ke beberapa perangkat google home dan juga secara opsional mengirim pesan ke ponsel/browser melalui pushbullet.

Saya memiliki hasrat untuk otomatisasi rumah DIY, dan perlahan menambahkan IOT ke rumah saya. Google home telah menjadi salah satu fungsi utama dalam otomatisasi rumah saya.

Anak saya memberi saya ide untuk proyek ini ketika dia bertanya apakah saya bisa membuat google home mengumumkan setiap kali seseorang membunyikan bel pintu kami. Kami memiliki 2 lantai + menyelesaikan basement rumah, dan sering kali kami tidak dapat mendengar bunyi lonceng ketika kami berada di basement atau lantai atas di kamar tidur dengan pintu tertutup atau dengan TV menyala.

Kami memiliki 4 google home mini di rumah kami yang ditempatkan di berbagai tempat/ruangan, dan dengan menggunakan google home untuk mengumumkan bel pintu, kami langsung tahu di mana saja di rumah jika seseorang membunyikan bel pintu.

Di rumah saya, saya menggunakan RaspberryPi ZeroW untuk meng-host server Mosquitto MQTT dan NodeRED. Sudah berjalan lebih dari setahun tanpa masalah.

Referensi:

  • Diagram pengkabelan bel pintu:
  • Instal Mosquitto MQTT Broker di Raspberry Pi:
  • Instal NodeRED di Raspberry Pi:

Langkah 1: Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime

Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime
Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime
Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime
Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime
Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime
Buat Sirkuit untuk Menghubungkan ESP-01 dan Door Chime

Langkah pertama adalah membuat sirkuit yang akan menjadi antarmuka antara ESP-01 dan Door Chime. Lonceng pintu tipikal diaktifkan ketika ada 16VAC antara Pin "TRANS(bekas)" dan "FRONT/REAR" seperti yang ditunjukkan pada foto pertama saya. Tegangan muncul pada pin tersebut ketika tombol bel pintu ditekan.

Rangkaian yang saya rancang adalah untuk merasakan sinyal 16VAC ini dan mengubahnya menjadi sinyal digital sekitar 3.3VDC. Ini adalah penyearah setengah gelombang dasar yang dibentuk oleh D1 dan C1. Kita tidak perlu memiliki penyearah gelombang penuh dalam situasi ini karena sangat sedikit pembebanan ke output DC, menghemat sedikit real-estate di papan tulis. Saya ingin membuat papan sesedikit mungkin sehingga saya dapat menempatkannya di dalam lonceng saya yang sudah ada.

R1 dan R2 membentuk pembagi tegangan untuk menurunkan tegangan puncak DC menjadi sekitar 3.3V.

R3, TR1, dan R4 membentuk inverter untuk menyediakan logika terbalik untuk ESP-01 GPIO-2. Ini diperlukan untuk memberikan logika HIGH selama bootup (dengan pull-up R4 dan R5) agar ESP-01 melakukan booting dari flash. Ketika tombol bel pintu ditekan, itu menyajikan logika RENDAH ke GPIO-2. TR1 dapat berupa transistor NPN daya kecil, dalam kasus saya, saya menggunakan 2N3904.

V1 adalah power supply 3.3VDC yang saya buat menggunakan charger handphone 5V lama yang dirangkai dengan regulator AMS1117 3.3VDC yang akan saya tunjukkan pada langkah selanjutnya.

Untuk soket ESP-01, saya menggunakan soket IC standar 8-pin, dan memotong jembatan plastik yang membuat celah di antara baris, lalu merekatkan 2 baris menjadi satu.

Langkah 2: Catu Daya 3.3VDC untuk ESP-01

Catu Daya 3.3VDC untuk ESP-01
Catu Daya 3.3VDC untuk ESP-01
Catu Daya 3.3VDC untuk ESP-01
Catu Daya 3.3VDC untuk ESP-01
Catu Daya 3.3VDC untuk ESP-01
Catu Daya 3.3VDC untuk ESP-01

Pada langkah ini, kita akan membangun catu daya 3.3VDC untuk ESP-01. Saya memiliki beberapa adaptor pengisi daya USB 500mA dan 700mA 5VDC lama yang saya rancang ulang untuk proyek ini. Kami juga membutuhkan regulator 3.3VDC untuk menurunkan tegangan 5V menjadi 3.3V, untuk ini saya menggunakan modul regulator berbasis AMS1117 pre-built murah yang saya beli dari ebay. Anda dapat mencari "modul 3.3V AMS1117" dan menemukan apa yang cocok untuk Anda.

Modul regulator 3.3V ini sangat kecil sehingga saya benar-benar dapat memasukkannya ke dalam penutup pengisi daya USB 5V asli sehingga lebih aman dari kemungkinan korsleting. Saya melepas cabang dinding AC dari modul pengisi daya dan menggantinya dengan dua kabel yang akan dihubungkan ke 120VAC dari dinding di belakang lonceng yang ada. Tapi jangan lepaskan cabang pada langkah ini sampai kita melakukan uji coba pada langkah berikutnya.

Jika ada stopkontak di dekat Anda, atau jika Anda tidak nyaman memasang kabel catu daya langsung ke kabel rumah, Anda dapat secara opsional mencolokkan catu daya yang dimodifikasi ke steker dinding, dan menjalankan kabel ke bel, meskipun itu mungkin tidak terlihat sebersih menghubungkannya langsung ke kabel rumah.

Lihat salah satu foto saya untuk melihat bahwa di belakang lonceng saya adalah kabel 120VAC dan transformator 16VAC untuk lonceng.

Output dari regulator 3.3V kemudian akan terhubung ke papan antarmuka ESP-01 sesuai dengan langkah sebelumnya.

Langkah 3: Mem-flash ESP-01

Pada langkah ini, kita akan mem-flash ESP-01 dengan sketsa arduino. Jika Anda belum pernah menginstal modul ESP-01, Anda dapat mengikuti instruksi saya untuk memulai:

Anda dapat menemukan sketsa saya di halaman github saya:

Dalam sketsa, minimal Anda perlu mengubah informasi berikut yang berkaitan dengan jaringan/pengaturan rumah Anda:

#define MQTT_SERVER "10.0.0.30"const char* ssid1 = "SSID";const char* password1 = "MYSSIDpassword";const char* ssid2 = "SSID1";const char* password2 = "MYSSIDpassword";

Di jaringan rumah saya, saya memiliki 2 titik akses berbeda yang menyiarkan 2 SSID berbeda, dan sketsa ini akan memungkinkan redundansi dengan menghubungkan ke SSID berikutnya jika komunikasi ke AP saat ini terputus. Jika Anda hanya memiliki satu SSID, isi ssid1 dan ssid2 dengan nilai yang sama.

Setelah Anda melakukan modifikasi, unggah sketsa ke ESP-01, dan colokkan ESP-01 ke papan antarmuka.

Langkah 4: Uji Jalan

Uji Coba
Uji Coba
Uji Coba
Uji Coba
Uji Coba
Uji Coba

Dari langkah 1 kami telah membangun papan antarmuka ESP-01, dan dari langkah 2 kami memiliki catu daya 3.3V untuk papan ESP-01. Kami sekarang menghubungkan output catu daya ke papan sesuai dengan diagram sirkuit, yang ditunjukkan sebagai V1.

Sekarang langkah selanjutnya adalah menghubungkan terminal Trans/Door chime ke koneksi papan antarmuka yang ditunjukkan sebagai "Terminal Door Chime". Karena bel saya dipasang tinggi di dinding, untuk uji coba, saya sementara menjalankan sepasang kabel panjang dari terminal bel ke papan sehingga saya dapat mencolokkan catu daya.

Untuk menguji apakah alat kami berfungsi, cara termudah adalah dengan memantau pesan MQTT di jaringan. Untuk melakukan itu, Anda perlu membuka sesi SSH ke broker nyamuk dan mengeluarkan perintah berikut:

mosquitto_sub -v -t '#'

Perintah di atas akan memungkinkan kita untuk melihat semua pesan MQTT yang masuk ke broker.

Sekarang colokkan catu daya ke stopkontak, dan jika semuanya berfungsi, dalam beberapa detik Anda setidaknya akan melihat pesan MQTT berikut:

stat/Bel Pintu/LWT Online

Sekarang pergilah ke luar dan bunyikan bel pintu Anda, dan Anda akan melihat pesan ini:

tele/Bel Pintu AKTIF

Jika Anda melihat pesan-pesan itu, proyek Anda berhasil.

Saya juga menyertakan beberapa topik MQTT yang berguna dalam sketsa yang dapat Anda gunakan:

"stat/DoorBellInfo": pesan ini dikirim setiap menit untuk memberikan waktu aktif dan info lainnya.

"cmnd/DoorBellInfo": ESP-01 akan mengirimkan info jika menerima topik ini dengan nilai '1' (ascii=49)"cmnd/DoorBellCPUrestart": ESP-01 akan restart jika menerima topik ini dengan nilai '1 ' (ascii=49)"cmnd/DoorBellCPUreset": ESP-01 akan direset jika menerima topik ini dengan nilai '1' (ascii=49)

"tele/FrontDoorBell": ESP-01 akan mengirimkan pesan dalam topik ini dengan nilai 'ON' jika bel pintu ditekan

Langkah 5: Mengintegrasikan Papan dan Catu Daya Ke Dalam Lonceng

Mengintegrasikan Papan dan Catu Daya Ke Lonceng
Mengintegrasikan Papan dan Catu Daya Ke Lonceng
Mengintegrasikan Papan dan Catu Daya Ke Lonceng
Mengintegrasikan Papan dan Catu Daya Ke Lonceng
Mengintegrasikan Papan dan Catu Daya Ke Lonceng
Mengintegrasikan Papan dan Catu Daya Ke Lonceng

Sekarang setelah uji coba kami berhasil, kami perlu merakit papan dan catu daya di dalam bel pintu kami (jika memungkinkan). Di lonceng saya yang ada, ada selungkup kosong yang bisa saya buka dan paskan catu daya di dalam ruang itu. Papan ESP-01 tidak muat di dalam ruang kecil itu, tetapi masih muat di dalam kotak bel secara keseluruhan. Saya baru saja menggunakan selotip dua sisi yang tebal untuk memasang papan antarmuka ESP-01.

Sekarang kita dapat melepas cabang logam dari pengisi daya USB dan menggantinya dengan kabel yang lebih tebal yang dapat kita sambungkan ke kabel rumah. Pastikan untuk mematikan pemutus sirkuit Anda yang memasok listrik ke sirkuit berpadu.

Jika tidak ada cukup ruang untuk memasukkan proyek kami ke dalam bel pintu yang ada, Anda harus memasukkannya ke dalam kotak terpisah dan memasangnya di dekat bel pintu.

Langkah 6: Sentuhan Terakhir

Sentuhan Terakhir
Sentuhan Terakhir

Sekarang setelah proyek berjalan dan dapat mempublikasikan pesan MQTT ke broker, langkah selanjutnya adalah memikirkan ide apa yang harus dilakukan dengan itu.

Dalam proyek saya, saya menggunakan Node-RED untuk mendengarkan/berlangganan topik MQTT bel pintu dan mengumumkan ke beberapa speaker rumah google. Selain itu, saya juga menghubungkan aliran ke node pushbullet untuk mengirim pemberitahuan ke ponsel android saya sehingga saya tahu jika ada yang membunyikan bel pintu meskipun saya tidak di rumah. Pemberitahuan pushbullet tidak berguna bagi sebagian orang, tetapi sudah beberapa kali cukup berguna bagi saya, ditambah dengan kamera video di teras depan saya, saya dapat melihat siapa yang datang untuk mengantarkan pengiriman (mereka biasanya membunyikan bel pintu). Saya tidak bisa terlalu mengandalkan fitur pendeteksi gerakan kamera karena berbagai gangguan, terutama bayangan pepohonan yang bergerak.

Gambar pada langkah ini, menunjukkan aliran Node-RED untuk mencapai hal ini. Anda juga dapat menempelkan aliran dari halaman github saya ke Node-RED Anda:

Pengumuman beranda Google hanyalah salah satu contoh untuk proyek ini, tetapi menurut saya ini yang paling berguna dan praktis. Anda selalu dapat berinteraksi dengan pendengar MQTT lainnya, atau bahkan menggunakan IFTTT untuk menggerakkan perangkat lain saat bel pintu ditekan.

Selamat bersenang-senang…

Direkomendasikan: