Përmbajtje:

Zile e dyerve të heshtura të Amazon Dash Button: 10 hapa (me fotografi)
Zile e dyerve të heshtura të Amazon Dash Button: 10 hapa (me fotografi)

Video: Zile e dyerve të heshtura të Amazon Dash Button: 10 hapa (me fotografi)

Video: Zile e dyerve të heshtura të Amazon Dash Button: 10 hapa (me fotografi)
Video: I Went to a RUSSIAN ELECTRIC TRANSPORT Expo 2024, Korrik
Anonim
Image
Image

Vazhdimisht shikoni nga dritarja në mënyrë që të mund të përgjoni vizitorët para se të bien zilja e derës? Jeni të lodhur nga qentë dhe foshnja që çmenden sa herë që bie? Nuk doni të shpenzoni një pasuri për një zgjidhje "të zgjuar"?

Bërja e një zileje të heshtur të derës është po aq e lehtë sa të hakosh një buton Amazon Dash 5 dollarësh! E vetmja gjë tjetër që ju nevojitet është një kompjuter që është gjithmonë në shtëpi - si, të themi, Raspberry Pi që keni ulur. Merrni njoftime me tekst në çdo kohë që dikush shtyn zilen tuaj të re të derës dhe mbani të gjithë shtëpinë të lumtur. (Evenshtë edhe më freskuese të marrësh njoftime nëse ke një orë inteligjente!)

Për këtë projekt do t'ju duhet:

  • Një buton Amazon Dash
  • Një kompjuter që qëndron në shtëpi (si një Raspberry Pi)

Hapi 1: Vendosja e butonit tuaj Dash

Vendosja e butonit tuaj Dash
Vendosja e butonit tuaj Dash
Vendosja e butonit tuaj Dash
Vendosja e butonit tuaj Dash

Përgatitja e butonit tuaj Dash për hakim është shumë e thjeshtë - thjesht duhet të kaloni të gjithë procesin e konfigurimit të Amazon pa përzgjedhjen e një produkti.

Ky konfigurim kërkon aplikacionin Amazon, i cili është i disponueshëm për iOS dhe Android. Pasi të jeni regjistruar në Amazon brenda aplikacionit, shkoni te Llogaria juaj -> Buttons & Devices Dash -> Konfiguroni një pajisje të re. Zgjidhni "Dash Button" dhe ndiqni udhëzimet derisa t'ju kërkohet të zgjidhni një produkt.

Mbyll aplikacionin. Mos e anuloni konfigurimin; mos godisni x - thjesht mbyllni aplikacionin. Nëse keni zgjedhur aksidentalisht një produkt ose jeni duke ripërdorur një buton të vjetër Dash, thjesht hiqeni pajisjen përmes aplikacionit Amazon dhe ndiqni këto hapa përsëri.

Nëse jeni duke kërkuar të ndryshoni pamjen e butonit tuaj, heqja e ngjitësit të etiketës është e lehtë.

Hapi 2: Instaloni Node JS në pajisjen tuaj

Për të gjetur (dhe përdorur më pas) adresën e harduerit të butonit tuaj Dash, duhet të përdorim Node JS. Kjo mund të instalohet në çdo kompjuter - Mac, Linux (Raspberry Pi), ose Windows.

Projekti ynë përfundimtar varet nga të pasurit një kompjuter që është i lidhur me të njëjtin rrjet me butonin tonë që po ekzekuton një skenar Node të pandërprerë, prandaj mbajeni këtë në mend kur zgjidhni pajisjen tuaj. Një desktop në shtëpi ose Raspberry Pi do të ishte i përsosur.

Unë zgjedh të përdor një Pi 3, por një Pi Zero me një dongle WiFi do të funksiononte gjithashtu!

Për të instaluar Node JS në kompjuterin tuaj, ndiqni udhëzimet e duhura:

  • Mjedër Pi
  • Mac OS
  • Windows

Alex Horton shkroi një modul fantastik vetëm për atë që ne po përpiqemi të bëjmë të quajtur nyje-dash-button. Ne duhet ta instalojmë, së bashku me menaxherin e paketave të nyjeve (npm) dhe libpcap. Futni këto komanda në rreshtin e komandës:

sudo apt-get install npm

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

Hapi 3: Gjeni adresën e butonit

Gjeni adresën e butonit
Gjeni adresën e butonit
Gjeni adresën e butonit
Gjeni adresën e butonit

Ne kemi gjetur një mënyrë të thjeshtë për të gjetur adresën e butonit tuaj dash.

Së pari, mbani shtypur butonin në butonin tuaj dash për rreth 5 sekonda derisa LED fillon të goditet ngadalë në blu. Në telefonin tuaj, hapni cilësimet tuaja wifi dhe gjeni wifi "Amazon Configure Me". Pasi të lidheni me këtë, hapni shfletuesin tuaj të internetit dhe shkoni te 'https://192.168.0.1'.

Adresa që ne po kërkojmë është adresa MAC dhe do të duket si "ab: 64: be: 8b: ce: 82".

Hapi 4: Testimi i butonit tuaj

Ju mund të konfirmoni që keni gjetur adresën e saktë duke shkruar një shkrim të thjeshtë për të printuar një mesazh sa herë që shtypni butonin.

Krijoni një skript të ri brenda drejtorisë së nyjeve-dash-button.

sudo nano button_test.js

Dhe kopjoni-ngjisni sa vijon në skedar:

var dash_button = kërkoj ('nyja-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // Z RVENDSIM ME ADRESN TUAJ exec = kërko ('procesi i fëmijës').ecec; dash.on ('zbuluar', funksioni () {console.log ('Shtypur butonin!');});

Zëvendësoni x -të në rreshtin e dytë me adresën e butonit tuaj të sapo gjetur. Ruani skedarin me Ctl-x, y.

Filloni skenarin dhe shtypni butonin tuaj.

nyja sudo button_test.js

Duhet të shihni "Butoni i shtyrë!" printoni Tani që ne mund të zbulojmë shtypjet e butonave, ne mund të shkaktojmë veprime bazuar në to!

Hapi 5: Vendosni llogarinë fillestare të shtetit

Vendosni llogarinë fillestare të shtetit
Vendosni llogarinë fillestare të shtetit
Vendosni llogarinë fillestare të shtetit
Vendosni llogarinë fillestare të shtetit

Tani që ne mund të shkaktojmë një mesazh të vijës së komandës kur shtypim butonin Dash, ne mund të aktivizojmë të gjitha llojet e gjërave të tjera! Në këtë rast unë do të shkaktoj një mesazh me tekst - ne nuk duam që kush është në derë të presë derisa të kontrollojmë emailin tonë.

Ka disa mënyra për të shkaktuar një njoftim me tekst - shërbime si Twilio ose PushBullet. Një nga mënyrat më të lehta që gjeta ishte përmes gjendjes fillestare. Kërkonte kodim minimal shtesë dhe më siguroi një pamje të panelit kur ishte shtypur butoni im.

Shkoni në https://iot.app.initialstate.com dhe krijoni një llogari të re.

Duhet të instaloni SDK -në e gjendjes fillestare për NodeJS në desktopin/laptopin/Raspberry Pi. Në një komandë të shpejtë (mos harroni të futni SSH së pari në Pi tuaj), ekzekutoni komandën e mëposhtme:

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

sudo npm instaloni gjendjen fillestare

Për të testuar transmetuesin, krijoni një skedar testimi:

nano stream_test.js

Dhe kopjoni-ngjisni sa vijon (gjithashtu gjendet këtu):

var IS = kërkon ('gjendja fillestare');

kova var = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Shtyje ngjarjen në gjendjen fillestare të kovës.push ('Demo State', 'active'); setTimeout (funksioni () {// Shty një kovë tjetër të ngjarjes.push ('Demo State', 'inactive');}, 1000);

Ruani skenarin me Ctl-x, y.

Sidoqoftë, para se të mund të ekzekutojmë këtë skenar, duhet të shtojmë një çelës unik të hyrjes në rreshtin e dytë.

Në rreshtin 2, do të shihni një linjë që fillon me var bucket = IS.bucket (…. Kjo rresht krijon një kovë të re të të dhënave të quajtur "NodeJS_SDK_Example" dhe lidhet me llogarinë tuaj. Kjo shoqatë ndodh për shkak të parametrit të dytë në të njëjtën linjë. Çelësi i hyrjes në llogarinë tuaj fillestare të gjendjes është një seri e gjatë shkronjash dhe numrash. Nëse shkoni në llogarinë tuaj të gjendjes fillestare në shfletuesin tuaj të internetit, klikoni mbi emrin e përdoruesit në krye të djathtë, pastaj shkoni te "cilësimet e mia", do të gjeni çelësi juaj i hyrjes atje.

Drejtoni skriptin e provës për t'u siguruar që mund të krijojmë një rrjedhë të të dhënave në llogarinë tuaj të gjendjes fillestare. Drejtoni sa vijon:

nyja stream_test.js

Kthehuni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të internetit. Një kovë e re e të dhënave e quajtur "NodeJS_SDK_Example" duhet të jetë shfaqur në të majtë në raftin tuaj të regjistrit (mund t'ju duhet të rifreskoni faqen). Klikoni në këtë kovë për të parë të dhënat e testit.

Tani jeni gati për të dërguar shtypjet tuaja të butonave në gjendjen fillestare!

Hapi 6: Kodi Përfundimtar

Kodi Përfundimtar
Kodi Përfundimtar

Ne kemi instaluar tashmë SDK -në e Nyjës Fillestare të Gjendjes, kështu që gjithçka që duhet të bëjmë është ta shtojmë atë në kodin tonë!

Këtu është një version i modifikuar i skriptit button_test.js që kemi përdorur më herët:

var dash_button = kërkoj ('nyja-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // Z RVENDSIM ME ADRESN TUAJ exec = kërko ('procesi i fëmijës').ecec; var IS = kërkon ('gjendja fillestare'); kova var = IS.bucket ('Zile e dyerve', 'YOUR_ACCESS_KEY'); dash.on ('zbuluar', funksioni () {console.log ('Shtypur butonin!'); bucket.push ('Dera e përparme', 'Dikush është këtu!');});

Kopjoni-ngjisni këtë skenar në një skedar të ri (ende brenda drejtorisë së nyjeve-dash-button):

sudo nano zile derë.js

Ju do të vini re se në rreshtat 5 dhe 6 ne përfshijmë modulin e gjendjes fillestare dhe sigurojmë parametrat tanë të kovës. Ju duhet të vendosni çelësin tuaj unik të hyrjes nga më parë në linjën 6.

Linja 10 është vendi ku ne në të vërtetë dërgojmë të dhëna në gjendjen fillestare. Në këtë rast, unë e kam quajtur kovën time "Zile e dyerve" dhe po transmetoj "Dikush është këtu!" në derën time të përparme. Nëse keni shumë butona Dash, mund t'i dërgoni të gjitha në kovën "Doorbell", por emërtojini sipas vendndodhjes së tyre (p.sh. "Dera e Garazhit", "Dhoma gjumi", etj.).

Ruani skenarin me Ctl-x, y.

Për të testuar skriptin tuaj, ekzekutoni:

zile e derës sudo nyje.js.

Kur shtypni butonin tuaj, duhet të jeni në gjendje të shkoni në faqen tuaj të gjendjes fillestare dhe të shihni një kovë të re të quajtur "Zile e dyerve" në shiritin anësor. Tani le të shtojmë një Shkaktues!

Hapi 7: Vendosja e një nxitësi SMS

Vendosja e një nxitësi SMS
Vendosja e një nxitësi SMS

"Nxitësit" janë versioni i njoftimeve të gjendjes fillestare dhe ato janë shumë të lehta për tu shtuar. Thjesht klikoni "Cilësimet" nën kovën Doorbell, dhe pastaj klikoni në skedën "Nxitësit".

Ju mund të zgjidhni sinjalin nga i cili dëshironi të aktivizoni nga lista zbritëse. Kova jonë ka vetëm një - "Dera e përparme" - kështu që zgjidhni atë. Pastaj zgjidhni opsionin "ndeshje" dhe shtoni mesazhin që transmetoni kur shtypet butoni juaj - në këtë rast "Dikush është këtu!"

Së fundi, shtoni numrin tuaj të telefonit për të marrë mesazhe SMS. Ju do të duhet të futni një kod verifikimi të dërguar në telefonin tuaj herën e parë që përdorni këtë numër.

Sigurohuni që të shtypni shenjën "+" pranë numrit tuaj të telefonit ose nuk do të krijohet këmbëza.

Klikoni "U krye" në fund të skedës "Shkaktarët" për të ruajtur këmbëzën tuaj.

Tani jeni gati për të marrë njoftime me tekst! Shtypni butonin tuaj (ndërsa skenari i ziles së derës.js po funksionon). Ju duhet të merrni një tekst në 8 sekonda ose më pak!

Zilja jote e heshtur e derës është gati për të shkuar! Nëse doni të siguroheni që skenari juaj të riniset me një ndërprerje të energjisë, vazhdoni të lexoni. Unë gjithashtu do të kaloj duke shtuar emoji në kovën tuaj dhe emrat e sinjalit.

Hapi 8: Personalizimi i pultit tuaj

Personalizimi i pultit tuaj
Personalizimi i pultit tuaj
Personalizimi i pultit tuaj
Personalizimi i pultit tuaj

Nëse dëshironi të krijoni pultin tuaj të gjendjes fillestare, shtimi i emoji ose ndryshimi i emrave plotësisht është shumë i thjeshtë.

Për të ndryshuar emrin e një pllake, thjesht klikoni me të djathtën në pllakë dhe zgjidhni "redakto tjegull". Brenda kutisë së Titullit që shfaqet mund të vendosni shkurtoren për çdo emoji. Klikimi i "x" në krye të dritares së konfigurimit do të ruajë ndryshimet tuaja.

Ju gjithashtu mund ta bëni këtë për emrin e kovës tuaj duke klikuar në "Cilësimet" nën emrin e kovës dhe pastaj redaktoni fushën Emri.

Ju mund të shtoni një imazh të sfondit në pultin tuaj për t'i dhënë të dhënave tuaja më shumë personalitet dhe kontekst.

Hapi 9: Fillimi i Skriptit Nga Boot

Skenari që keni në kompjuterin tuaj të shtëpisë ose Pi është çelësi i ziles sonë të heshtur të derës. Nëse diçka ndodh si një ndërprerje e energjisë, ne duam të sigurohemi që skenari ynë të fillojë të funksionojë.

Në Mac Ne do të përdorim një shërbim të quajtur crontab dhe redaktuesin e tekstit nano:

env EDITOR = nano crontab -e

Brenda skedarit, shtoni:

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

Sigurohuni që të zëvendësoni "UserName" me tuajin. Nëse e keni quajtur skriptin tuaj diçka tjetër ose e vendosni në një drejtori tjetër, zëvendësoni /Users/UserName/node_modules/node-dash-button/doorbell.js me rrugën e duhur. Rruga në shembullin tim është drejtoria kryesore e përdoruesit e ndjekur nga drejtoria node_modules/node-dash-button. Ju lehtë mund të kopjoni emrin e shtegut të një skedari duke ndjekur këto udhëzime.

Ruani skedarin me Ctl-x, y. Mund të provoni nëse funksionon duke rindezur kompjuterin tuaj.

Në Windows Ndiqni udhëzimet këtu për të filluar skriptin tuaj të nyjes në rindezje. Sigurohuni që të specifikoni të gjithë shtegun e shkrimit.

Në një makinë Raspberry Pi/Linux Drejtimi i një skripti nga nisja në Pi është mjaft i drejtpërdrejtë. Ne do të përdorim një shërbim të quajtur crontab:

sudo crontab -e

Zgjidhni redaktorin tuaj të preferuar të tekstit (më pëlqen nano) dhe në fund të skedarit (nën të gjitha komentet), shtoni:

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

Nëse e keni quajtur skriptin tuaj diçka tjetër ose e vendosni në një drejtori tjetër, zëvendësoni /home/pi/node_modules/node-dash-button/doorbell.js me rrugën e duhur. Rruga në shembullin tim është drejtoria kryesore Pi e ndjekur nga drejtoria node_modules/node-dash-button.

Ruani skedarin! Duhet të rindizni që të hyjë në fuqi, por nëse dëshironi të rindizni edhe nëse lidhja e internetit shkon, ne do të shtojmë një detyrë tjetër në crontab -in tonë në këtë hap tjetër.

Për të trajtuar rënien e rrjetit, vendosa të zbatoj një mënyrë që Pi të zbulojë një lidhje rrjeti dhe të rindizet nëse nuk është atje.

Së pari ne duhet të krijojmë një skenar për të kontrolluar WiFi dhe më pas të shkaktojmë mbylljen:

cd

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

Vendosni sa vijon brenda skedarit, duke u siguruar që të zëvendësoni adresën IP me adresën IP të ruterit tuaj:

ping -c4 IP_ADDRESS> /dev /null

nëse [$? ! = 0] pastaj sudo /sbin /shutdown -r tani fi

Ping kontrollon për një lidhje. Nëse kthehet me një kod daljeje jo-zero, skripti dërgon komandën e mbylljes. Ruani dhe dilni jashtë skenarit. Tani sigurohuni që lejet e tij janë në rregull:

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

Ashtu si skenari ynë doorbell.js, ne do ta shtojmë këtë shkrim në crontab:

sudo crontab -e

Vend

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

nën rreshtin që shtuam më herët. Kjo do të ekzekutojë skriptin tonë checkwifi çdo 5 minuta. Tani dilni nga crontab dhe rindizni Pi:

rindez sudo

Gjithçka duhet të rregullohet dhe të funksionojë! Ju gjithashtu mund të vendosni një mënyrë për të monitoruar proceset që funksionojnë në Pi duke ndjekur këtë udhëzues.

Hapi 10: Përfundimi

Përfundim
Përfundim

Tani keni një zile derë të heshtur për t'i mbajtur ata djelmosha të Amazon që të mos ju zgjojnë! Më tregoni nëse keni ndonjë pyetje ose dilni me ndonjë modifikim unik.

Recommended: