Daftar Isi:

Dorong Bel Pintu dan Sensor Suhu: 6 Langkah
Dorong Bel Pintu dan Sensor Suhu: 6 Langkah

Video: Dorong Bel Pintu dan Sensor Suhu: 6 Langkah

Video: Dorong Bel Pintu dan Sensor Suhu: 6 Langkah
Video: IDEALIFE - Motion Sensor Doorbell - Bell Pintu sensor gerak - IL-306 2024, Juli
Anonim
Dorong Bel Pintu dan Sensor Suhu
Dorong Bel Pintu dan Sensor Suhu

Ini menyempurnakan bel pintu berkabel standar dengan modul esp-12F (esp8266).

Ini dipasang di unit bel itu sendiri untuk menghindari perubahan apa pun pada kabel. Ini menyediakan fungsi-fungsi berikut:

  • Mendeteksi bel pintu mendorong
  • Mengirim pemberitahuan ke telepon melalui IFTTT
  • Menyimpan aktivitas bel pintu di server easyIOT (opsional)
  • Memicu aktivitas lain melalui URL saat bel pintu ditekan

    Saya mengambil snapshot di webcam di dekat pintu dan dapat melihat tangkapan bel pintu terbaru di ponsel saya

  • Sensor suhu tertanam opsional (DS18B20) yang merupakan bagian dari pemantauan suhu rumah saya

Langkah 1: Perangkat Keras dan Bahan

Perangkat Keras dan Bahan
Perangkat Keras dan Bahan
Perangkat Keras dan Bahan
Perangkat Keras dan Bahan

Bahan-bahan berikut diperlukan:

  • Modul wifi / cpu ESP-12F (ESP8266)
  • Konverter DC Buck untuk suplai 3.3V
  • Dioda penyearah (misalnya 1N4001)
  • Kapasitor elektrolit 220uF 35V
  • Kapasitor elektrolit 220uF 16V
  • Dioda Zener 3.3 atau 2.6V
  • Resistor
  • Sepotong papan strip
  • Konektor jika diperlukan
  • Sensor suhu digital DS18B20 jika diperlukan

Skema menunjukkan sirkuit yang digunakan. Ini mengasumsikan bel bertenaga AC tegangan rendah yang merupakan jenis bel sederhana kabel keras yang paling umum. Unit bel mendapat daya dari transformator bel eksternal biasanya sekitar 10V AC. Ini tidak kritis dengan satu-satunya kendala adalah tegangan maksimum ke konverter buck. Yang saya gunakan adalah berbasis MP2307 dengan input maksimum 23V dc (~16V AC).

Biasanya ada 3 terminal aktif. Dengan dorong bel membuat koneksi dari satu sisi suplai AC ke solenoid bel. Modul ini menggunakan dua terminal AC untuk menghasilkan daya DC melalui penyearah setengah gelombang sederhana. Penginderaan bel push adalah dengan memantau tegangan di solenoida yang sebenarnya. Ini akan normal, tetapi ketika bel diaktifkan akan menjadi AC penuh. Sebuah resistor / dioda zener menjepit ini sehingga pulsa 0 - 3.3V 50 Hz diumpankan ke pin GPIO. Perangkat lunak memproses ini untuk memberikan satu aktivasi per bel tekan.

Saya membangun sirkuit pada sedikit papan strip dan ini cukup kecil untuk dengan mudah masuk ke unit bel. Saya menggunakan konektor jumper sederhana agar lebih mudah dipasang dan dimasukkan secara khusus sesuai dengan catu daya AC utama sehingga dapat dengan mudah diatur ulang daya jika diperlukan.

Skema seperti yang ditunjukkan termasuk sensor suhu DS18B20. Ini opsional. Saya menggunakannya sebagai bagian dari pemantauan jaringan di sebagian besar area di rumah saya. Jika disertakan, sebaiknya kabel sensor dengan beberapa sentimeter kabel untuk memungkinkannya diisolasi dari efek pemanasan lokal.

Langkah 2: Perangkat Lunak

Unit dorong pintu menggunakan sketsa Arduino yang tersedia di github

Ini perlu disesuaikan dengan kondisi lokal dan kemudian dikompilasi di lingkungan Arduino esp8266. Pustaka berikut diperlukan, standar atau dapat ditambahkan.

  • ESP8266WiFi
  • Klien Wifi
  • ESP8266WebServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • WifiClientSecure
  • Pembuat IFTTT
  • DNSServer
  • WiFiManager (penggunaan opsional)
  • OneWire
  • DallasSuhu

Item dalam sketsa yang akan diubah meliputi

  • Detail akses wifi lokal (ssid, kata sandi) jika tidak menggunakan WifiManager
  • Kode otorisasi untuk akses web AP_AUTHID. Adalah baik untuk membuat ini menjadi panjang yang layak. Itu dapat berisi karakter alfanumerik.
  • firmware OTA kata sandi update_password
  • Kata sandi WifiManager WM_PASSWORD

    Wifi dapat diatur secara manual dengan mengomentari WM_NAME

  • Kunci pembuat IFTTT (lihat langkah notifikasi)

Perubahan opsional termasuk

  • Mengubah pin input untuk detektor Bel Pintu
  • Mengubah pin untuk sensor suhu
  • Mengubah port akses Web dari default 80

Setelah ini selesai maka pertama-tama harus dikompilasi dan diunggah menggunakan unggahan serial konvensional. Pembaruan selanjutnya dapat dilakukan dengan mengkompilasi biner ekspor di lingkungan Arduino dan kemudian mengakses antarmuka OTA di ip/firmware.

Dorongan bel pintu terdeteksi dalam perangkat lunak dengan mengganggu penginderaan tepi naik dari pulsa pertama dari rangkaian detektor. Semua interupsi berikutnya diabaikan. Batas waktu digunakan untuk mengaktifkan kembali detektor setelah BELL_MIN_INTERVAL yang disetel ke 10 detik.

Aktivitas lain dapat diakses di server web esp8266

  • ip/recent menunjukkan aktivitas bel pintu baru-baru ini
  • ip/reloadConfig memuat ulang espConfig
  • ip/bellPush mensimulasikan bel push

Langkah 3: Konfigurasi

Saat dibangun, perangkat lunak mendapatkan konfigurasinya dari server web lokal. Modul memuat data konfigurasi berdasarkan Alamat Mac-nya. Ini membuatnya sangat nyaman untuk menjalankan beberapa modul menggunakan biner yang sama, dan juga memudahkan untuk memperbarui konfigurasi tanpa mengkompilasi ulang. Dimungkinkan untuk melewati ini dan memasukkan data konfigurasi langsung ke dalam kode.

Saya menyimpan file konfigurasi di server EasyIOT saya yang memiliki folder di easyIOT/html di mana file konfigurasi dapat diambil dengan mudah.

File tersebut disebut espConfig dan merupakan file teks sederhana yang menyimpan sejumlah parameter (12) untuk setiap kemungkinan alamat Mac. Modul hanya memuat parameter yang disetel untuk alamat Mac-nya.

Contoh dari file tersebut adalah

#Aula

#Alamat Mac123456ABCDEF

#nama modul

esp8266-aula

#server mode mask (1=temp sense, 4 = boilermode, 4 = bel pintu)

9

Node #EIOT untuk suhu

N9S0

#tidak terpakai

-1

# interval suhu minimum dalam hitungan detik

60

#interval suhu maksimum dalam hitungan detik

300

#interval daya boiler

0

#Node daya boiler EasyIOT

-1

#Simpul tekan bel EasyIOT

N10S0

# IFTTT beri tahu nilai

depan

#IFTTT beri tahu nama acara

bel pintu

#URL tindakan

192.168.0.2/snap.php

Setiap baris yang dimulai dengan # diabaikan. Semua lini harus ada. -1 digunakan untuk parameter yang diabaikan.

File konfigurasi dibaca ketika modul pertama kali dijalankan. Itu juga dapat dimuat ulang dalam sistem yang sedang berjalan (ketika konfigurasi telah diubah) dengan mengakses ip/reloadConfig

Bagian mode boiler dari konfigurasi tidak relevan di sini tetapi digunakan dalam sensor suhu saya yang terpasang pada output pipa heatin pusat karena mendeteksi ketika boiler memanas dan dapat menghitung konsumsi daya rata-rata.

Langkah 4: Pemberitahuan

Ketika dorongan bel pintu terdeteksi maka ia mencoba memberi tahu ini dengan IFTTT atau PushOver. Saya sekarang PushOver karena memberikan respons yang lebih cepat.

Untuk IFTTT Anda memerlukan akun dan mengaktifkan saluran Maker WebHoooks. MakerKey dari saluran ini perlu dikompilasi ke dalam kode.

Siapkan tindakan IF menggunakan Maker WebHooks dan gunakan nama acara dengan nama yang sama seperti di konfigurasi (misalnya bel pintu). Tindakan THEN harus berupa notifikasi IFTTT. Anda dapat menambahkan nilai1 ke notifikasi yang akan ada di file konfigurasi. Ini dapat berguna jika Anda memiliki 2 atau lebih detektor.

Anda perlu menginstal aplikasi IFTTT di ponsel Anda dan kemudian pemberitahuan akan muncul setiap kali bel pintu dipicu.

Untuk PushOver, Anda memerlukan akun PushOver dan ikuti instruksi untuk menerima notifikasi API. Anda perlu menyiapkan token NOTIFICATION_APP dan NOTIFICATION_USER dalam perangkat lunak dengan nilai dari akun PushOver Anda.

Anda perlu menginstal Aplikasi PushOver di ponsel Anda dan membayar biaya satu kali yang sederhana untuk menerima pemberitahuan. Ini sepadan dalam pandangan saya untuk mendapatkan respons yang jauh lebih cepat.

Langkah 5: Integrasi EasyIOT

Perangkat lunak ini dapat mengirim laporan suhu dan bel pintu ke server EasyIOT. Otomatisasi EasyIOT dapat digunakan untuk mengambil tindakan tambahan berdasarkan laporan ini.

Siapkan server EasyIOT (mis. pada Raspberry Pi). Konfigurasikan alamat ip dan kata sandi nama pengguna ke dalam perangkat lunak esp8266 dan kompilasi.

Sekarang tambahkan driver Virtual dalam konfigurasi EASYIOT. Pilih Input Analog Suhu dan catat nama node EasyIOT. Ini harus dimasukkan ke dalam bagian nama node suhu dari file espConfig.

Tambahkan driver virtual kedua. Pilih input digital Door, catat nama node dan masukkan ke file espConfig.

Langkah 6: Tindakan Dorong Bel Lainnya

Perangkat lunak ini memiliki rutinitas yang disebut actionBellOn. Seperti yang tertulis ini dapat melakukan 3 hal

  • beri tahu IFTTT
  • Laporan EasyIOT
  • Lakukan URL tindakan

URL dapat digunakan untuk memicu aktivitas lain dari server web lain. URL yang digunakan ada di file espConfig.

Jika server URL diautentikasi maka nama pengguna dan kata sandi perlu dikonfigurasi dan dikompilasi ke dalam kode.

Saya menggunakan ini untuk mengakses URL yang disebut snap.php pada kamera di sebelah pintu. Ini mengambil-j.webp

Saya menggunakan kamera berbasis raspberry Pi yang membuat operasi ini sangat mudah. kamera

Direkomendasikan: