Mundarija:
- 1 -qadam: Dash tugmachasini sozlash
- 2 -qadam: JS tugunini qurilmangizga o'rnating
- 3 -qadam: Tugma manzilini toping
- 4 -qadam: tugmachani sinab ko'rish
- 5 -qadam: Boshlang'ich davlat hisobini o'rnating
- 6 -qadam: Yakuniy kod
- 7 -qadam: SMS -triggerni o'rnatish
- 8 -qadam: boshqaruv panelini shaxsiylashtirish
- 9 -qadam: skriptni yuklashdan boshlash
- 10 -qadam: Xulosa
Video: Amazon Dash tugmasi jim eshik qo'ng'irog'i: 10 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Doimiy ravishda derazadan qarab turasizmi, shunda siz mehmonlarni qo'ng'iroq qilmasidan oldin ushlab qolasizmi? Itlar va chaqaloq qachon jiringlasa, aqldan ozishdan charchadingizmi? "Aqlli" echim uchun ko'p pul sarflashni xohlamaysizmi?
Eshikka jim qo'ng'iroq qilish 5 dollarlik Amazon Dash tugmachasini buzishdek oson! Sizga kerak bo'lgan yagona narsa - bu har doim uyda bo'lgan kompyuter, aytaylik, siz Raspberry Pi atrofida o'tirgansiz. Istalgan vaqtda kimdir sizning yangi qo'ng'iroq qo'ng'irog'ingizni bossa va butun uyni xursand qilsa, matnli bildirishnomalarni oling. (Agar sizda aqlli soatingiz bo'lsa, bildirishnomalarni olish yanada zo'r!)
Ushbu loyiha uchun sizga kerak bo'ladi:
- Amazon dash tugmasi
- Uyda qoladigan kompyuter (Raspberry Pi kabi)
1 -qadam: Dash tugmachasini sozlash
Dash tugmachasini xakerlik uchun tayyorlash juda oddiy - siz mahsulotni tanlamasdan, Amazonni sozlash jarayonidan o'tishingiz kerak.
Bu sozlash uchun iOS va Android uchun mavjud Amazon ilovasi kerak. Amazon ilovasiga kirgandan so'ng, Hisob qaydnomangiz -> Dash tugmalari va qurilmalari -> Yangi qurilmani sozlash -ga o'ting. "Dash tugmasi" ni tanlang va mahsulotni tanlash so'ralmaguncha ko'rsatmalarga amal qiling.
Ilovani yoping. Sozlashni bekor qilmang; x ni urmang - faqat ilovani yoping. Agar siz tasodifan mahsulotni tanlagan bo'lsangiz yoki eski Dash tugmachasini qayta ishlatmoqchi bo'lsangiz, Amazon ilovasi orqali qurilmani olib tashlang va ushbu amallarni yana bajaring.
Agar siz tugma ko'rinishini o'zgartirmoqchi bo'lsangiz, stikerni olib tashlash oson.
2 -qadam: JS tugunini qurilmangizga o'rnating
Dash tugmachasining apparat manzilini topish (va undan keyin foydalanish) uchun biz JS Node -dan foydalanishimiz kerak. Bu har qanday kompyuterga o'rnatilishi mumkin - Mac, Linux (Raspberry Pi) yoki Windows.
Bizning yakuniy loyihamiz tugmachani uzluksiz ishlaydigan tugmachamiz bilan bir xil tarmoqqa ulangan kompyuterga bog'liq, shuning uchun qurilmangizni tanlashda buni yodda saqlang. Uydagi ish stoli yoki Raspberry Pi mukammal bo'lar edi.
Men Pi 3 dan foydalanishni tanladim, lekin Wi -Fi dongleli Pi Zero ham ishlaydi!
Node JS -ni kompyuteringizga o'rnatish uchun tegishli ko'rsatmalarga amal qiling:
- Raspberry Pi
- Mac OS
- Windows
Aleks Xorton, biz qilmoqchi bo'lgan, tuguncha-tugmacha-tugma deb nomlangan ajoyib modul yozdi. Biz uni tugun paket menejeri (npm) va libpcap bilan birga o'rnatishimiz kerak. Buyruqlar satriga ushbu buyruqlarni kiriting:
sudo apt-get npm ni o'rnating
sudo apt-get install libpcap-dev npm node-dash-button ni o'rnating
3 -qadam: Tugma manzilini toping
Biz tugmachali manzilingizni topishning oddiy usulini topdik.
Birinchidan, LED asta -sekin ko'k rangda yonib chiqmaguncha, tugmachadagi tugmani taxminan 5 soniya ushlab turing. Telefoningizda Wi -Fi sozlamalarini oching va "Amazon Configure Me" Wi -Fi -ni toping. Bunga ulanganingizdan so'ng, veb -brauzeringizni oching va "https://192.168.0.1" ga o'ting.
Biz qidirayotgan manzil MAC manzili bo'lib, "ab: 64: be: 8b: ce: 82" ga o'xshaydi.
4 -qadam: tugmachani sinab ko'rish
Siz har safar tugma bosilganda xabarni chop etish uchun oddiy skript yozib, to'g'ri manzilni topganingizni tasdiqlashingiz mumkin.
Tuguncha-tugmachali katalog ichida yangi skript yarating.
sudo nano tugma_test.js
Va faylga quyidagilarni nusxa ko'chiring:
var dash_button = talab qilish ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // MENZILINGIZNI O'RNATISH exec = talab ('child_process'). exec; dash.on ('aniqlandi', function () {console.log ('Tugma bosildi!');});
Ikkinchi satrda x -ni yangi topilgan tugma manzili bilan almashtiring. Faylni Ctl-x, y bilan saqlang.
Skriptni ishga tushiring va tugmani bosing.
sudo tuguni button_test.js
Siz "Tugma bosildi!" Ni ko'rishingiz kerak. chop etish. Endi biz tugmachalarni bosishni aniqlay olsak, ularga asoslangan harakatlarni boshlashimiz mumkin!
5 -qadam: Boshlang'ich davlat hisobini o'rnating
Endi biz Dash tugmachasini bosganimizda buyruq qatori xabarini ishga tushirishimiz mumkin, biz har xil narsalarni ishga sola olamiz! Bu holda men matnli xabarni yuboraman - biz elektron pochtamizni tekshirmagunimizcha, eshik oldida turganlarning kutishini istamaymiz.
Matnli bildirishnomani yuborishning bir necha yo'li bor - Twilio yoki PushBullet kabi xizmatlar. Men topgan eng oson usullardan biri Initial State orqali edi. Bu minimal qo'shimcha kodlashni talab qildi va mening tugmacham qachon bosilganligini asboblar paneli ko'rinishida ko'rsatdi.
Https://iot.app.initialstate.com saytiga o'ting va yangi hisob yarating.
NodeJS uchun boshlang'ich holat SDK -ni ish stoliga/noutbukga/Raspberry Pi -ga o'rnatishingiz kerak. Buyruqning xohishi bilan (avval Pi -ga SSH yozishni unutmang) quyidagi buyruqni bajaring:
cd/home/pi/node_modules/node-dash-tugmasi
sudo npm boshlang'ich holatini o'rnating
Streamerni sinab ko'rish uchun test faylini yarating:
nano stream_test.js
Va quyidagilarni nusxa ko'chiring (bu erda ham mavjud):
var IS = talab ('boshlang'ich holat');
var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Voqeani boshlang'ich holatiga o'tkazing bucket.push ('Demo holati', 'faol'); setTimeout (function () {// Boshqa voqea tugmasini bosing bucket.push ("Demo holati", "faol emas");}, 1000);
Skriptni Ctl-x, y bilan saqlang.
Bu skriptni ishga tushirishdan oldin, biz ikkinchi qatorga noyob kirish kalitini qo'shishimiz kerak.
2 -qatorda siz var bucket = IS.bucket bilan boshlanadigan qatorni ko'rasiz (…. Bu satrlar "NodeJS_SDK_Example" deb nomlangan yangi ma'lumotlar paketini yaratadi va sizning hisobingiz bilan bog'langan. Bu aloqa ikkinchi parametr tufayli sodir bo'ladi. Sizning boshlang'ich shtat hisob qaydnomangizga kirish kaliti - bu harflar va raqamlarning uzun seriyasidir. Agar siz o'z veb -brauzeringizda boshlang'ich davlat hisob qaydnomangizga kirsangiz, yuqori o'ng burchakdagi foydalanuvchi nomingizni bosing va "Mening sozlamalarim" bo'limiga o'ting. sizning kirish kalitingiz u erda.
Boshlang'ich davlat hisob qaydnomangizga ma'lumotlar oqimini yaratishimiz uchun test skriptini ishga tushiring. Quyidagilarni ishga tushiring:
tugun stream_test.js
Veb -brauzerda boshlang'ich davlat hisobingizga qayting. Jurnal javonining chap tomonida "NodeJS_SDK_Example" deb nomlangan yangi ma'lumotlar to'plami paydo bo'lishi kerak edi (ehtimol siz sahifani yangilashingiz kerak bo'ladi). Sinov ma'lumotlarini ko'rish uchun ushbu chelakka bosing.
Endi siz tugmachalarni bosishni boshlang'ich holatiga yuborishga tayyormiz!
6 -qadam: Yakuniy kod
Biz allaqachon SDK -ning boshlang'ich holatini o'rnatganmiz, shuning uchun uni kodimizga qo'shish kifoya!
Bu erda biz ilgari ishlatgan button_test.js skriptining o'zgartirilgan versiyasi:
var dash_button = talab qilish ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // MENZILINGIZNI O'RNATISH exec = talab ('child_process'). exec; var IS = talab ('boshlang'ich holat'); var chelak = IS.bucket ("Eshik qo'ng'irog'i", "YOUR_ACCESS_KEY"); dash.on ('aniqlandi', function () {console.log ('Tugma bosildi!'); bucket.push ('Old eshik', 'Kimdir shu erda!');});
Ushbu skriptni yangi faylga nusxa ko'chiring (tugun-tugmachali katalog ichida):
sudo nano eshik qo'ng'irog'i.js
Siz ko'rasiz, 5 va 6 -qatorlarda biz boshlang'ich holat modulini o'z ichiga olamiz va chelak parametrlarini taqdim etamiz. Siz 6 -qatorga noyob kirish kalitini kiritishingiz kerak.
10 -qator - bu biz ma'lumotlarni asl holatiga yuboradigan joy. Bu holatda men chelakchamga "Eshik qo'ng'irog'i" deb nom qo'ydim va "Kimdir bu erda!" mening old eshigimda. Agar sizda bir nechta Dash tugmalari bo'lsa, siz ularni "eshik qo'ng'irog'i" paqiriga jo'natishingiz mumkin, lekin ularni joylashuviga qarab nomlang (ya'ni "garaj eshigi", "yotoqxona" va boshqalar).
Skriptni Ctl-x, y bilan saqlang.
Skriptni tekshirish uchun quyidagini bajaring:
sudo tugunlari eshik qo'ng'irog'i.js.
Tugmani bosganingizda, siz boshlang'ich holat sahifasiga o'tishingiz va yon panelda "eshik qo'ng'irog'i" deb nomlangan yangi chelakni ko'rishingiz kerak. Endi Trigger qo'shamiz!
7 -qadam: SMS -triggerni o'rnatish
"Triggerlar" - bu boshlang'ich shtat xabarlari versiyasi va ularni qo'shish juda oson. Eshik qo'ng'irog'i paqirining ostidagi "Sozlamalar" ni bosing va keyin "Triggerlar" yorlig'ini bosing.
Ochiladigan ro'yxatda siz yoqmoqchi bo'lgan signalni tanlashingiz mumkin. Bizning chelakda faqat bittasi bor - "Old eshik" - shuning uchun uni tanlang. Keyin "mos keladigan" variantni tanlang va tugma bosilganda uzatiladigan xabarni qo'shing - bu holda "Kimdir bu erda!"
Nihoyat, SMS -xabarlarni qabul qilish uchun telefon raqamingizni qo'shing. Bu raqamni birinchi ishlatganda telefoningizga yuborilgan tasdiq kodini kiritishingiz kerak bo'ladi.
Telefon raqamingiz yonidagi "+" belgisini bosganingizga ishonch hosil qiling, aks holda tetik yaratilmaydi.
Triggerni saqlash uchun Triggers yorlig'ining pastki qismidagi "Bajarildi" tugmasini bosing.
Endi siz matnli ogohlantirishlarni qabul qilishga tayyormiz! Tugmani bosing (doorbell.js skript ishlayotgan paytda). Siz matnni 8 soniya yoki undan kam vaqt ichida olishingiz kerak!
Sizning jim eshik qo'ng'irog'ingiz ketishga tayyor! Agar siz skriptingiz elektr uzilishida qayta boshlanishiga ishonch hosil qilmoqchi bo'lsangiz, o'qishni davom ettiring. Shuningdek, men chelakchangizga emojilar qo'shishni va signal nomlarini ko'rib chiqaman.
8 -qadam: boshqaruv panelini shaxsiylashtirish
Agar siz boshlang'ich shtat panelini bezashni xohlasangiz, emojilar qo'shish yoki ismlarni o'zgartirish juda oddiy.
Plitka nomini o'zgartirish uchun uning ustiga sichqonchaning o'ng tugmasi bilan bosing va "Plitkani tahrirlash" -ni tanlang. Sarlavha maydonining ichiga istalgan kulgichlar uchun yorliq qo'yishingiz mumkin. Konfiguratsiya oynasining yuqori qismidagi "x" tugmachasini bosish o'zgarishlarni saqlaydi.
Buni chelak nomi ostidagi "Sozlamalar" tugmachasini bosib, keyin Ism maydonini tahrir qilish orqali qilishingiz mumkin.
Ma'lumotlarga ko'proq shaxsiylik va kontekst berish uchun siz boshqaruv paneliga fon tasvirini qo'shishingiz mumkin.
9 -qadam: skriptni yuklashdan boshlash
Sizning uy kompyuteringizda yoki Pi -da ishlaydigan skript bizning jim eshik qo'ng'irog'imizning kalitidir. Agar biror narsa elektr uzilishlari kabi ro'y bersa, biz skriptimiz qayta ishga tushishiga ishonch hosil qilmoqchimiz.
Mac -da biz crontab va nano matn muharriri deb nomlangan xizmatdan foydalanamiz:
env EDITOR = nano crontab -e
Fayl ichiga quyidagilarni qo'shing:
@reboot nohup sudo tuguni /Users/UserName/node_modules/node-dash-button/doorbell.js &
"UserName" ni o'z ismingiz bilan almashtirishga ishonch hosil qiling. Agar siz skriptni boshqa nom bilan nomlagan bo'lsangiz yoki uni boshqa katalogga qo'ysangiz, /Users/UserName/node_modules/node-dash-button/doorbell.js ni to'g'ri yo'l bilan almashtiring. Mening misolimdagi yo'l-bu asosiy foydalanuvchi katalogi, keyin node_modules/node-dash-button katalogi. Ushbu ko'rsatmalarga amal qilib, fayl yo'l nomini osongina nusxalashingiz mumkin.
Faylni Ctl-x, y bilan saqlang. Kompyuterni qayta ishga tushirish orqali uning ishlashini tekshirish mumkin.
Windows -da tugun skriptini qayta ishga tushirishni boshlash uchun bu erdagi ko'rsatmalarga amal qiling. Skriptning butun yo'lini ko'rsatganingizga ishonch hosil qiling.
Raspberry Pi/Linux mashinasida Pi -ni yuklashdan skriptni ishga tushirish juda oddiy. Biz crontab deb nomlangan xizmatdan foydalanamiz:
sudo crontab -e
O'zingiz yoqtirgan matn muharririni tanlang (menga nano yoqadi) va faylning pastki qismiga (barcha izohlar ostida) qo'shing:
@reboot nohup sudo tuguni /home/pi/node_modules/node-dash-button/doorbell.js &
Agar siz skriptni boshqa nom bilan nomlagan bo'lsangiz yoki uni boshqa katalogga qo'ysangiz, /home/pi/node_modules/node-dash-button/doorbell.js ni to'g'ri yo'l bilan almashtiring. Mening misolimdagi yo'l-bu asosiy Pi katalogi, keyin node_modules/node-dash-button katalogi.
Faylni saqlang! Quvvat kuchga kirishi uchun uni qayta ishga tushirish kerak, lekin agar siz ham internet aloqasi uzilib qolsa, qayta ishga tushirishni xohlasangiz, biz keyingi bosqichda crontab -ga boshqa vazifani qo'shmoqchimiz.
Tarmoqning pasayishi bilan shug'ullanish uchun, men Pi -ning tarmoq ulanishini aniqlash va agar u bo'lmasa, uni qayta ishga tushirish usulini joriy etishga qaror qildim.
Avval WiFi -ni tekshirish uchun skript yaratishimiz kerak, keyin o'chirishni boshlashimiz kerak:
CD
sudo nano /usr/local/bin/checkwifi.sh
IP -manzilni yo'riqnoma IP -manziliga o'zgartirganingizga ishonch hosil qilib, faylning ichki qismiga quyidagilarni joylashtiring:
ping -c4 IP_ADDRESS> /dev /null
agar [$? ! = 0] keyin sudo /sbin /shutdown -r now fi
Ping ulanishni tekshiradi. Agar u nol bo'lmagan chiqish kodi bilan qaytsa, skript o'chirish buyrug'ini yuboradi. Saqlash va skriptdan chiqish. Endi uning ruxsatlari tartibda ekanligiga ishonch hosil qiling:
sudo chmod 775 /usr/local/bin/checkwifi.sh
Xuddi bizning doorbell.js skriptiga o'xshab, biz bu skriptni crontab -ga qo'shamiz:
sudo crontab -e
Joy
*/5 * * * */usr/bin/sudo -H /usr/local/bin/checkwifi.sh >>/dev/null 2> & 1
biz ilgari qo'shgan chiziq ostida. Bu bizning checkwifi skriptini har 5 daqiqada ishga tushiradi. Endi crontab -dan chiqing va Pi -ni qayta ishga tushiring:
sudo qayta yuklash
Hammasi sozlanishi va ishlashi kerak! Shuningdek, ushbu qo'llanmani bajarib, Pi -da ishlaydigan jarayonlarni kuzatish usulini o'rnatishingiz mumkin.
10 -qadam: Xulosa
Endi sizda Amazon etkazib beruvchilari sizni uyg'otmasligi uchun jim eshik qo'ng'irog'i bor! Agar sizda biron bir savol bo'lsa yoki menga noyob o'zgartirishlar kelsa, menga xabar bering.
Tavsiya:
Maxsus eshik tagligi, eshik qo'ng'irog'i: 6 qadam
Maxsus eshik tagligi eshikni qo'ng'irog'i. Salom! Mening ismim Jastin, men o'rta maktabda kichikman va bu ko'rsatma sizga kimdir eshik to'shagini bosganda qanday qo'ng'iroq qilish kerakligini ko'rsatib beradi va siz xohlagan ohang yoki qo'shiq bo'lishi mumkin! Eshik tagligi eshikni qo'zg'atgani uchun
Simsiz eshik qo'ng'irog'i - (Raspberry PI va Amazon Dash): 4 qadam (rasmlar bilan)
Simsiz eshik qo'ng'irog'i - (Raspberry PI va Amazon Dash): Bu nima qiladi? (videoga qarang) Tugma bosilganda, Raspberry simsiz tarmoqqa kiruvchi yangi qurilmani topadi. Shunday qilib, u bosilgan tugmani taniy oladi va bu ma'lumotni mobil telefoningizga (yoki sizning qurilmangizga) uzatishi mumkin
Video eshik qo'ng'irog'ini raqamli qo'shiq qo'ng'irog'iga moslashtirish: 5 qadam
Video eshik qo'ng'irog'ini raqamli qo'shiq qo'ng'irog'iga moslashtirish: Qisqasi, Best Buy menga Simplisafe eshik qo'ng'irog'ini qo'shiq ohangli eshik jiringlagichi bilan o'rnatolmasligimni aytdi. Yuzlab xabarlarni o'qib, buni amalga oshirish mumkin emasligini aytdi. Simplisafe buni amalga oshirish mumkin emasligini aytdi, lekin baribir to'plamni etkazib berdi. Ulagichlar to'plami bar uchun mo'ljallangan
IFTTT yordamida simli eshik qo'ng'irog'ini aqlli eshik qo'ng'irog'iga aylantiring: 8 qadam
IFTTT yordamida simli eshik qo'ng'irog'ini aqlli eshik qo'ng'irog'iga aylantiring: WiFi eshik qo'ng'irog'i sizning mavjud simli eshik qo'ng'irog'ingizni aqlli eshik qo'ng'irog'iga aylantiradi. https://www.fireflyelectronix.com/product/wifidoor
Uy yordamchisi yordamida simli eshik qo'ng'irog'ini aqlli eshik qo'ng'irog'iga aylantiring: 6 qadam
Uy yordamchisi yordamida simli eshik qo'ng'irog'ini aqlli eshik qo'ng'irog'iga aylantiring: mavjud simli eshik qo'ng'irog'ini aqlli eshik qo'ng'irog'iga aylantiring. Kimdir sizning qo'ng'irog'ingizga qo'ng'iroq qilganda, fotosurat yoki video ogohlantirishni olish uchun telefoningizga yoki oldingi old kamerangiz bilan bog'laning