Isi kandungan:

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

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

Video: MQTT / Google Home DoorBell Menggunakan Langkah ESP-01: 6
Video: Control Relay ESP-01 Module from Smartphone 2024, November
Anonim
MQTT / Google Home DoorBell Menggunakan ESP-01
MQTT / Google Home DoorBell Menggunakan ESP-01

Pernahkah anda terlepas menjawab tetamu yang membunyikan bel pintu anda hanya kerana anda berada di bahagian rumah yang terlalu jauh untuk mendengar bunyi loceng pintu? seperti ruang bawah tanah, bilik tidur tertutup, atau mungkin anda sedang menonton TV atau mendengar muzik.

Sekiranya seperti saya, anda mempunyai satu atau lebih pembesar suara google di beberapa lokasi di seluruh rumah anda, arahan ini mungkin merupakan keperluan anda.

Dalam Instructable ini saya akan menunjukkan kepada anda cara menambahkan klien MQTT ke loceng pintu yang ada untuk berkomunikasi dengan broker MQTT dengan pengumuman ke google home / pushbullet, menggunakan NodeRED. Projek ini tidak menggantikan suis bel pintu dan juga lonceng. Ia masih menggunakan butang mekanikal biasa untuk bel pintu.

Kami akan menambahkan modul ESP-01 ke dalam sistem bel 16VAC yang ada yang menambahkan fungsi MQTT untuk menghantar mesej kepada broker MQTT (apabila suis bel ditekan). Broker MQTT akan menyampaikan mesej ke NodeRED. Setelah menerima mesej MQTT, NodeRED akan menghantar pengumuman ke beberapa peranti rumah google dan juga secara pilihan menghantar mesej ke telefon bimbit / penyemak imbas melalui pushbullet.

Saya mempunyai minat untuk automasi rumah DIY, dan perlahan-lahan menambahkan IOT ke rumah saya. Rumah Google telah menjadi salah satu fungsi utama dalam automasi rumah saya.

Anak saya memberi saya idea untuk projek ini ketika dia bertanya kepada saya jika saya boleh membuat laman web Google mengumumkan setiap kali seseorang membunyikan loceng pintu kami. Kami mempunyai 2 tingkat + rumah bawah tanah yang selesai, dan berkali-kali kami tidak dapat mendengar bunyi getaran ketika kami berada di ruang bawah tanah kami atau di tingkat atas di bilik tidur dengan pintu tertutup atau dengan TV menyala.

Kami mempunyai 4 google home mini di rumah kami yang ditempatkan di pelbagai tempat / bilik, dan dengan menggunakan rumah google untuk mengumumkan loceng pintu, kami dapat mengetahui dengan segera di mana saja di rumah tersebut jika ada yang membunyikan bel pintu.

Di rumah saya, saya menggunakan RaspberryPi ZeroW untuk menjadi tuan rumah pelayan Mosquitto MQTT dan NodeRED. Ia telah berjalan selama lebih dari setahun tanpa sebarang masalah.

Rujukan:

  • Gambar rajah pendawaian bel:
  • Pasang Mosquitto MQTT Broker di Raspberry Pi:
  • Pasang NodeRED pada Raspberry Pi:

Langkah 1: Buat Circuit to Interface ESP-01 dan Door Chime

Buat Circuit to Interface ESP-01 dan Door Chime
Buat Circuit to Interface ESP-01 dan Door Chime
Buat Circuit to Interface ESP-01 dan Door Chime
Buat Circuit to Interface ESP-01 dan Door Chime
Buat Circuit to Interface ESP-01 dan Door Chime
Buat Circuit to Interface ESP-01 dan Door Chime

Langkah pertama ialah membuat litar yang akan menjadi antara muka antara ESP-01 dan Door Chime. Lekapan pintu khas diaktifkan apabila terdapat 16VAC antara pin "TRANS (bekas)" dan "FRONT / REAR" seperti yang ditunjukkan dalam foto pertama saya. Voltan muncul pada pin apabila butang loceng ditekan.

Litar yang saya rancang adalah untuk merasakan isyarat 16VAC ini dan menukarnya menjadi sekitar isyarat digital 3.3VDC. Ia adalah penerus gelombang separuh asas yang dibentuk oleh D1 dan C1. Kami tidak perlu mempunyai penerus gelombang penuh dalam keadaan ini kerana pemuatan output DC sangat sedikit, menjimatkan sedikit harta tanah di papan. Saya mahu membuat papan sesedikit mungkin sehingga saya dapat meletakkannya di dalam lonceng yang ada.

R1 dan R2 membentuk pembahagi voltan untuk menurunkan voltan DC puncak ke sekitar 3.3V.

R3, TR1, dan R4 membentuk penyongsang untuk memberikan logik terbalik untuk ESP-01 GPIO-2. Ini diperlukan untuk memberikan logik TINGGI semasa boot (dengan pull-up R4 dan R5) agar ESP-01 dapat boot dari flash. Apabila butang loceng pintu ditekan, ia menunjukkan logik RENDAH ke GPIO-2. TR1 boleh menjadi transistor NPN kuasa kecil, dalam kes saya, saya menggunakan 2N3904.

V1 adalah bekalan kuasa 3.3VDC yang saya bina menggunakan pengecas telefon bimbit 5V lama yang digabungkan dengan pengatur AMS1117 3.3VDC yang akan saya tunjukkan pada langkah seterusnya.

Untuk soket ESP-01, saya menggunakan soket IC standard 8-pin, dan memotong jambatan plastik yang mewujudkan jurang antara baris, dan kemudian melekatkan 2 baris bersama-sama.

Langkah 2: Bekalan Kuasa 3.3VDC untuk ESP-01

Bekalan Kuasa 3.3VDC untuk ESP-01
Bekalan Kuasa 3.3VDC untuk ESP-01
Bekalan Kuasa 3.3VDC untuk ESP-01
Bekalan Kuasa 3.3VDC untuk ESP-01
Bekalan Kuasa 3.3VDC untuk ESP-01
Bekalan Kuasa 3.3VDC untuk ESP-01

Dalam langkah ini, kita akan membina bekalan kuasa 3.3VDC untuk ESP-01. Saya mempunyai beberapa penyesuai pengecas USB 500mA dan 700mA 5VDC lama yang saya buat semula untuk projek ini. Kami juga memerlukan pengawal selia 3.3VDC untuk menurunkan voltan 5V kepada 3.3V, untuk ini saya menggunakan modul pengatur berasaskan AMS1117 pra-binaan yang murah yang saya beli dari ebay. Anda boleh mencari "modul 3.3V AMS1117" dan mencari yang sesuai untuk anda.

Modul pengatur 3.3V ini sangat kecil sehingga saya dapat memasukkannya ke dalam kandang pengecas USB 5V yang asal menjadikannya lebih selamat daripada litar pintas yang berpotensi. Saya mengeluarkan prong dinding AC dari modul pengecas dan menggantinya dengan dua kabel yang akan disambungkan ke 120VAC dari dinding di belakang pelekap yang ada. Tetapi jangan keluarkan prong pada langkah ini sehingga kita menjalankan ujian pada langkah seterusnya.

Sekiranya terdapat stopkontak di dekatnya, atau jika anda tidak selesa dengan pemasangan kabel kuasa secara langsung ke pendawaian rumah, anda boleh memasangkan bekalan kuasa yang telah diubah suai ke palam dinding, dan memasang kabel ke lonceng, walaupun mungkin tidak kelihatan bersih seperti menyambungkannya secara langsung ke pendawaian rumah.

Lihat salah satu foto saya untuk melihat bahawa di belakang lonceng saya terdapat pendawaian 120VAC dan pengubah 16VAC untuk lonceng.

Keluaran dari pengatur 3.3V kemudian akan disambungkan ke papan antara muka ESP-01 sesuai dengan langkah sebelumnya.

Langkah 3: Memusingkan ESP-01

Pada langkah ini, kita akan memaparkan ESP-01 dengan lakaran arduino. Sekiranya anda tidak pernah memuat naik modul ESP-01, anda boleh mengikuti arahan saya untuk memulakan anda:

Anda boleh mendapatkan lakaran saya di halaman github saya:

Dalam lakaran, sekurang-kurangnya anda perlu mengubah maklumat berikut yang berkaitan dengan rangkaian / persediaan 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 rangkaian rumah saya, saya mempunyai 2 titik akses yang berbeza yang menyiarkan 2 SSID yang berbeza, dan lakaran ini akan membenarkan kelebihan dengan menyambung ke SSID seterusnya jika komunikasi ke AP semasa hilang. Sekiranya anda hanya mempunyai satu SSID, isikan kedua ssid1 dan ssid2 dengan nilai yang sama.

Setelah anda membuat pengubahsuaian, muat naik lakaran ke dalam ESP-01, dan pasangkan ESP-01 ke papan antara muka.

Langkah 4: Jalankan Ujian

Jalankan Ujian
Jalankan Ujian
Jalankan Ujian
Jalankan Ujian
Jalankan Ujian
Jalankan Ujian

Dari langkah 1 kami telah membina papan antara muka ESP-01, dan dari langkah 2 kami mempunyai bekalan kuasa 3.3V untuk papan ESP-01. Kami sekarang menghubungkan output bekalan kuasa ke papan mengikut gambarajah litar, ditunjukkan sebagai V1.

Sekarang langkah seterusnya adalah menghubungkan terminal Trans / Door chime ke sambungan papan antara muka yang ditunjukkan sebagai "Terminal Chime Door". Oleh kerana lonceng saya dipasang tinggi di dinding, untuk ujian, saya buat sementara waktu memasang sepasang kabel panjang dari terminal lonceng ke papan supaya saya dapat memasang bekalan kuasa.

Untuk menguji apakah alat kami berfungsi, yang paling mudah adalah memantau mesej MQTT di rangkaian. Untuk melakukan itu, anda perlu membuka sesi SSH kepada broker nyamuk dan mengeluarkan arahan berikut:

mosquitto_sub -v -t '#'

Perintah di atas membolehkan kita melihat semua mesej MQTT masuk ke broker.

Sekarang pasangkan bekalan kuasa ke stopkontak dinding, dan jika semuanya berfungsi, dalam beberapa saat anda sekurang-kurangnya akan melihat mesej MQTT berikut:

stat / DoorBell / LWT Dalam Talian

Sekarang keluar ke luar dan deringkan loceng pintu anda, dan anda akan melihat mesej ini:

tele / DoorBell AKTIF

Sekiranya anda melihat mesej tersebut, projek anda akan berjaya.

Saya juga memasukkan beberapa topik MQTT yang berguna dalam lakaran yang boleh anda gunakan:

"stat / DoorBellInfo": mesej ini dihantar setiap minit untuk memberi waktu operasi dan maklumat lain.

"cmnd / DoorBellInfo": ESP-01 akan menghantar maklumat jika menerima topik ini dengan nilai '1' (ascii = 49) "cmnd / DoorBellCPUrestart": ESP-01 akan dimulakan semula jika menerima topik ini dengan nilai '1 '(ascii = 49) "cmnd / DoorBellCPUreset": ESP-01 akan diset semula jika menerima topik ini dengan nilai' 1 '(ascii = 49)

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

Langkah 5: Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Padu

Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Lonceng
Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Lonceng
Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Lonceng
Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Lonceng
Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Lonceng
Mengintegrasikan Papan dan Bekalan Kuasa ke dalam Lonceng

Setelah berjaya menjalankan ujian, kita perlu memasang papan dan bekalan kuasa di dalam loceng loceng pintu kita (jika boleh). Dalam lonceng saya yang ada, ada kandang kosong yang dapat saya potong terbuka dan sesuai dengan bekalan kuasa di dalam ruang itu. Papan ESP-01 tidak sesuai di dalam ruang kecil itu, tetapi masih sesuai di dalam kotak berpadu keseluruhan. Saya hanya menggunakan pita dua sisi tebal untuk memasang papan antara muka ESP-01.

Sekarang kita boleh mengeluarkan prong logam dari pengecas USB kita dan menggantinya dengan kabel tebal yang boleh kita sambungkan ke pendawaian rumah. Pastikan mematikan pemutus litar anda yang membekalkan elektrik ke litar berpadu.

Sekiranya tidak ada ruang yang cukup untuk memasukkan projek kami ke pintu pintu yang ada, anda perlu memasukkannya ke dalam kotak berasingan dan memasangnya di dekat pintu pintu.

Langkah 6: Sentuhan Akhir

Sentuhan Akhir
Sentuhan Akhir

Setelah projek ini berjaya dan dapat menerbitkan mesej MQTT kepada broker, langkah seterusnya adalah memikirkan idea apa yang harus dilakukan dengan itu.

Dalam projek saya, saya menggunakan Node-RED untuk mendengar / melanggan topik MQTT bel pintu dan mengumumkan kepada beberapa pembesar suara rumah google. Selain itu, saya juga menghubungkan aliran ke node pushbullet untuk menghantar pemberitahuan ke telefon android saya, jadi saya tahu jika ada yang membunyikan bel pintu walaupun saya tidak berada di rumah. Pemberitahuan Pushbullet tidak berguna bagi beberapa orang, tetapi beberapa kali berguna bagi saya, ditambah dengan kamera video di beranda depan saya, saya dapat melihat siapa yang datang untuk menghantar penghantaran (mereka biasanya membunyikan bel pintu). Saya tidak banyak bergantung pada ciri pengesanan gerakan kamera kerana pelbagai gangguan, terutamanya bayangan pokok yang bergerak.

Gambar pada langkah ini, menunjukkan aliran Node-RED untuk mencapainya. Anda juga boleh menampal aliran dari halaman github saya ke Node-RED anda:

Pengumuman rumah Google hanyalah satu contoh untuk projek ini, tetapi saya rasa ini adalah yang paling berguna dan praktikal. Anda sentiasa boleh berinteraksi dengan pendengar MQTT lain, atau bahkan menggunakan IFTTT untuk menggerakkan peranti lain apabila loceng pintu didorong.

Berseronokā€¦

Disyorkan: