Mundarija:

Mavjudlik sensori: 12 qadam
Mavjudlik sensori: 12 qadam

Video: Mavjudlik sensori: 12 qadam

Video: Mavjudlik sensori: 12 qadam
Video: ▶️ Склифосовский 3 сезон 12 серия - Склиф 3 - Мелодрама | Фильмы и сериалы - Русские мелодрамы 2024, Noyabr
Anonim
Mavjudlik sensori
Mavjudlik sensori

Kiyinadigan narsalar odatda BLE yoqilgan qurilmalardir. Ular vaqti -vaqti bilan MAC -manzili bo'yicha ba'zi ma'lumotlarni reklama qilishlari odatiy holdir. Biz ESP -dan foydalanib, bu ma'lumotlarni skanerlaymiz va ma'lum bir MAC manzilini topganimizda, Internet orqali voqeani ishga tushiramiz. Ushbu maxsus dastur chiroqqa ulangan aqlli vilkada bitta foydalanuvchi uchun. Ammo uni IOT -ni yoqadigan har qanday turdagi qurilmalar bilan ro'yxatga olingan qurilmalarda ham ishlatish mumkin.

Ta'minotlar

  1. ESP32
  2. (ixtiyoriy) TECKIN WiFi Wall Plug S10
  3. Har qanday turdagi BLE yoqilgan qurilma

1 -qadam: ssenariyni belgilang

Ssenariyingizni belgilang
Ssenariyingizni belgilang

Tetik uchun siz zamonaviy kiyimlarning ko'pchiligidan foydalanishingiz mumkin. Bu Apple Watch, mi fit tasmasi, telefon yoki hatto o'zingizning ESP32 asosida taqiladigan DIY bo'lishi mumkin.

Ehtimol, eng muhim qadamlardan biri. Siz 3 narsani oldindan o'ylab ko'rishingiz kerak:

1. Qaysi taqiladigan yoki yaqinlik sensori ishga tushadi.

2. Sensorni nima ishga soladi (bu IFTTT orqali amalga oshiriladi).

3. Sensor qachon ishga tushadi

Misol uchun, men ish stolida o'tirganimda chiroqni yoqish uchun aqlli vilkasini ishga tushirish uchun Apple Watch -dan foydalanaman.

Ushbu qo'llanmada biz TECKIN aqlli vilkasini ko'rib chiqamiz. Siz uni Amazonda yaxshi narxda topishingiz mumkin. Shuningdek, u Alexa va Google Home bilan mos keladi. Ajoyib qiymat!

2 -qadam: (Kirish) Triggerni sozlash - Ko'p foydalanuvchilar

Agar siz BLE yoqilgan qurilmaga ega bo'lgan har qanday odam sensori yaqinida ishlashi uchun sozlamoqchi bo'lsangiz, keyingi bosqichni o'tkazib yuboring. Bu juda foydali, men shaxsan foydalanadigan sozlama. Shuni yodda tutingki, bu sensorni osonlikcha buzish yoki ishlatish uchun ishlatish mumkin, shuning uchun men xavfsizlik tayanchiga ishonmayman; faqat amaliy uchun (ya'ni, men uni shaxsiy kompyuterim tomonidan ishga tushirilishini xohlamayman, chunki u har doim sensor yonida bo'ladi).

3 -qadam: (Kirish) Triggerni sozlash - cheklangan foydalanuvchilar

Ushbu qadam sizning sozlamalaringizga bog'liq. Qaysi qurilmalar sensorni ishga tushirishi mumkinligini cheklash uchun sizda ko'plab yo'llar cheklangan:

- BLE MAC manzili (Wi -Fi tarmog'idagi IP -manzilga teng. Sababi u xavfsizlikni kafolatlamaydi, chunki modulning haqiqiy MAC -manzili emas. IOS qurilmalarida bluetooth -ni har safar qayta ishga tushirganingizda o'zgaradi, unchalik qiziq emas)

- Ishlab chiqaruvchi kodi (yaxshiroq variant, lekin bir xil ishlab chiqaruvchi/modeldagi maxsus qurilmalarni cheklash mumkin emas)

- Ism, UIDD xizmati

Ba'zi eslatmalar:

1. Agar u iOS qurilmasi bo'lsa:

- Sizda muhim va kamchiliklari bor. Pro, ular reklama ma'lumotlari bo'lgan quvvat darajasini uzatadilar. Bu kalibrlash bosqichida foydalidir, siz Apple Watch -dan foydalanish foydali ekanligini bilib olasiz, chunki u 24db tezlikda, iPhone -da va ko'pchilik qurilmalar 12db tezlikda uzatiladi.

CON, siz vaqtinchalik echimlarni topishingiz kerak bo'ladi. Reklama qilingan MAC manzili (identifikatsiyalashning asosiy usuli) har safar bluetooth signali qayta ishga tushganda o'zgaradi, ya'ni siz har safar kodni yuklashingiz kerak bo'ladi … bu qiziq emas. Siz har bir model uchun farq qilishi mumkin bo'lgan ishlab chiqaruvchi ma'lumotlaridan foydalanishingiz mumkin. Bu shuni anglatadiki, siz "hamma iPhone 8" ni sezishi uchun cheklashingiz mumkin.

2. Agar u Android qurilmasi bo'lsa:

- Shaxsan menda android qurilmasi yo'q. Ammo, ehtimol, MAC manzilini tuzatadigan yoki hatto shaxsiy ism qo'sha oladigan ko'plab ilovalar mavjud (agar siz shunday yo'l tutmoqchi bo'lsangiz). IOS qurilmalarida buni amalga oshiradigan "nrf connect" ilovasi mavjud. Agar siz ekranni qulflasangiz yoki ilovalarni almashtirsangiz, konfiguratsiya bir necha soniya ichida o'chadi.

3. Boshqa ESP32. (sizning eng yaxshi pul tikishingiz)

- Bu kabi oddiy kodni shunga o'xshash qurilmada amalga oshirish mumkin; esp32 bilan ishlaydigan aqlli tarmoqli. Kod aslida BLE_IBeacon.ino ESP BLE kutubxonasidan namuna. Men buni juda ko'p sinovdan o'tkazmadim, chunki mening aqlli guruhim jo'natildi, ehtimol yaqin orada yangilanishlarni yuboradi.

4 -qadam: (O'rnatish) - IFTTT

(O'rnatish) - IFTTT
(O'rnatish) - IFTTT

OK, shuning uchun bu bosqichda, ehtimol, siz o'zingizning ish jarayoningizning barcha qarorlarini qabul qilishingiz kerak. Sizda ishga tushirish moslamasi bor, sizda Internetga simsiz ulanadigan ESPni qo'yadigan joyingiz bor va sizda IFTTT avtomatlashtirishi mumkin bo'lgan harakat bor.

IFTTT kuchli; faqat sizning qurilmangizga oddiy xabar yuborish bo'ladimi, siz tvit yuborilishini yoki aqlli vilkasi bo'lgan lampochkani yoqishni xohlaysiz. Ushbu qo'llanmada biz IFTTT bilan mos keladigan TECKIN aqlli vilkalari bilan birinchisini amalga oshiramiz. Qanday bo'lmasin, IFTTT dasturini yuklab oling yoki IFTTT.com veb -saytiga o'ting va hisob yarating.

Hozircha shunday!

Agar siz shunchaki Smart Life vilkasidan boshqa xabar yubormoqchi bo'lsangiz, keyingi bosqichni o'tkazib yuborishingiz mumkin.

5 -qadam: (sozlash) IOT qurilmasi *ixtiyoriy *

PlayStore (android) yoki AppStore (iOS) dan "Smart Life" ilovasini yuklab oling. Ko'rsatmalar deyarli aniq, garchi bu jarayon biroz murakkab bo'lsa ham. Men skanerlash bosqichida (ko'k tugma miltillab turganida) birdaniga to'xtab qolganini bildim, keyin uni bir necha marta yoqish va o'chirish uchun qo'lda bosdim. Bu menga yordam berdi. Baribir; bu vilkaning o'rnatilishi bizning ilovamizdan farq qilmaydi, shuning uchun agar sizda uning egasi bo'lsa va u sizning ilovangizga ulangan bo'lsa, siz ishlashga tayyor bo'lishingiz kerak.

OGOHLANTIRISH: Siz bu bosqichga o'tishdan oldin dasturni o'chirishni yoqishingiz va o'chirishingiz kerak. Bu shuni anglatadiki, siz aqlli vilkasini to'g'ri sozlagansiz.

IFTTT ilovasi "Smart Life" ilovasi bilan uzluksiz sinxronlashtirilishi kerak, ehtimol keyingi bosqichda voqeani yaratishda autentifikatsiyani talab qiladi.

6 -qadam: (O'rnatish) IFTTT Webhook Api *Tajribali foydalanuvchilar *

(O'rnatish) IFTTT Webhook Api *Tajribali foydalanuvchilar *
(O'rnatish) IFTTT Webhook Api *Tajribali foydalanuvchilar *

Agar siz IFTTT dasturidan oldin foydalanmagan bo'lsangiz va ba'zi texnik shartlar sizga unchalik yoqmasa, keyingi bosqichda Batafsil qo'llanma (fotosuratlar bilan) uchun bu bosqichni o'tkazib yuboring.

1. Yangi tadbir yaratish.

2. "this" ni webhook api qilib o'rnating. Tadbirga qo'ygan ismingizni yozing.

3. "Bu" ni o'zingiz xohlagan xatti -harakatlarga o'rnating. Aqlli vilka uchun aqlli hayotni qidiring va "yoqish" -ni tanlang.

4. O'zingizning aqlli vilkangizni tanlang va tugatish tugmasini bosing.

5. Asosiy ekranda "webhooks" kartasini qidiring. Uni bosgandan so'ng, pastki qismidagi "Ko'proq olish" tugmasini bosing.

6. Matbuot hujjatlari. Bu sizga api kalitini, URL yaratuvchi va tekshiruvchi bilan birga ko'rsatadi.

7. #2 da yozgan ismingiz bilan de URL yaratuvchisidan foydalaning. Buni nusxa ko'chiring va yozing.

8. Agar mavjudlik sensori ishlamay qolganda, xatti -harakatni boshlashini xohlasangiz, takrorlang. Bizning holatda, №3 -ni takrorlang, lekin "o'chirish" -ni tanlang. Bundan tashqari, #2 da, bu safar nom ham boshqacha bo'lishi kerak.

Agar siz tugatgan bo'lsangiz, keyingi bosqichni o'tkazib yuboring.

7 -qadam: (O'rnatish) IFTTT Webhook Api *Yangi boshlanuvchilar uchun rasmli *

(O'rnatish) IFTTT Webhook Api *Fotosuratlari bilan yangi boshlanuvchilar uchun *
(O'rnatish) IFTTT Webhook Api *Fotosuratlari bilan yangi boshlanuvchilar uchun *
(O'rnatish) IFTTT Webhook Api *Fotosuratlari bilan yangi boshlanuvchilar uchun *
(O'rnatish) IFTTT Webhook Api *Fotosuratlari bilan yangi boshlanuvchilar uchun *
(O'rnatish) IFTTT Webhook Api *Fotosuratlari bilan yangi boshlanuvchilar uchun *
(O'rnatish) IFTTT Webhook Api *Fotosuratlari bilan yangi boshlanuvchilar uchun *

Batafsil qo'llanma *foto qo'llanma Android va Internetga o'xshash bo'lishi kerak *

IFTTT - bu oddiy ish oqimi, agar "bu sodir bo'lsa", keyin "shunday bo'ladi". Siz yangisini yaratishingiz kerak, 1. ilovada "ko'proq olish" tugmasini bosing va ro'yxat ko'rsatiladi.

2. Qidiruv satrining pastida a "o'zingizning appletlaringizni noldan qiling" yozuvi bor, Plus belgisini bosing.

3. "Bu" ortiqcha belgisini bosing

Bizning holatda "bu" Internet orqali api qo'ng'irog'i bo'ladi. Api chaqiruvi - bu google qidiruvi va URL manzili google.com/(uzun harflar qatori) URL manzili bilan maslahatlashish. Api yaratish uchun: ("bu" tugmachasini bosgandan so'ng)

4. "veb -kancalar" ni qidiring

5. Yagona variantni tanlang

6. Tadbiringizga nom bering (bu misolda biz "O'tirish" dan foydalanamiz). Bu ismni yozing, juda muhim.

7. Trigger yaratish -ni bosing

Ok! biz yaqinmiz, Endi "o'sha" qismga. Ushbu qo'llanmada biz "bu" ni Smart vilkasini yoqish uchun o'rnatamiz. Ammo siz IFTTT -dan xohlagan narsani tanlashingiz mumkin. O'rnatishni sinab ko'rishning eng yaxshi usuli - bu har safar sensor ishga tushganda (yoki api chaqirilsa ham, veb -brauzerdan: test uchun foydali!) Telefoningizga bildirishnoma yuboradigan "bildirishnomalar" ni tanlash.

8. "o'sha" ortiqcha belgisini bosing

9. "Aqlli hayot" (yoki "bildirishnomalar") ni qidiring.

10. "Yoqish" tugmasini bosing (siz ketayotganda o'chirish uchun boshqa tadbirni yaratish uchun bu amallarni takrorlashingiz kerak bo'ladi)

11. Agar sizda ikkala dastur ham, vilka ham to'g'ri sozlangan bo'lsa, siz qaysi qurilmani/guruhni ochilishini ko'rasiz.

12. Amal yaratish -ni tanlang va keyin tugating.

Endi siz voqea bog'liqligini ko'rishingiz kerak. Endi biz api URL manzilini olishimiz kerak. Buning uchun:

13. IFTTT bosh ekraniga o'ting

14. Webhooks kartasini toping

15. "Ko'proq ma'lumot olish" -ni tanlang.

16. Hujjatlar tugmasini bosing. Siz kalit bilan veb -sahifani ko'rishingiz kerak.

17. "{event}" to'ldiruvchisiga tadbiringizning nomini kiriting (6 -bandni eslang)

18. Sahifaning pastki qismiga o'ting va "Sinab ko'rish" ni bosing.

Siz ko'rishingiz kerak bo'lgan narsa - bu "voqea boshlangan" yashil banner va u ishlaganmi yoki yo'qmi, ko'rishingiz kerak. Bizning holatda, vilka yoqilishi kerak. Yoki siz bu yo'ldan borishga qaror qilgan bo'lsangiz, bildirishnomani ko'rishingiz kerak. Biroz vaqt ketishi mumkin, lekin buni uddalaganingizni ko'rish uchun bir daqiqadan oshmaydi. Shuni esda tutingki, ehtimol bu katta -kichik harflarga sezgir.

19. Nihoyat. Tadbiringiz nomini almashtirgan urlni nusxalash (17 da) va xavfsiz joyda saqlang. Tez orada sizga bu kerak bo'ladi.

20. 1-12 ni takrorlang. 6 da biz bu safar "Stend" dan foydalanamiz. 10 da "o'chirish" ni tanlang.

21. Agar xohlasangiz, 13-18 ni takrorlang, lekin siz 19-da nusxa ko'chirgan url-dan voz kechishingiz mumkin, lekin hozir "O'tiring" deb yozgan joyingizni o'zgartiring va "Stend" bilan almashtiring. Buni veb -brauzerda sinab ko'rishingiz mumkin. Unda "Tabriklayman! Siz "Stend" tadbirini o'chirdingiz. Keyin vilka o'chirilgan bo'lishi kerak.

8 -qadam: (Kod) ESP32 dasturlash

(Kod) ESP32 dasturlash
(Kod) ESP32 dasturlash

Agar siz Arduino IDE -dan ESP32 kartasiga eskizlarni yuklashni qulay his qilsangiz, bu bosqichni o'tkazib yuborishingiz mumkin. Esda tutingki, hech bo'lmaganda eskizning og'irligi odatdagidek 1,2 mb dan oshgani uchun, dastur uchun 2 mb bo'linma o'rnatishni unutmang.

U erda juda ko'p ajoyib darsliklar bor, men ulardan ba'zilarini tavsiya qilaman:

circuitdigest.com/microcontroller-projects…

Ammo shunga qaramay, siz adashmaysiz, men bir nechta muhim fikrlarni ajratib ko'rsataman.

- ESP32 Arduino taxtasi emas, lekin uni Arduino IDE dasturlashi mumkin. Oddiy Arduino kodi bilan. Ammo siz hali ham IDEni ESP32 bilan ishlash uchun sozlashingiz kerak bo'ladi.

- Siz xohlaganingizcha "Qo'shimcha taxtalar menejeri" orqali ba'zi kutubxonalarni o'rnatishingiz kerak bo'ladi. Bu URLni joylashtirish kerak:

-(ixtiyoriy, yordam berishi mumkin) Asboblar-> Kutubxonalarni boshqarish… -> (esp BLE kutubxonasini toping)

- Asboblar bo'limida sizda ESP qurilmalarining uzun ro'yxati bo'lishi kerak, men ESP32 dev modulini tavsiya qilaman

- (MUHIM) Bo'lim menejeridan (Ota 2mb ilovasi/2mb spiflari yo'q) -ni tanlang. Bu qadam juda muhim, chunki ilova ham wifi/http ulanishlari, ham BLE skaneridan foydalanish natijasida juda og'ir bo'lib ketadi.

Agar siz hamma narsani to'g'ri qilsangiz, siz ESP32 -ni dasturlashingiz kerak. Endi buni qilish jarayoni ba'zi taxtalarda arduinoga o'xshaydi. Uni ulang, mos keladigan kartani, USB portini tanlang va siz tugatdingiz. Ammo, boshqa ko'p hollarda, davom ettirishga to'g'ri keladi

9 -qadam: (Kod) ESP32 -ga kodni yuklang

(Kod) ESP32 -ga kodni yuklang
(Kod) ESP32 -ga kodni yuklang

OK, agar siz shu erda bo'lsangiz, demak siz ESP32 kartasiga eskizni, yaxshisi blink.ino eskizini muvaffaqiyatli yukladingiz.

Mana, asosiy kod biriktirilgan, uni GitHub repo -da ham topishingiz mumkin. Siz quyidagilarni almashtirishingiz kerak:

SSID - Wi -Fi tarmog'ingiz nomi

PSK - Wi -Fi parolingiz

o'tirish - Siz ilgari yozgan IFTTT api -dan "O'tirish" URL manzili

stend - Siz ilgari yozgan IFTTT api -dan "Stend" bilan URL

Endi tetik qurilmangizni taxtaga yaqinlashtiring va keyin kodni yuklang. Keyin kodni muvaffaqiyatli yuklaganingizdan so'ng, Serial monitorni (bod 115200) oching.

Agar siz buni BLE yoqilgan har qanday qurilma bilan ishlatmoqchi bo'lsangiz, keyingi bosqichni o'tkazib yuboring.

QAYD: agar siz xotira xatosi haqida xabar olsangiz, chunki uning standart sozlamalari ESP xom kodi uchun faqat 1 mB xotirani (4 mb mavjud) qoldiradi. U efirda dasturlash imkoniyati sifatida ikkita narsaga bir qismini qoldiradi. Men odatda quyidagilarni qilaman:

- Asboblar bo'limida sizda ESP qurilmalarining uzun ro'yxati bo'lishi kerak, men ESP32 dev modulini tavsiya qilaman- bo'lim menejerida "Ota 2mb app/2mb spifs yo'q" ni tanlang.

Bu menga ushbu dastur uchun zarur bo'lgan ikkita xotira maydonini beradi.

10 -qadam: (Kod) ESP32 -ga kodni yuklang *ixtiyoriy *

(Kod) ESP32 -ga kodni yuklang *ixtiyoriy *
(Kod) ESP32 -ga kodni yuklang *ixtiyoriy *

Mana "Triggerni o'rnatish" bosqichida aytilgan murakkab qism. Monitor MAC manzilini chiqaradi (##: ##: ##: ##: ## ga o'xshash bo'lishi kerak, bu erda# - raqamdan yoki harfdan fgacha), ishlab chiqaruvchi kodi va RSSI (manfiy raqam)). Bu erda siz qurilmangiz qaysi ekanligini aniqlash uchun biroz o'ynashingiz kerak. Men odatda uni taxtaning yoniga qo'yaman, shunda men eng kichik raqamni aniq ko'ra olaman. Men qiymatlarni nusxalash uchun "avtomatik aylantirish" qutisini olib tashlayman.

  • Agar bu Mac manzili bo'lsa, "myDevice" ni to'ldiring. Keyin 96 -qatorni va 95 -qatorni izohlang
  • Agar bu ism bo'lsa, "myDevice" ni to'ldiring. Keyin 97 -qatorni va 95 -qatorni izohlang
  • Agar bu MaufactureData bo'lsa, hozircha omadingiz kelmasa, men bu qismni ishlab chiqmoqdaman.

May qurilmalarini qo'llab -quvvatlash uchun siz #96 yoki #97 da shartli bayonotni nusxalashingiz va ularni sintaksisda bir -birining yoniga qo'yishingiz kerak:

agar ((shart 1) || (shart 2) || (shart 3)) {

Shunga ko'ra ko'proq o'zgaruvchilarni qo'shing (myDevice1, myDevice2, myDevice3).

11 -qadam: ESPni joylashtiring va sozlang

ESP -ni joylashtiring va sozlang
ESP -ni joylashtiring va sozlang

Bu sozlashning eng muhim qismi. Ehtiyotkorlik bilan bu jarayonni boshdan kechirsangiz, bu sehr kabi ishlaydi yoki sizga kuchli bosh og'rig'ini beradi.

Bu vaqtda siz yuklagan kod men shaxsan sinab ko'rgan parametrlar bilan ishlaydi va har kuni telefonimni stolimda ishlatadi; bu siz uchun ham ishlaydi degani emas. Shunday qilib, siz kalibrlashni o'zingiz qilishingiz kerak.

1. ESP32 taxtasini Ruxsat etilgan joyga joylashtiring. Agar siz biron sababga ko'ra ESP32 pozitsiyasini o'zgartirsangiz, ehtimol buni yana qilishingiz kerak. Bu sizga umuman yaxshi tajribani ta'minlaydi.

1. (qo'shimcha) shuni yodda tutingki, buni amalga oshirayotganda shaxsiy kompyuteringizga ulanishingiz kerak bo'ladi. Agar qila olmasangiz, ish stolida bo'lganingiz uchun, sinov va xato qilish kerak bo'ladi, shuni yodda tutingki, har bir sinov joylashuvi, ishga tushirish moslamasi va hisobga olinishi mumkin bo'lgan boshqa omillar bilan bir xil bo'lishi kerak.

2. Ishlayotgan kod bilan ketma -ket monitorni oching.

Odatiy bo'lib, kod har bir topilgan bluetooth qurilmasining (yoki faqat sizning parametrlaringizga mos keladigan qurilmalar) RSSI (Qabul qilingan signal kuchi ko'rsatkichi) Serial Monitor orqali yuboriladi. Asosiy harakat qurilmangiz bilan ozgina o'ynang (ishga tushiruvchi qurilma). Siz foydalanmoqchi bo'lgan chegaralar nima ekanligini aniqlashingiz kerak. Ehtiyotkorlik bilan ushbu konfiguratsiyani sozlash

3. Agar siz chegaralarni aniqlasangiz, ularni bu erga almashtiring:

  • yaqin_tv
  • far_thrsh

4. Kodni qayta yuklang, sinab ko'ring va optimal ishlashni topmaguningizcha takrorlang.

Bir nechta narsalarni ko'rib chiqish kerak:

1. Eshiklar orasidagi farq taxminan 20 dB ni xohlaysiz. Agar Near_thrsh 50 ga o'rnatilgan bo'lsa, far_thrsh 70 yoki undan yuqori bo'lishi kerak. Agar farq juda qisqa bo'lsa, unda siz masofani yoki taxtani tinimsiz ishga tushiradigan joylarni topishingiz mumkin. Bu farqni kuchaytirish, bu kiruvchi xatti -harakatlardan qochishingizni ta'minlaydi. Men shaxsan 20db marjasi etarli darajada yaxshi ekanligini topdim.

2. Kalibrlash testida haqiqiy hayot stsenariylari iloji boricha eng yaxshi ko'rsatkichni aniqlashga yordam beradi.

3. Kodning 82 -satridagi sinfni o'rganing; bu erda hamma mantiq bajariladi. Kod yaxshi izohlangan bo'lsa -da. GitHub -da so'rashdan qo'rqing!

12 -qadam: tabriklaymiz! Siz Bajarildingiz

Menga har qanday taklifni sharhlaringizda yoki muammolarga duch kelsangiz xabar bering. Agar sizning muammoingiz hal qilingan bo'lsa, GitHub -ni tekshirishni unutmang!

Tavsiya: