Mundarija:

Amazon Dash tugmasi jim eshik qo'ng'irog'i: 10 qadam (rasmlar bilan)
Amazon Dash tugmasi jim eshik qo'ng'irog'i: 10 qadam (rasmlar bilan)

Video: Amazon Dash tugmasi jim eshik qo'ng'irog'i: 10 qadam (rasmlar bilan)

Video: Amazon Dash tugmasi jim eshik qo'ng'irog'i: 10 qadam (rasmlar bilan)
Video: Piston va knopka qoqish (qo'l bola usuli) 2024, Iyul
Anonim
Image
Image

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

Chiziq tugmachasini sozlash
Chiziq tugmachasini sozlash
Chiziq tugmachasini sozlash
Chiziq 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

Tugma manzilini toping
Tugma manzilini toping
Tugma manzilini toping
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

Dastlabki davlat hisobini o'rnatish
Dastlabki davlat hisobini o'rnatish
Dastlabki davlat hisobini o'rnatish
Dastlabki davlat hisobini o'rnatish

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

Yakuniy kod
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

SMS -triggerni sozlash
SMS -triggerni sozlash

"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

Boshqaruv panelini shaxsiylashtirish
Boshqaruv panelini shaxsiylashtirish
Boshqaruv panelini shaxsiylashtirish
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

Xulosa
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: