Daftar Isi:

Sensor Kehadiran: 12 Langkah
Sensor Kehadiran: 12 Langkah

Video: Sensor Kehadiran: 12 Langkah

Video: Sensor Kehadiran: 12 Langkah
Video: lampu sensor gerak 2024, November
Anonim
Sensor Kehadiran
Sensor Kehadiran

Perangkat yang dapat dikenakan biasanya merupakan perangkat yang mendukung BLE. Adalah umum bagi mereka untuk secara berkala mengiklankan beberapa data di sepanjang alamat MAC-nya. Kami menggunakan ESP untuk memindai data ini dan memicu suatu peristiwa melalui internet ketika menemukan alamat MAC tertentu. Implementasi khusus ini untuk satu pengguna pada steker pintar yang terhubung ke lampu. Tetapi itu juga dapat digunakan dengan satu set perangkat terdaftar dengan segala jenis perangkat yang mendukung IoT.

Perlengkapan

  1. ESP32
  2. (opsional) TECKIN WiFi Wall Plug S10
  3. Perangkat berkemampuan BLE dalam bentuk apa pun

Langkah 1: Tentukan Skenario Anda

Tentukan Skenario Anda
Tentukan Skenario Anda

Untuk pemicunya, Anda bisa menggunakan sebagian besar perangkat yang dapat dikenakan modern. Ini bisa berupa Apple Watch, band mi fit, telepon, atau bahkan perangkat DIY Anda sendiri berdasarkan ESP32.

Mungkin salah satu langkah terpenting. Anda harus berpikir ke depan dalam 3 hal:

1. Perangkat yang dapat dikenakan atau perangkat mana yang akan menjadi pemicu sensor jarak.

2. Apa yang akan memicu sensor (ini dilakukan melalui IFTTT).

3. Saat sensor akan memicu

Untuk contoh ini, saya akan menggunakan Apple Watch saya untuk memicu steker pintar untuk menyalakan lampu ketika saya duduk di meja saya.

Dalam tutorial ini kita akan melihat smart plug oleh TECKIN. Anda dapat menemukannya di amazon dengan harga yang bagus. Ini juga kompatibel dengan Alexa dan Google Home. Nilai yang bagus!

Langkah 2: (Intro) Setel Pemicu - Banyak Pengguna

Jika Anda ingin mengonfigurasi agar berfungsi setiap orang dengan perangkat berkemampuan BLE yang cukup dekat dengan sensor Anda, lewati langkah berikutnya. Ini cukup berguna, adalah pengaturan yang saya gunakan secara pribadi. Perlu diingat sensor ini dapat dengan mudah diretas atau dieksploitasi untuk memicu jadi saya tidak akan terlalu percaya pada keamanan; hanya untuk yang praktis (yaitu, saya tidak ingin dipicu oleh PC saya karena akan selalu di sebelah sensor).

Langkah 3: (Intro) Setel Pemicu - Pengguna Terbatas

Langkah ini sangat bervariasi pada pengaturan Anda. Untuk membatasi perangkat mana yang dapat memicu sensor, Anda memiliki banyak rute untuk dibatasi:

- Alamat MAC BLE (setara dengan alamat IP pada jaringan wifi. Alasannya tidak menjamin keamanan karena bukan alamat MAC modul yang sebenarnya. Pada perangkat iOS itu berubah setiap kali Anda me-restart bluetooth, tidak begitu menyenangkan)

- Kode Pabrikan (opsi yang lebih baik, tetapi tidak ada cara untuk membatasi perangkat tertentu dari pabrikan/model yang sama)

- Nama, Layanan UIDD (jarang tetapi merupakan opsi terbaik, sebagian besar perangkat yang dapat dikenakan DIY atau mungkin aplikasi Android)

Beberapa Catatan:

1. Jika itu adalah perangkat iOS:

- Anda memiliki beberapa pro dan kontra penting. Pro, mereka mengirimkan tingkat daya di mana itu adalah data iklan. Itu membantu pada tahap kalibrasi, Anda akan menemukan bahwa menggunakan Apple Watch sangat membantu karena disiarkan pada 24db, iPhone dan sebagian besar perangkat mentransmisikan pada 12db.

CON, Anda harus menemukan solusi. Alamat MAC yang diiklankan (metode identifikasi utama) berubah setiap kali sinyal bluetooth dihidupkan ulang, artinya Anda harus mengunggah kode setiap kali… tidak menyenangkan. Anda dapat menggunakan data pabrikan yang mungkin berbeda antar model. Ini berarti Anda dapat membatasi sehingga merasakan "semua iPhone 8".

2. Jika itu adalah perangkat Android:

- Saya pribadi tidak memiliki perangkat android. Tetapi mungkin ada banyak aplikasi yang dapat memperbaiki alamat MAC atau bahkan menambahkan nama yang dipersonalisasi (jika itu yang Anda inginkan). Pada perangkat iOS ada aplikasi "nrf connect" yang dapat melakukan ini. Tetapi tidak persisten, artinya jika Anda mengunci layar atau beralih aplikasi.. konfigurasinya mati dalam beberapa detik.

3. ESP32 lain. (taruhan terbaik Anda)

- Kode sederhana seperti ini dapat diimplementasikan di perangkat seperti ini; gelang pintar bertenaga esp32. Kode ini sebenarnya adalah contoh dari perpustakaan ESP BLE BLE_IBeacon.ino. Saya belum banyak mengujinya karena smart band saya sedang dalam pengiriman, mungkin akan segera memposting pembaruan.

Langkah 4: (Pengaturan) - IFTTT

(Pengaturan) - IFTTT
(Pengaturan) - IFTTT

Oke, jadi pada tahap ini Anda mungkin harus mengambil semua keputusan alur kerja Anda. Anda memiliki perangkat pemicu Anda, Anda memiliki tempat untuk menempatkan ESP dengan koneksi nirkabel ke internet dan Anda memiliki tindakan dalam pikiran bahwa IFTTT dapat mengotomatisasi.

IFTTT sangat kuat; apakah itu hanya untuk mengirim pemberitahuan sederhana ke perangkat Anda, Anda ingin tweet dikirim atau menyalakan bola lampu dengan colokan pintar. Dalam tutorial ini kita akan menerapkan yang terakhir dengan colokan pintar TECKIN yang kompatibel dengan IFTTT. Apa pun itu, unduh aplikasi IFTTT atau buka web IFTTT.com dan buat akun.

Itu saja untuk saat ini!

Jika Anda hanya ingin mengirim pemberitahuan atau sesuatu selain colokan Smart Life, Anda dapat melewati langkah berikutnya.

Langkah 5: (Pengaturan) Perangkat IOT *opsional*

Unduh aplikasi "Smart Life" dari PlayStore (android) atau AppStore (iOS). Instruksi cukup lurus ke depan, meskipun prosesnya sedikit rumit. Saya menemukan pada tahap pemindaian (ketika tombol biru berkedip) itu berhenti di beberapa titik, kemudian saya menekannya secara manual untuk menghidupkan dan mematikan beberapa kali. Itu membantu saya. Omong-omong; pengaturan steker ini tidak ada bedanya dengan aplikasi kami jadi jika Anda sudah memilikinya dan menghubungkannya ke aplikasi Anda, Anda harus siap untuk menggunakannya.

PERHATIKAN: Anda harus dapat menghidupkan dan mematikan aplikasi sebelum melanjutkan dari langkah ini. Itu berarti Anda telah mengonfigurasi smart plug dengan benar.

Aplikasi IFTTT harus disinkronkan dengan aplikasi "Smart Life" dengan mulus, mungkin meminta autentikasi saat membuat acara pada langkah berikutnya.

Langkah 6: (Pengaturan) IFTTT Webhook Api *Pengguna Berpengalaman*

(Pengaturan) IFTTT Webhook Api *Pengguna Berpengalaman*
(Pengaturan) IFTTT Webhook Api *Pengguna Berpengalaman*

Jika Anda belum pernah menggunakan aplikasi IFTTT sebelumnya dan merasa tidak nyaman dengan beberapa istilah teknis, lewati langkah ini untuk Panduan Lengkap (dengan foto) di langkah berikutnya.

1. Buat acara baru.

2. Setel "ini" menjadi api webhook. Tuliskan nama yang Anda tetapkan untuk acara tersebut.

3. Atur "itu" ke perilaku yang Anda inginkan. Untuk smart plug cari smart life dan pilih 'turn on'.

4. Pilih steker pintar Anda dan tekan selesai.

5. Di layar awal, cari kartu 'webhooks'. Setelah Anda menekannya, tekan "dapatkan lebih banyak" di bagian bawah.

6. Dokumentasi pers. Ini akan menunjukkan kepada Anda kunci api Anda bersama dengan pembuat & penguji URL.

7. Gunakan pembuat URL de dengan nama yang Anda tulis di #2. Salin itu dan tulis.

8. Ulangi jika Anda ingin perilaku terpicu saat sensor kehadiran tidak lagi aktif. Dalam kasus kami ulangi # 3 tetapi pilih 'matikan'. Juga, di #2 namanya juga harus berbeda kali ini.

Jika sudah selesai lewati langkah selanjutnya.

Langkah 7: (Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*

(Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*
(Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*
(Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*
(Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*
(Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*
(Pengaturan) IFTTT Webhook Api *Untuk Pemula Dengan Foto*

Panduan Lengkap *panduan foto harus serupa dengan android dan di web*

IFTTT adalah alur kerja sederhana, jika "ini terjadi" maka "itu terjadi". Anda harus membuat yang baru, 1. pada aplikasi tekan "dapatkan lebih banyak" dan daftar akan ditampilkan.

2. Tepat di bawah bilah pencarian tertulis "buat applet Anda sendiri dari awal", tekan tanda Plus.

3. Tekan tanda plus "ini"

Dalam kasus kami "ini" akan menjadi panggilan api melalui internet. Panggilan api adalah konsultasi ke URL, seperti ketika Anda mengetik pencarian google dan urlnya adalah google.com/(string karakter yang panjang). Untuk membuat api: (setelah menekan "ini")

4. Cari "webhook"

5. Pilih satu-satunya pilihan

6. Beri nama acara Anda (dalam contoh ini kita akan menggunakan "Duduk"). Tuliskan nama ini, sangat penting.

7. Tekan Buat Pemicu

Oke! kita lebih dekat, Sekarang ke bagian "itu". Untuk tutorial ini kita akan mengatur "that" untuk menyalakan Smart plug. Tetapi Anda dapat memilih apa saja dari IFTTT. Cara yang baik untuk menguji penyiapan adalah dengan memilih "pemberitahuan" yang akan mengirimkan pemberitahuan ke ponsel Anda setiap kali sensor terpicu (atau api dipanggil, bahkan dari browser web: berguna untuk pengujian!)

8. Tekan tanda plus "itu"

9. Cari "Smart Life" (atau "notifikasi")

10. Tekan 'nyalakan' (Anda perlu mengulangi langkah ini untuk membuat acara lain yang akan dimatikan saat Anda pergi)

11. Jika Anda memiliki aplikasi dan steker yang dikonfigurasi dengan benar, Anda akan melihat steker Anda di tarik-turun 'perangkat/grup mana.

12. Pilih Buat Tindakan lalu selesaikan.

Sekarang Anda akan melihat acara terhubung. Sekarang kita perlu mendapatkan URL api. Untuk ini:

13. Buka Layar Beranda IFTTT

14. Temukan kartu Webhook

15. Pilih "Dapatkan Lebih Banyak"

16. Ketuk tombol Dokumentasi. Anda akan melihat halaman web dengan kunci Anda.

17. Pada placeholder "{event}" isikan nama event anda (ingat Point 6)

18. Pergi ke bagian bawah halaman dan ketuk "Uji"

Apa yang mungkin Anda lihat adalah spanduk hijau "peristiwa telah dipicu" dan Anda akan melihat apakah itu berhasil atau tidak. Dalam kasus kami steker harus menyala. Atau Anda akan melihat pemberitahuan jika Anda memutuskan untuk menempuh jalan itu. Mungkin perlu beberapa saat, tetapi tidak lebih dari satu menit untuk melihat apakah Anda berhasil. Ingat itu mungkin peka huruf besar-kecil.

19. Akhirnya. Salin url tempat Anda mengganti nama acara Anda (pada 17) dan simpan di tempat yang aman. Anda akan membutuhkan ini segera.

20. Ulangi 1-12. Pada pukul 6 kita akan menggunakan "Stand" kali ini. Pada 10 pilih 'matikan' sebagai gantinya.

21. Ulangi 13-18 jika Anda mau, tetapi Anda dapat pergi dengan url yang Anda salin pada 19, tetapi sekarang ubah tempat Anda menulis "Duduk" dan ganti dengan "Berdiri". Anda dapat menguji ini di browser web. Seharusnya tertulis 'Selamat! Anda telah memecat acara Stand'. Maka steker seharusnya dimatikan.

Langkah 8: (Kode) Memprogram ESP32

(Kode) Memprogram ESP32
(Kode) Memprogram ESP32

Anda dapat melewati langkah ini jika Anda merasa nyaman mengunggah sketsa dari Arduino IDE ke Papan ESP32 Anda. Hanya ingat untuk mengatur partisi 2mb untuk aplikasi setidaknya karena bobot sketsa sedikit lebih dari batas 1,2mb biasa.

Ada banyak tutorial hebat di luar sana, berikut adalah beberapa di antaranya yang saya rekomendasikan:

circuitdigest.com/microcontroller-projects…

Tapi tetap saja, agar Anda tidak terlalu tersesat, saya akan merinci beberapa poin penting.

- ESP32 bukan papan Arduino namun masih dapat diprogram oleh Arduino IDE. Dengan kode Arduino sederhana. Namun, Anda masih perlu mengonfigurasi IDE agar berfungsi dengan ESP32.

- Anda perlu menginstal beberapa perpustakaan melalui 'Manajer papan tambahan' di preferensi. Ini adalah URL yang harus Anda tempel:

- (opsional, semoga membantu) Di Tools->Manage Libraries… -> (temukan esp BLE library)

- di Alat, Anda sekarang harus memiliki daftar panjang perangkat ESP, saya merekomendasikan modul dev ESP32

- (PENTING) Pilih (tidak ada aplikasi Ota 2mb/2mb spifs) di manajer partisi. Langkah ini penting karena aplikasi menjadi cukup berat karena menggunakan koneksi wifi/http serta pemindai BLE.

Jika Anda melakukan semuanya dengan benar, Anda seharusnya dapat memprogram ESP32. Sekarang proses melakukannya mirip dengan arduino di beberapa papan. Colokkan, pilih papan yang cocok, port USB dan Anda selesai. Tetapi, dalam banyak kasus lain Anda harus melanjutkan

Langkah 9: (Kode) Unggah Kode ke ESP32

(Kode) Unggah Kode ke ESP32
(Kode) Unggah Kode ke ESP32

Ok jika sudah disini berarti anda sudah berhasil mengupload sketch ke board ESP32, sebaiknya sketch blink.ino.

Sekarang, berikut adalah kode utama terlampir, Anda juga dapat menemukannya di repo GitHub. Anda harus mengganti yang berikut ini:

SSID - Nama wifi Anda

PSK - Kata Sandi wifi Anda

duduk - URL dengan "Duduk" dari api IFTTT yang Anda tulis sebelumnya

stand - URL dengan "Stand" Dari api IFTTT yang Anda tulis sebelumnya

Sekarang dekatkan perangkat pemicu Anda ke papan dan kemudian unggah kodenya. Kemudian buka Serial Monitor (baud 115200) setelah berhasil memuat kode.

Jika Anda berencana untuk menggunakan ini dengan segala jenis perangkat berkemampuan BLE, lewati langkah berikutnya.

CATATAN: jika Anda mendapatkan pesan kesalahan memori, itu karena pengaturan default hanya menyisakan 1mB memori (dari 4mB yang ada) untuk kode mentah ESP. Ini meninggalkan sebagian untuk beberapa hal sebagai opsi untuk memprogram melalui udara. Saya biasanya melakukan hal berikut:

- di Alat, Anda sekarang harus memiliki daftar panjang perangkat ESP, saya sarankan modul dev ESP32-Pilih 'no Ota 2mb app/2mb spifs' di manajer partisi.

Ini memberi saya ruang memori ganda, yang dibutuhkan untuk aplikasi ini.

Langkah 10: (Kode) Unggah Kode ke ESP32 *opsional*

(Kode) Unggah Kode ke ESP32 *opsional*
(Kode) Unggah Kode ke ESP32 *opsional*

Inilah bagian rumit yang disebutkan di Langkah "Setel pemicu". Monitor akan menampilkan alamat MAC (harus terlihat seperti ##:##:##:##:## di mana # adalah angka atau huruf dari a hingga f), Kode pabrikan dan RSSI (angka negatif). Di sini Anda harus bermain-main sedikit untuk menemukan perangkat Anda. Saya biasanya meletakkannya di sebelah papan sehingga saya bisa melihat dengan jelas mana yang merupakan angka terkecil. Saya hapus centang pada kotak 'autoscroll' sehingga saya dapat menyalin nilainya.

  • Jika itu adalah Alamat Mac, isi 'myDevice' dengannya. Kemudian batalkan komentar pada baris #96 dan komentari baris #95
  • Jika itu adalah Nama, isi 'myDevice' dengannya. Kemudian batalkan komentar pada baris #97 dan komentari baris #95
  • Jika MaufactureData Anda kurang beruntung untuk saat ini, saya masih mengembangkan bagian itu.

Untuk menambahkan dukungan untuk perangkat may, Anda harus dapat menyalin pernyataan kondisi baik di #96 atau #97 dan menempatkannya di samping satu sama lain dalam sintaks ini:

if((kondisi1) || (kondisi2) || (kondisi3)){

Tambahkan lebih banyak variabel (myDevice1, myDevice2, myDevice3) yang sesuai.

Langkah 11: Pasang ESP dan Kalibrasi

Pasang ESP dan Kalibrasi
Pasang ESP dan Kalibrasi

Ini adalah bagian terpenting dari pengaturan. Dengan hati-hati menjalani proses ini akan membuat perbedaannya bekerja seperti sulap atau hanya membuat Anda sakit kepala yang parah.

Pada titik ini kode yang Anda unggah berfungsi dengan parameter yang telah saya uji dan gunakan secara pribadi setiap hari dengan telepon saya di meja saya; itu tidak berarti itu akan berhasil untuk Anda juga. Jadi, Anda perlu melakukan kalibrasi sendiri.

1. Tempatkan Papan ESP32 di lokasi FIXED terakhirnya. Jika Anda memindahkan karena alasan tertentu posisi ESP32 Anda, Anda mungkin harus melakukannya lagi. Ini akan memastikan Anda mendapatkan pengalaman yang baik secara keseluruhan.

1. (tambahan) perlu diingat bahwa Anda harus dapat terhubung ke komputer Anda saat melakukan ini. Jika Anda tidak bisa karena Anda menggunakan desktop, Anda harus melakukan percobaan dan kesalahan dengan mengingat bahwa setiap percobaan harus hampir identik dalam pemosisian, perangkat pemicu, dan faktor lain yang mungkin diperhitungkan.

2. Buka Serial Monitor dengan kode yang sedang berjalan.

Kode secara default akan memposting melalui Serial Monitor RSSI (Indikasi kekuatan sinyal yang diterima) dari setiap perangkat bluetooth yang ditemukan (atau hanya perangkat yang cocok dengan parameter Anda). Bermain-main sedikit dengan perangkat aksi utama Anda (perangkat pemicu). Anda harus menentukan ambang batas yang ingin Anda gunakan. Menyesuaikan konfigurasi ini dengan hati-hati akan

3. Saat Anda menentukan ambang batas, ganti di sini:

  • dekat_thrsh
  • far_thrsh

4. Unggah ulang kode, uji dan ulangi hingga Anda menemukan kinerja yang optimal.

Beberapa hal yang perlu dipertimbangkan:

1. Anda ingin sekitar 20db perbedaan antara ambang batas. Jika near_thrsh diatur ke 50 maka yang diinginkan adalah far_thrsh 70 atau lebih. Jika perbedaannya terlalu pendek, maka Anda mungkin menemukan beberapa jarak atau tempat di mana papan memicu dan mematikan tanpa henti. Meningkatkan perbedaan ini akan memastikan Anda menghindari perilaku yang tidak diinginkan ini. Saya menemukan secara pribadi bahwa 20db margin cukup baik.

2. Pada skenario uji kalibrasi kehidupan nyata sebanyak mungkin, ini akan membantu menentukan kinerja terbaik.

3. Pelajari kelas pada baris 82 dari kode; di sinilah semua logika dilakukan. Kode ini dikomentari dengan baik. Jangan ragu untuk bertanya di GitHub!

Langkah 12: Selamat! Kamu selesai

Beri tahu saya di komentar jika ada saran atau jika Anda mengalami masalah. Ingatlah untuk memeriksa GitHub jika masalah Anda telah terpecahkan!

Direkomendasikan: