Turinys:

„Amazon Dash“mygtukas tylus durų skambutis: 10 žingsnių (su nuotraukomis)
„Amazon Dash“mygtukas tylus durų skambutis: 10 žingsnių (su nuotraukomis)

Video: „Amazon Dash“mygtukas tylus durų skambutis: 10 žingsnių (su nuotraukomis)

Video: „Amazon Dash“mygtukas tylus durų skambutis: 10 žingsnių (su nuotraukomis)
Video: 2023 m. lapkričio 5 d. podcast'as: žiema ateina. Programos nemoka vairuotojams! 2024, Lapkritis
Anonim
Image
Image

Nuolat žiūrite pro langą, kad galėtumėte sulaikyti lankytojus prieš jiems skambinant į duris? Pavargote nuo šunų ir kūdikio išprotėjimo bet kuriuo metu, kai suskamba? Nenorite išleisti daug pinigų „protingam“sprendimui?

Nutildyti durų skambutį taip pat paprasta, kaip nulaužti 5 USD vertės „Amazon Dash“mygtuką! Vienintelis kitas dalykas, kurio jums reikia, yra kompiuteris, kuris visada yra namuose, kaip, tarkime, „Raspberry Pi“, kurį sėdite. Gaukite teksto pranešimus bet kada, kai kas nors paspaudžia jūsų naują durų skambutį, ir nudžiuginkite visus namus. (Jei turite išmanųjį laikrodį, gauti pranešimus dar šauniau!)

Šiam projektui jums reikės:

  • „Amazon“brūkšnio mygtukas
  • Kompiuteris, kuris lieka namuose (kaip „Raspberry Pi“)

1 veiksmas: brūkšnio mygtuko nustatymas

Brūkšnio mygtuko nustatymas
Brūkšnio mygtuko nustatymas
Brūkšnio mygtuko nustatymas
Brūkšnio mygtuko nustatymas

„Dash“mygtuko paruošimas įsilaužimui yra gana paprastas - jums tereikia atlikti visą „Amazon“sąrankos procesą, atėmus produkto pasirinkimą.

Šiai sąrankai reikalinga „Amazon“programa, kurią galima naudoti „iOS“ir „Android“. Prisijungę prie „Amazon“programos viduje, eikite į „Jūsų paskyra“-> „Brūkšnelio mygtukai ir įrenginiai“-> Nustatykite naują įrenginį. Pasirinkite „Brūkšnelio mygtukas“ir vykdykite instrukcijas, kol būsite paraginti pasirinkti produktą.

Uždarykite programą. Neatšaukite sąrankos; nespauskite x - tiesiog uždarykite programą. Jei netyčia pasirinkote produktą arba naudojate seną „Dash“mygtuką, tiesiog pašalinkite įrenginį naudodami „Amazon“programą ir dar kartą atlikite šiuos veiksmus.

Jei norite pakeisti savo mygtuko išvaizdą, nulupti etiketės lipduką lengva.

2 žingsnis: Įdiekite „Node JS“savo įrenginyje

Norėdami rasti (ir vėliau naudoti) „Dash“mygtuko aparatinės įrangos adresą, turime naudoti „Node JS“. Tai galima įdiegti bet kuriame kompiuteryje - „Mac“, „Linux“(„Raspberry Pi“) arba „Windows“.

Paskutinis mūsų projektas priklauso nuo to, ar turime kompiuterį, prijungtą prie to paties tinklo kaip ir mūsų mygtukas, kuriame veikia nepertraukiamas mazgo scenarijus, todėl rinkdamiesi įrenginį turėkite tai omenyje. Puikiai tiktų namų darbalaukis arba „Raspberry Pi“.

Aš pasirenku naudoti „Pi 3“, tačiau „Pi Zero“su „WiFi“rakteliu taip pat veiktų!

Norėdami įdiegti „Node JS“savo kompiuteryje, vykdykite atitinkamas instrukcijas:

  • Raspberry Pi
  • „Mac OS“
  • „Windows“

Alexas Hortonas parašė fantastišką modulį tam, ką mes bandome padaryti, vadinamą mazgo brūkšnio mygtuku. Turime jį įdiegti kartu su mazgų paketų tvarkykle (npm) ir libpcap. Į komandų eilutę įveskite šias komandas:

sudo apt-get install npm

sudo apt-get install libpcap-dev npm install node-dash-button

3 veiksmas: raskite mygtuko adresą

Raskite mygtuko adresą
Raskite mygtuko adresą
Raskite mygtuko adresą
Raskite mygtuko adresą

Mes radome paprastą būdą rasti brūkšnelio mygtuko adresą.

Pirmiausia maždaug 5 sekundes palaikykite nuspaudę brūkšnelio mygtuko mygtuką, kol šviesos diodas pradės lėtai mirksėti. Telefone atidarykite „Wi -Fi“nustatymus ir raskite „Amazon Configure Me“belaidį internetą. Prisijungę prie to, atidarykite žiniatinklio naršyklę ir eikite į „https://192.168.0.1“.

Ieškomas adresas yra MAC adresas ir atrodys kaip „ab: 64: be: 8b: ce: 82“.

4 veiksmas: mygtuko tikrinimas

Galite patvirtinti, kad radote teisingą adresą, parašę paprastą scenarijų, kad kiekvieną kartą paspaudus mygtuką būtų išspausdintas pranešimas.

Sukurkite naują scenarijų mazgo-brūkšnio mygtuko katalogo viduje.

sudo nano button_test.js

Ir į failą nukopijuokite:

var dash_button = reikalauti ('node-dash-button'), brūkšnys = brūkšnys_button ('xx: xx: xx: xx: xx: xx'), // PAKEISTI JŪSŲ ADRESU exec: reikalauja ('vaiko_procesas'). exec; dash.on ('aptiktas', function () {console.log ('Mygtukas paspaustas!');});

Antroje eilutėje esančius x pakeiskite naujai rastu mygtuko adresu. Išsaugokite failą naudodami Ctl-x, y.

Paleiskite scenarijų ir paspauskite mygtuką.

sudo mazgas button_test.js

Turėtumėte pamatyti „Mygtuką paspausti!“. Atspausdinti. Dabar, kai galime aptikti mygtukų paspaudimus, pagal juos galime suaktyvinti veiksmus!

5 veiksmas: nustatykite pradinę būsenos sąskaitą

Nustatykite pradinę būsenos sąskaitą
Nustatykite pradinę būsenos sąskaitą
Nustatykite pradinę būsenos sąskaitą
Nustatykite pradinę būsenos sąskaitą

Dabar, kai paspaudę „Dash“mygtuką galime suaktyvinti komandinės eilutės pranešimą, galime suaktyvinti įvairius kitus dalykus! Šiuo atveju aš siunčiu tekstinį pranešimą - nenorime, kad kas nors prie durų lauktų, kol patikrinsime el.

Yra keletas būdų, kaip suaktyvinti teksto pranešimą - tokios paslaugos kaip „Twilio“ar „PushBullet“. Vienas iš paprasčiausių būdų, kuriuos radau, buvo per pradinę būseną. Tam reikėjo minimalaus papildomo kodavimo ir man buvo pateiktas prietaisų skydelio vaizdas, kada buvo paspaustas mano mygtukas.

Eikite į https://iot.app.initialstate.com ir sukurkite naują paskyrą.

Į savo darbalaukį/nešiojamąjį kompiuterį/„Raspberry Pi“turite įdiegti „NodeJS“pradinės būsenos SDK. Komandų eilutėje (nepamirškite SSH į savo Pi pirmiausia) paleiskite šią komandą:

cd/home/pi/node_modules/node-dash-button

sudo npm įdiegti pradinę būseną

Norėdami išbandyti transliaciją, sukurkite bandomąjį failą:

nano stream_test.js

Ir nukopijuokite ir įklijuokite (taip pat rasite čia):

var IS = reikalauti ('pradinė būsena');

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Push event į pradinę būseną bucket.push ('Demo State', 'active'); setTimeout (function () {// Push another event bucket.push ('Demo State', 'neaktyvus');}, 1000);

Išsaugokite scenarijų naudodami Ctl-x, y.

Tačiau prieš paleisdami šį scenarijų, antroje eilutėje turime pridėti unikalų prieigos raktą.

2 eilutėje pamatysite eilutę, prasidedančią var bucket = IS.bucket (…. Šios eilutės sukuria naują duomenų grupę pavadinimu „NodeJS_SDK_Example“ir yra susieta su jūsų paskyra. Šis susiejimas įvyksta dėl antrojo parametro tame pačiame eilutė. Jūsų pradinės būsenos paskyros prieigos raktas yra ilga raidžių ir skaičių seka. Jei savo žiniatinklio naršyklėje eisite į pradinės būsenos paskyrą, viršuje dešinėje spustelėkite savo vartotojo vardą, tada eikite į „mano nustatymai“. savo prieigos raktą.

Paleiskite bandomąjį scenarijų, kad įsitikintumėte, jog galime sukurti duomenų srautą į jūsų pradinės būsenos paskyrą. Vykdykite šiuos veiksmus:

mazgas stream_test.js

Grįžkite į pradinės būsenos paskyrą žiniatinklio naršyklėje. Kairėje žurnalo lentynos pusėje turėtų būti rodomas naujas duomenų rinkinys „NodeJS_SDK_Example“(gali tekti atnaujinti puslapį). Spustelėkite šį segmentą, kad pamatytumėte bandymo duomenis.

Dabar esate pasiruošę nuspausti mygtukus į pradinę būseną!

6 žingsnis: galutinis kodas

Galutinis kodas
Galutinis kodas

Mes jau įdiegėme pradinio būsenos mazgo SDK, todėl mums tereikia jį pridėti prie savo kodo!

Čia yra pakeista anksčiau naudoto scenarijaus „button_test.js“versija:

var dash_button = reikalauti ('node-dash-button'), brūkšnys = brūkšnys_button ('xx: xx: xx: xx: xx: xx'), // PAKEISTI JŪSŲ ADRESU exec: reikalauja ('vaiko_procesas'). exec; var IS = reikalauti ('pradinė būsena'); var bucket = IS.bucket ('Durų skambutis', 'YOUR_ACCESS_KEY'); dash.on ('aptiktas', function () {console.log ('Mygtukas paspaustas!'); bucket.push ('Priekinės durys', 'Kažkas čia!');});

Nukopijuokite ir įklijuokite šį scenarijų į naują failą (vis dar mazgo-brūkšnio mygtuko katalogo viduje):

sudo nano durų skambutis

Pastebėsite, kad 5 ir 6 eilutėse mes įtraukiame pradinės būsenos modulį ir pateikiame segmentų parametrus. 6 eilutėje turite įdėti savo unikalų prieigos raktą.

10 eilutėje mes iš tikrųjų siunčiame duomenis į pradinę būseną. Šiuo atveju aš pavadinau savo kibirą „Durų skambutis“ir transliuosiu „Kažkas čia!“prie mano lauko durų. Jei turite kelis „Dash“mygtukus, galite juos visus nusiųsti į „Doorbell“, tačiau pavadinkite juos pagal jų vietą (pvz., „Garažo durys“, „Miegamasis“ir kt.).

Išsaugokite scenarijų naudodami Ctl-x, y.

Norėdami išbandyti scenarijų, paleiskite:

sudo mazgas doorbell.js.

Kai paspausite mygtuką, turėtumėte eiti į savo pradinės būsenos puslapį ir šoninėje juostoje pamatyti naują kibirą, pavadintą „Durų skambutis“. Dabar pridėkime trigerį!

7 veiksmas: SMS aktyviklio nustatymas

SMS aktyviklio nustatymas
SMS aktyviklio nustatymas

„Trigeriai“yra pradinės būsenos pranešimų versija ir juos labai lengva pridėti. Tiesiog spustelėkite „Nustatymai“po durų skambučio kaušu, tada spustelėkite skirtuką „Trigeriai“.

Išskleidžiamajame sąraše galite pasirinkti signalą, kurį norite suaktyvinti. Mūsų kibiras turi tik vieną - „priekines duris“- todėl pasirinkite tai. Tada pasirinkite parinktį „atitikti“ir pridėkite pranešimą, kurį transliuojate, kai paspaudžiamas mygtukas - šiuo atveju „Kažkas čia!“

Galiausiai pridėkite savo telefono numerį, kad gautumėte SMS žinutes. Pirmą kartą naudodami šį numerį turėsite įvesti patvirtinimo kodą, išsiųstą į jūsų telefoną.

Įsitikinkite, kad paspaudėte „+“ženklą šalia savo telefono numerio, kitaip aktyviklis nebus sukurtas.

Norėdami išsaugoti aktyviklį, skirtuko „Aktyvikliai“apačioje spustelėkite „Atlikta“.

Dabar esate pasiruošę gauti tekstinius įspėjimus! Paspauskite mygtuką (kol veikia „doorbell.js“scenarijus). Jūs turėtumėte gauti tekstą per 8 sekundes ar greičiau!

Jūsų tylus durų skambutis yra paruoštas! Jei norite įsitikinti, kad scenarijus iš naujo paleidžiamas dingus elektrai, toliau skaitykite. Taip pat peržiūrėsiu jaustukų pridėjimą prie jūsų kibiro ir signalų pavadinimus.

8 veiksmas: suasmeninkite prietaisų skydelį

Prietaisų skydelio suasmeninimas
Prietaisų skydelio suasmeninimas
Prietaisų skydelio suasmeninimas
Prietaisų skydelio suasmeninimas

Jei norite patobulinti savo pradinės būsenos prietaisų skydelį, labai paprasta pridėti jaustukų ar pakeisti vardus.

Norėdami pakeisti plytelės pavadinimą, tiesiog dešiniuoju pelės mygtuku spustelėkite plytelę ir pasirinkite „redaguoti plytelę“. Pasirodžiusiame pavadinimo laukelyje galite įdėti bet kokių jaustukų nuorodą. Spustelėję „x“konfigūracijos lango viršuje, pakeitimai bus išsaugoti.

Taip pat galite tai padaryti su savo segmento pavadinimu, spustelėdami „Nustatymai“po kaušo pavadinimu ir tada redaguodami lauką Pavadinimas.

Prie prietaisų skydelio galite pridėti fono paveikslėlį, kad jūsų duomenys taptų asmeniškesni ir kontekstas.

9 veiksmas: scenarijaus paleidimas iš įkrovos

Scenarijus, kurį naudojate savo namų kompiuteryje arba „Pi“, yra raktas į tylų mūsų durų skambutį. Jei kažkas nutinka kaip elektros energijos tiekimo nutraukimas, norime įsitikinti, kad mūsų scenarijus vėl pradės veikti.

„Mac“sistemoje naudosime paslaugą, vadinamą „crontab“ir „nano“teksto redaktoriumi:

env REDAKTORIUS = nano crontab -e

Failo viduje pridėkite:

@reboot nohup sudo node /Users/UserName/node_modules/node-dash-button/doorbell.js &

Būtinai pakeiskite „UserName“savo. Jei savo scenarijų pavadinote kitaip arba įdėjote į kitą katalogą, pakeiskite /Users/UserName/node_modules/node-dash-button/doorbell.js teisingu keliu. Mano pavyzdyje kelias yra pagrindinis vartotojo katalogas, po kurio eina node_modules/node-dash-button katalogas. Vykdydami šias instrukcijas, galite lengvai nukopijuoti failo kelio pavadinimą.

Išsaugokite failą naudodami Ctl-x, y. Galite patikrinti, ar tai veikia, iš naujo paleisdami kompiuterį.

„Windows“sistemoje Vykdykite čia pateiktas instrukcijas, kad paleistumėte mazgo scenarijų iš naujo. Būtinai nurodykite visą scenarijaus kelią.

„Raspberry Pi“/„Linux“įrenginyje scenarijaus paleidimas iš „Pi“įkrovos yra gana paprastas. Mes naudosime paslaugą, pavadintą crontab:

sudo crontab -e

Pasirinkite savo mėgstamą teksto rengyklę (man patinka nano) ir failo apačioje (po visais komentarais) pridėkite:

@reboot nohup sudo mazgas /home/pi/node_modules/node-dash-button/doorbell.js &

Jei savo scenarijų pavadinote kitaip arba įdėjote į kitą katalogą, pakeiskite /home/pi/node_modules/node-dash-button/doorbell.js teisingu keliu. Mano pavyzdyje kelias yra pagrindinis „Pi“katalogas, po kurio eina „node_modules“/„node-dash-button“katalogas.

Išsaugokite failą! Turite iš naujo paleisti, kad jis įsigaliotų, tačiau jei taip pat norite paleisti iš naujo, jei nutrūks interneto ryšys, šiame kitame žingsnyje pridėsime dar vieną užduotį prie savo „crontab“.

Norėdami valdyti tinklo kritimą, nusprendžiau tiesiog įdiegti būdą, kaip „Pi“aptiks tinklo ryšį ir iš naujo paleis, jei jo nėra.

Pirmiausia turime sukurti scenarijų, kad patikrintume „WiFi“ir tada išjungtume:

cd

sudo nano /usr/local/bin/checkwifi.sh

Įdėkite šį failo vidų ir būtinai pakeiskite IP adresą savo maršrutizatoriaus IP adresu:

ping -c4 IP_ADDRESS> /dev /null

jei [$? ! = 0] tada sudo /sbin /shutdown -r dabar fi

Ping patikrina ryšį. Jei jis grįžta su ne nuliniu išėjimo kodu, scenarijus siunčia išjungimo komandą. Išsaugokite ir išeikite iš scenarijaus. Dabar įsitikinkite, kad jo leidimai yra tvarkingi:

sudo chmod 775 /usr/local/bin/checkwifi.sh

Kaip ir mūsų „doorbell.js“scenarijus, mes pridėsime šį scenarijų prie „crontab“:

sudo crontab -e

Vieta

*/5 * * * */usr/bin/sudo -H /usr/local/bin/checkwifi.sh >>/dev/null 2> & 1

po eilute, kurią pridėjome anksčiau. Tai atliks mūsų „checkwifi“scenarijų kas 5 minutes. Dabar išeikite iš „crontab“ir iš naujo paleiskite „Pi“:

sudo perkraukite

Viskas turi būti nustatyta ir veikia! Taip pat galite nustatyti būdą, kaip stebėti „Pi“veikiančius procesus, vadovaudamiesi šia pamoka.

10 žingsnis: Išvada

Išvada
Išvada

Dabar turite tylų durų skambutį, kad tie „Amazon“pristatymo vaikinai jūsų nepažadintų! Praneškite man, jei turite klausimų ar sugalvojate kokių nors unikalių pakeitimų.

Rekomenduojamas: