Kazalo:

Tihi zvonec pri gumbu Amazon Dash Button: 10 korakov (s slikami)
Tihi zvonec pri gumbu Amazon Dash Button: 10 korakov (s slikami)

Video: Tihi zvonec pri gumbu Amazon Dash Button: 10 korakov (s slikami)

Video: Tihi zvonec pri gumbu Amazon Dash Button: 10 korakov (s slikami)
Video: The Handy Male Stroker Review And Unboxing 2024, Julij
Anonim
Image
Image

Nenehno gledate skozi okno, da lahko prestrežete obiskovalce, preden pozvonijo na vrata? Ste naveličani, da bi psi in otrok ponoreli, kadar koli zazvoni? Ali ne želite zapraviti bogastva za "pametno" rešitev?

Izdelava tihega zvonjenja na vratih je tako preprosta kot vdor v Amazon Dash Button za 5 USD! Edino drugo, kar potrebujete, je računalnik, ki je vedno doma - na primer tisti Raspberry Pi, ki ga imate. Prejemajte besedilna obvestila, kadar koli nekdo pritisne na vaš novi zvonec in razveseli celo hišo. (Še pametneje je prejemati obvestila, če imate pametno uro!)

Za ta projekt boste potrebovali:

  • Amazon Dash gumb
  • Računalnik, ki ostane doma (kot Raspberry Pi)

1. korak: Nastavitev gumba Dash

Nastavitev gumba Dash
Nastavitev gumba Dash
Nastavitev gumba Dash
Nastavitev gumba Dash

Priprava gumba Dash za vdor je precej preprosta - samo morate iti skozi celoten postopek nastavitve Amazon brez izbire izdelka.

Za to nastavitev je potrebna aplikacija Amazon, ki je na voljo za iOS in Android. Ko ste prijavljeni v Amazon v aplikaciji, pojdite na Vaš račun -> Dash Buttons & Devices -> Nastavitev nove naprave. Izberite "Dash Button" in sledite navodilom, dokler ne boste pozvani, da izberete izdelek.

Zaprite aplikacijo. Ne prekliči nastavitve; ne pritisni x - samo zaprite aplikacijo. Če ste pomotoma izbrali izdelek ali ste zamenjali stari gumb Dash, preprosto odstranite napravo prek aplikacije Amazon in znova sledite tem korakom.

Če želite spremeniti videz gumba, je enostavno odstraniti nalepko z nalepke.

Korak: Namestite Node JS v svojo napravo

Če želimo poiskati (in pozneje uporabiti) naslov strojne opreme gumba Dash, moramo uporabiti Node JS. To lahko namestite na kateri koli računalnik - Mac, Linux (Raspberry Pi) ali Windows.

Naš zadnji projekt je odvisen od tega, da imamo računalnik, ki je povezan z istim omrežjem kot naš gumb, ki izvaja neprekinjen skript vozlišča, zato imejte to v mislih pri izbiri naprave. Namizje doma ali Raspberry Pi bi bilo popolno.

Odločil sem se za uporabo Pi 3, vendar bi tudi Pi Zero z WiFi ključem deloval!

Če želite namestiti Node JS v računalnik, sledite ustreznim navodilom:

  • Malina Pi
  • Mac OS
  • Windows

Alex Horton je napisal fantastičen modul samo za tisto, kar poskušamo narediti, imenovan node-dash-button. Namestiti ga moramo skupaj z upraviteljem paketov vozlišč (npm) in libpcap. V ukazno vrstico vnesite te ukaze:

sudo apt-get install npm

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

3. korak: Poiščite naslov gumba

Poiščite naslov gumba
Poiščite naslov gumba
Poiščite naslov gumba
Poiščite naslov gumba

Našli smo preprost način za iskanje naslova gumba za pomišljaj.

Najprej pridržite gumb na armaturni tipki približno 5 sekund, dokler LED -dioda ne začne počasi pasati modro. V telefonu odprite nastavitve wifi in poiščite wifi "Amazon Configure Me". Ko se povežete s tem, odprite spletni brskalnik in pojdite na 'https://192.168.0.1'.

Naslov, ki ga iščemo, je naslov MAC in bo videti kot "ab: 64: be: 8b: ce: 82".

4. korak: Preizkusite gumb

Lahko potrdite, da ste našli pravi naslov, tako da napišete preprost skript za tiskanje sporočila ob vsakem pritisku gumba.

Ustvarite nov skript v imeniku gumba node-dash-button.

sudo nano button_test.js

In v datoteko kopirajte in prilepite naslednje:

var dash_button = require ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // ZAMENJAVAJTE S VAŠIM NASLOVOM exec = require ('child_process'). exec; dash.on ('zaznano', funkcija () {console.log ('Gumb pritisnjen!');});

X v drugi vrstici zamenjajte z novo najdenim naslovom gumba. Shranite datoteko s tipko Ctl-x, y.

Zaženite skript in pritisnite gumb.

sudo vozlišče button_test.js

Videti bi morali "Gumb pritisnjen!" natisniti. Zdaj, ko lahko zaznamo pritiske na gumbe, lahko na podlagi njih sprožimo dejanja!

5. korak: Nastavite začetni državni račun

Nastavite začetni državni račun
Nastavite začetni državni račun
Nastavite začetni državni račun
Nastavite začetni državni račun

Zdaj, ko lahko sprožimo sporočilo ukazne vrstice, ko pritisnemo gumb Dash, lahko sprožimo še različne druge stvari! V tem primeru bom sprožil besedilno sporočilo - nočemo, da kdorkoli pred vrati čaka, dokler ne preverimo naše e -pošte.

Besedilno obvestilo lahko sprožite na nekaj načinov - storitve, kot sta Twilio ali PushBullet. Eden najlažjih načinov, ki sem jih našel, je bil skozi začetno stanje. Zahteval je minimalno dodatno kodiranje in mi omogočil pogled na armaturno ploščo, kdaj je bil pritisnjen moj gumb.

Pojdite na https://iot.app.initialstate.com in ustvarite nov račun.

Na namizje/prenosni računalnik/Raspberry Pi morate namestiti paket SDK za začetno stanje. V ukaznem pozivu (ne pozabite najprej vnesti SSH v svoj Pi) zaženite naslednji ukaz:

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

sudo npm install začetno stanje

Če želite preizkusiti pretakanje, ustvarite preskusno datoteko:

nano stream_test.js

In kopirajte-prilepite naslednje (najdeno tudi tukaj):

var IS = require ('začetno stanje');

var vedro = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Potisni dogodek v začetno stanje bucket.push ('Demo stanje', 'aktivno'); setTimeout (function () {// Potisnite drug dogodek bucket.push ('Demo State', 'inactive');}, 1000);

Shranite skript s tipko Ctl-x, y.

Preden lahko zaženemo ta skript, moramo v drugo vrstico dodati edinstven ključ za dostop.

V drugi vrstici boste videli vrstico, ki se začne z var bucket = IS.bucket (…. Te vrstice ustvarijo novo podatkovno vedro z imenom »NodeJS_SDK_Example« in je povezano z vašim računom. To povezovanje se zgodi zaradi drugega parametra na istem vrstica. Vaš ključ za dostop do računa za začetno stanje je dolg niz črk in številk. Če v spletnem brskalniku odprete račun za začetno stanje, kliknite svoje uporabniško ime v zgornjem desnem kotu in pojdite na »moje nastavitve«. svoj dostopni ključ.

Zaženite preskusni skript in se prepričajte, da lahko ustvarimo podatkovni tok v vašem računu začetnega stanja. Zaženite naslednje:

vozlišče stream_test.js

V spletnem brskalniku se vrnite na račun začetnega stanja. Novo vedro podatkov, imenovano »NodeJS_SDK_Example«, bi se moralo prikazati na levi strani vaše police z dnevniki (morda boste morali osvežiti stran). Za ogled podatkov o preskusu kliknite to vedro.

Zdaj ste pripravljeni, da pritisnete gumbe v začetno stanje!

6. korak: Končna koda

Končna koda
Končna koda

SDK za začetno državno vozlišče smo že namestili, zato ga moramo le dodati v svojo kodo!

Tukaj je spremenjena različica skripta button_test.js, ki smo ga uporabili prej:

var dash_button = require ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // ZAMENJAVAJTE S VAŠIM NASLOVOM exec = require ('child_process'). exec; var IS = require ('začetno stanje'); var bucket = IS.bucket ('Doorbell', 'YOUR_ACCESS_KEY'); dash.on ('zaznano', function () {console.log ('Gumb pritisnjen!'); bucket.push ('Sprednja vrata', 'Nekdo je tukaj!');});

Kopirajte in prilepite ta skript v novo datoteko (še vedno v imeniku gumba node-dash-button):

sudo nano doorbell.js

Opazili boste, da v vrstici 5 in 6 vključujemo modul Začetno stanje in podajamo parametre vedra. Edinstveni ključ za dostop morate vnesti v vrstico 6 od prej.

Vrstica 10 je, kjer dejansko pošiljamo podatke v začetno stanje. V tem primeru sem svoje vedro poimenoval "Doorbell" in pretakam "Someone is Here!" pri mojih vhodnih vratih. Če imate več tipk Dash, jih lahko vse pošljete v vedro »Zvonec pri vratih«, vendar jih poimenujte glede na njihovo lokacijo (npr. »Garažna vrata«, »Spalnica« itd.).

Shranite skript s tipko Ctl-x, y.

Če želite preizkusiti skript, zaženite:

sudo node doorbell.js.

Ko pritisnete gumb, bi morali odpreti svojo stran začetnega stanja in v stranski vrstici videti novo vedro z imenom "Zvonec na vratih". Zdaj dodajmo sprožilec!

7. korak: Nastavitev sprožilca SMS

Nastavitev sprožilca SMS
Nastavitev sprožilca SMS

"Sprožilci" so različica obvestil začetnega stanja in jih je zelo enostavno dodati. Samo kliknite »Nastavitve« pod vedrom vratnega zvonca in nato kliknite zavihek »Sprožilci«.

Na spustnem seznamu lahko izberete signal, ki ga želite sprožiti. Naše vedro ima samo eno - "sprednja vrata" - zato izberite to. Nato izberite možnost »ujemanje« in dodajte sporočilo, ki ga pretakate, ko pritisnete gumb - v tem primeru »Nekdo je tukaj!«

Za prejem SMS sporočil dodajte svojo telefonsko številko. Ko boste prvič uporabili to številko, boste morali vnesti kodo za preverjanje, poslano na vaš telefon.

Prepričajte se, da pritisnete znak "+" poleg svoje telefonske številke, sicer sprožilec ne bo ustvarjen.

Kliknite »Končano« na dnu zavihka Sprožilci, da shranite sprožilec.

Zdaj ste pripravljeni na prejemanje besedilnih opozoril! Pritisnite gumb (medtem ko se izvaja skript doorbell.js). Besedilo bi morali dobiti v 8 sekundah ali manj!

Vaš tihi zvonec na vratih je pripravljen! Če se želite prepričati, da se vaš skript ob izpadu električne energije znova zažene, nadaljujte z branjem. Preučil bom tudi dodajanje emojisov v vedro in imena signalov.

8. korak: Prilagodite svojo nadzorno ploščo

Prilagodite svojo nadzorno ploščo
Prilagodite svojo nadzorno ploščo
Prilagodite svojo nadzorno ploščo
Prilagodite svojo nadzorno ploščo

Če želite izboljšati nadzorno ploščo začetnega stanja, je dodajanje emojijev ali popolna sprememba imen zelo preprosta.

Če želite spremeniti ime ploščice, z desno miškino tipko kliknite ploščico in izberite »uredi ploščico«. Znotraj polja Naslov, ki se prikaže, lahko postavite bližnjico do katerega koli emojija. S klikom na "x" na vrhu okna za konfiguracijo boste shranili spremembe.

To lahko storite tudi za ime vedra, tako da kliknete »Nastavitve« pod imenom vedra in nato uredite polje Ime.

Na nadzorno ploščo lahko dodate sliko ozadja, da svojim podatkom dodate več osebnosti in konteksta.

9. korak: Zagon skripta iz zagona

Skript, ki ga izvajate na domačem računalniku ali Pi, je ključ do našega tihega zvonjenja. Če se zgodi nekaj, kot je izpad električne energije, želimo zagotoviti, da se naš skript znova zažene.

V računalniku Mac bomo uporabili storitev, imenovano crontab in urejevalnik besedil nano:

ENV UREDNIK = nano crontab -e

Znotraj datoteke dodajte:

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

Ne pozabite zamenjati "UserName" s svojim. Če ste svoj skript poimenovali drugače ali ga dali v drug imenik, zamenjajte /Users/UserName/node_modules/node-dash-button/doorbell.js s pravilno potjo. Pot v mojem primeru je glavni uporabniški imenik, ki mu sledi imenik node_modules/node-dash-button. Po teh navodilih lahko preprosto kopirate ime poti datoteke.

Shranite datoteko s tipko Ctl-x, y. Ali lahko deluje, lahko znova zaženete računalnik.

V sistemu Windows Sledite navodilom tukaj, da zaženete skript vozlišča ob ponovnem zagonu. Navedite celotno pot skripta.

Na računalniku Raspberry Pi/Linux Zagon skripta iz zagona na Pi je precej preprost. Uporabili bomo storitev, imenovano crontab:

sudo crontab -e

Izberite svoj najljubši urejevalnik besedil (všeč mi je nano) in na dnu datoteke (pod vsemi komentarji) dodajte:

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

Če ste svoj skript poimenovali drugače ali ga dali v drug imenik, zamenjajte /home/pi/node_modules/node-dash-button/doorbell.js s pravilno potjo. Pot v mojem primeru je glavni imenik Pi, ki mu sledi imenik node_modules/node-dash-button.

Shranite datoteko! Če želite začeti veljati, ga morate znova zagnati, če pa želite znova zagnati, če se internetna povezava prekine, bomo v tem naslednjem koraku v naš crontab dodali še eno nalogo.

Za obvladovanje padcev omrežja sem se odločil, da uvedem način, da Pi zazna omrežno povezavo in se znova zažene, če je ni.

Najprej moramo ustvariti skript za preverjanje WiFi in nato sprožiti zaustavitev:

cd

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

V datoteko vnesite naslednje, pri tem pa obvezno zamenjajte naslov IP z naslovom IP vašega usmerjevalnika:

ping -c4 IP_ADDRESS> /dev /null

če [$? ! = 0] potem sudo /sbin /shutdown -r zdaj fi

Ping preveri povezavo. Če se vrne z izhodno kodo, ki ni nič, skript pošlje ukaz za zaustavitev. Shranite in zapustite skript. Zdaj se prepričajte, da so njegova dovoljenja v redu:

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

Tako kot naš skript doorbell.js bomo ta skript dodali v crontab:

sudo crontab -e

Kraj

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

pod vrstico, ki smo jo dodali prej. To bo zagnalo naš skript checkwifi vsakih 5 minut. Zdaj zapustite crontab in znova zaženite Pi:

sudo ponovni zagon

Vse bi moralo biti nastavljeno in delovati! S pomočjo te vadnice lahko nastavite tudi način za spremljanje tekočih procesov na Pi.

10. korak: Zaključek

Zaključek
Zaključek

Zdaj imate tihi zvonec na vratih, s katerim vas ne bodo zbudili tisti dostavniki iz Amazona! Sporočite mi, če imate kakršna koli vprašanja ali pridete do kakšnih edinstvenih sprememb.

Priporočena: