Sadržaj:

Nečujno zvono na vratima dugmeta Amazon Dash Button: 10 koraka (sa slikama)
Nečujno zvono na vratima dugmeta Amazon Dash Button: 10 koraka (sa slikama)

Video: Nečujno zvono na vratima dugmeta Amazon Dash Button: 10 koraka (sa slikama)

Video: Nečujno zvono na vratima dugmeta Amazon Dash Button: 10 koraka (sa slikama)
Video: Little Big Workshop Tips And Tricks (немецкий,много субтитров) комната отдыха, исследование, чертежи 2024, Juli
Anonim
Image
Image

Stalno gledate kroz prozor kako biste mogli presresti posjetitelje prije nego što pozvone na vrata? Umorni ste od toga da psi i beba polude kad god zazvoni? Ne želite potrošiti bogatstvo na "pametno" rješenje?

Napraviti tiho zvono na vratima jednostavno je kao i hakiranje Amazon Dash dugmeta od 5 USD! Jedina druga stvar koja vam je potrebna je računar koji je uvijek kod kuće - poput, recimo, tog Raspberry Pi -a oko kojeg sjedite. Primajte tekstualna obavještenja kad god neko pritisne vaša nova zvona i učinite cijelu kuću sretnom. (Još je hladnije primati obavijesti ako imate pametni sat!)

Za ovaj projekat trebat će vam:

  • Amazon Dash dugme
  • Računar koji ostaje kod kuće (poput Raspberry Pi)

Korak 1: Postavljanje tipke crtice

Postavljanje dugmeta Crtica
Postavljanje dugmeta Crtica
Postavljanje dugmeta Crtica
Postavljanje dugmeta Crtica

Pripremanje vašeg Dash gumba za hakiranje prilično je jednostavno - samo trebate proći kroz cijeli postupak postavljanja Amazona bez odabira proizvoda.

Za ovo postavljanje potrebna je aplikacija Amazon, koja je dostupna za iOS i Android. Nakon što ste prijavljeni na Amazon unutar aplikacije, idite na Vaš račun -> Crtice i uređaji -> Postavljanje novog uređaja. Odaberite "Dash Button" i slijedite upute dok se od vas ne zatraži da odaberete proizvod.

Zatvorite aplikaciju. Nemojte otkazivati postavljanje; nemojte pritisnuti x - samo zatvorite aplikaciju. Ako ste slučajno odabrali proizvod ili mijenjate namjenu starog dugmeta Dash, samo uklonite uređaj putem aplikacije Amazon i ponovo slijedite ove korake.

Ako želite promijeniti izgled dugmeta, skidanje naljepnice s naljepnice je jednostavno.

Korak 2: Instalirajte Node JS na svoj uređaj

Da bismo pronašli (i kasnije koristili) hardversku adresu vašeg dugmeta Dash, moramo koristiti Node JS. Ovo se može instalirati na bilo koji računar - Mac, Linux (Raspberry Pi) ili Windows.

Naš konačni projekt ovisi o tome da imamo računalo povezano na istu mrežu kao i naše dugme koje pokreće neprekinutu Node skriptu, pa to imajte na umu pri odabiru vašeg uređaja. Desktop kod kuće ili Raspberry Pi bili bi savršeni.

Odlučio sam se za Pi 3, ali Pi Zero sa WiFi ključem bi također radio!

Da biste instalirali Node JS na svoje računalo, slijedite odgovarajuća uputstva:

  • Raspberry Pi
  • Mac OS
  • Windows

Alex Horton je napisao fantastičan modul samo za ono što pokušavamo učiniti pod nazivom node-dash-button. Moramo ga instalirati, zajedno s upraviteljem paketa čvorova (npm) i libpcap. Unesite ove naredbe u komandnu liniju:

sudo apt-get install npm

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

Korak 3: Pronađite adresu dugmeta

Pronađite adresu dugmeta
Pronađite adresu dugmeta
Pronađite adresu dugmeta
Pronađite adresu dugmeta

Pronašli smo jednostavan način da pronađete adresu dugmeta crtice.

Prvo držite pritisnuto dugme na tipki crtice oko 5 sekundi dok LED dioda ne počne polako stroboskopo plavo. Na telefonu otvorite postavke WiFi -ja i pronađite wifi "Amazon Configure Me". Kada se povežete na ovo, otvorite svoj web preglednik i idite na 'https://192.168.0.1'.

Adresa koju tražimo je MAC adresa i izgledat će kao "ab: 64: be: 8b: ce: 82".

Korak 4: Testirajte svoje dugme

Možete potvrditi da ste pronašli ispravnu adresu tako što ćete napisati jednostavnu skriptu za štampanje poruke svaki put kada pritisnete dugme.

Kreirajte novu skriptu unutar direktorija node-dash-button.

sudo nano button_test.js

I kopirajte i zalijepite sljedeće u datoteku:

var dash_button = require ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // ZAMJENA SVOJOM ADRESOM exec = require ('child_process'). exec; dash.on ('otkriveno', funkcija () {console.log ('Dugme pritisnuto!');});

Zamijenite x u drugom redu svojom novonastalom adresom dugmeta. Sačuvajte datoteku pomoću Ctl-x, y.

Pokrenite skriptu i pritisnite dugme.

sudo čvor button_test.js

Trebali biste vidjeti "Dugme pritisnuto!" isprintati. Sada kada možemo otkriti pritiskanje tipki, možemo pokrenuti radnje na temelju njih!

Korak 5: Postavite početni državni račun

Postavi početni državni račun
Postavi početni državni račun
Postavi početni državni račun
Postavi početni državni račun

Sada kada možemo pritisnuti poruku naredbenog retka kada pritisnemo tipku crtice, možemo pokrenuti razne druge stvari! U ovom slučaju ću pokrenuti tekstualnu poruku - ne želimo da bilo ko na vratima čeka dok ne provjerimo svoju e -poštu.

Postoji nekoliko načina za pokretanje tekstualnog obavještenja - usluge poput Twilio ili PushBullet. Jedan od najlakših načina koje sam pronašao bio je kroz početno stanje. Zahtijevalo je minimalno dodatno kodiranje i pružilo mi je pregled na kontrolnoj tabli kada je moje dugme pritisnuto.

Idite na https://iot.app.initialstate.com i kreirajte novi račun.

Morate instalirati Initial State SDK za NodeJS na radnu površinu/laptop/Raspberry Pi. U naredbenom retku (ne zaboravite prvo unijeti SSH u svoj Pi), pokrenite sljedeću naredbu:

cd/home/pi/node_modules/node-crtica-dugme

sudo npm install početno stanje

Za testiranje streamera stvorite testnu datoteku:

nano stream_test.js

I kopirajte i zalijepite sljedeće (također se nalazi ovdje):

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

var bucket = IS.bucket ('NodeJS_SDK_Example', 'YOUR_ACCESS_KEY_GOES_HERE'); // Gurni događaj u početno stanje bucket.push ('Demo stanje', 'aktivno'); setTimeout (function () {// Pritisnite drugi događaj bucket.push ('Demo State', 'inactive');}, 1000);

Sačuvajte skriptu pomoću Ctl-x, y.

Prije nego što možemo pokrenuti ovu skriptu, moramo dodati jedinstveni pristupni ključ u drugi red.

Na liniji 2 vidjet ćete redak koji počinje s var bucket = IS.bucket (…. Ove linije stvaraju novu podatkovnu gomilu pod nazivom „NodeJS_SDK_Example“i povezane su s vašim računom. Ova asocijacija se događa zbog drugog parametra na istom linija. Vaš pristupni ključ računa početnog stanja dugačak je niz slova i brojeva. Ako u svom web pregledniku otvorite račun početnog stanja, kliknite na svoje korisničko ime u gornjem desnom kutu, a zatim idite na "moje postavke". vaš pristupni ključ tamo.

Pokrenite testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vašem računu početnog stanja. Pokrenite sljedeće:

čvor stream_test.js

Vratite se na svoj račun početnog stanja u svom web pregledniku. Nova korpa podataka pod nazivom “NodeJS_SDK_Example” trebala se pojaviti s lijeve strane na polici vašeg dnevnika (možda ćete morati osvježiti stranicu). Kliknite na ovu korpu za pregled podataka o testiranju.

Sada ste spremni za slanje pritiska na gumbe u početno stanje!

Korak 6: Završni kod

Final Code
Final Code

Već smo instalirali SDK za početni čvor stanja, pa sve što trebamo učiniti je dodati ga u naš kôd!

Evo modificirane verzije skripte button_test.js koju smo ranije koristili:

var dash_button = require ('node-dash-button'), dash = dash_button ('xx: xx: xx: xx: xx: xx'), // ZAMJENA SVOJOM ADRESOM exec = require ('child_process'). exec; var IS = require ('početno stanje'); var bucket = IS.bucket ('Zvono na vratima', 'YOUR_ACCESS_KEY'); dash.on ('otkriveno', funkcija () {console.log ('Dugme pritisnuto!'); bucket.push ('Prednja vrata', 'Neko je ovdje!');});

Kopirajte i zalijepite ovu skriptu u novu datoteku (koja se još uvijek nalazi u direktoriju node-dash-button):

sudo nano doorbell.js

Primijetit ćete da u redove 5 i 6 uključujemo modul Initial State i dajemo parametre korpe. Morate staviti svoj jedinstveni pristupni ključ od ranije u red 6.

Red 10 je mjesto gdje zapravo šaljemo podatke u početno stanje. U ovom slučaju, ja sam svoju korpu nazvao "Zvono na vratima" i emitiram "Neko je ovdje!" na moja ulazna vrata. Ako imate više tipki na crtici, možete ih sve poslati u korpu "Zvono na vratima", ali ih imenujte prema njihovoj lokaciji (npr. "Garažna vrata", "Spavaća soba" itd.).

Sačuvajte skriptu pomoću Ctl-x, y.

Da biste testirali skriptu, pokrenite:

sudo čvor doorbell.js.

Kada pritisnete svoje dugme, trebali biste moći otići na stranicu početnog stanja i vidjeti novu korpu pod nazivom "Zvono na vratima" na bočnoj traci. Sada dodajmo okidač!

Korak 7: Postavljanje SMS okidača

Postavljanje SMS okidača
Postavljanje SMS okidača

"Okidači" su verzija obavijesti početnog stanja i super ih je lako dodati. Samo kliknite "Postavke" ispod korpe zvona na vratima, a zatim kliknite karticu "Okidači".

S padajuće liste možete odabrati signal koji želite isključiti. Naša kanta ima samo jedno - "Prednja vrata" - pa odaberite to. Zatim odaberite opciju "podudaranje" i dodajte poruku koju prenosite kada pritisnete dugme - u ovom slučaju "Neko je ovdje!"

Na kraju, dodajte svoj telefonski broj za primanje SMS poruka. Morat ćete unijeti verifikacijski kôd poslan na vaš telefon pri prvoj upotrebi tog broja.

Obavezno pritisnite znak "+" pored svog telefonskog broja ili se okidač neće stvoriti.

Pritisnite "Gotovo" pri dnu kartice Okidači da biste spremili okidač.

Sada ste spremni za primanje tekstualnih upozorenja! Pritisnite svoje dugme (dok je skripta doorbell.js pokrenuta). Trebali biste dobiti tekst za 8 sekundi ili manje!

Vaše tiho zvono na vratima je spremno za rad! Ako želite biti sigurni da se vaša skripta ponovo pokreće nakon nestanka struje, nastavite čitati. Preći ću i na dodavanje emotikona u vašu korpu i imena signala.

Korak 8: Personalizacija vaše nadzorne ploče

Personalizacija vaše nadzorne ploče
Personalizacija vaše nadzorne ploče
Personalizacija vaše nadzorne ploče
Personalizacija vaše nadzorne ploče

Ako želite uljepšati svoju nadzornu ploču početnog stanja, dodavanje emojija ili potpuno mijenjanje imena je vrlo jednostavno.

Da biste promijenili naziv pločice, jednostavno kliknite desnom tipkom miša na pločicu i odaberite "uredi pločicu". Unutar okvira za naslov koji se pojavi možete staviti prečicu za bilo koji emoji. Klikom na "x" pri vrhu prozora za konfiguraciju spremit ćete svoje promjene.

To možete učiniti i za naziv svoje kante klikom na "Postavke" ispod naziva kante, a zatim uredite polje Ime.

Možete dodati pozadinsku sliku na nadzornu ploču kako biste svojim podacima dali više ličnosti i konteksta.

Korak 9: Pokretanje skripte iz pokretanja

Skripta koju imate na kućnom računaru ili Pi ključ je našeg tihog zvona na vratima. Ako se dogodi nešto poput nestanka struje, želimo biti sigurni da će se naša skripta ponovo pokrenuti.

Na Macu ćemo koristiti uslugu pod nazivom crontab i uređivač nano teksta:

env EDITOR = nano crontab -e

Unutar datoteke dodajte:

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

Svakako zamijenite "Korisničko ime" vlastitim. Ako ste skripti dali drugo ime ili je stavili u drugi direktorij, zamijenite /Users/UserName/node_modules/node-dash-button/doorbell.js ispravnom stazom. Staza u mom primjeru je glavni korisnički direktorij kojeg slijedi direktorij node_modules/node-dash-button. Možete jednostavno kopirati ime putanje datoteke slijedeći ove upute.

Sačuvajte datoteku pomoću Ctl-x, y. Možete li provjeriti radi li ponovnim pokretanjem računara.

U operativnom sistemu Windows Slijedite upute ovdje za pokretanje skripte čvora pri ponovnom pokretanju. Obavezno navedite cijelu putanju skripte.

Na Raspberry Pi/Linux stroju Pokretanje skripte iz boot -a na Pi -u je prilično jednostavno. Koristit ćemo uslugu pod nazivom crontab:

sudo crontab -e

Odaberite svoj omiljeni uređivač teksta (sviđa mi se nano) i pri dnu datoteke (ispod svih komentara) dodajte:

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

Ako ste skripti dali drugo ime ili je stavili u drugi direktorij, zamijenite /home/pi/node_modules/node-dash-button/doorbell.js ispravnom stazom. Staza u mom primjeru je glavni Pi direktorij nakon kojeg slijedi direktorij node_modules/node-dash-button.

Sačuvajte datoteku! Morate ga ponovno pokrenuti da bi stupio na snagu, ali ako želite i ponovno pokretanje ako se internetska veza prekine, u ovom ćemo sljedećem koraku dodati još jedan zadatak u našu crontab stranicu.

Kako bih se nosio s padovima mreže, odlučio sam samo implementirati način da Pi otkrije mrežnu vezu i ponovno pokrene sistem ako ga nema.

Prvo moramo stvoriti skriptu za provjeru WiFi -a, a zatim pokrenuti gašenje:

cd

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

U datoteku postavite sljedeće, pazite da IP adresu zamijenite IP adresom usmjerivača:

ping -c4 IP_ADDRESS> /dev /null

ako [$? ! = 0] onda sudo /sbin /shutdown -r sada fi

Ping provjerava postoji li veza. Ako se vrati s izlaznim kodom koji nije nula, skripta šalje naredbu shutdown. Sačuvajte i izađite iz skripte. Sada provjerite jesu li dozvole uredne:

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

Baš kao i naš doorbell.js skript, mi ćemo dodati ovu skriptu u crontab:

sudo crontab -e

Place

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

ispod crte koju smo dodali ranije. Ovo će pokrenuti našu checkwifi skriptu svakih 5 minuta. Sada izađite iz crontab -a i ponovo pokrenite Pi:

sudo reboot

Sve bi trebalo biti postavljeno i raditi! Također možete postaviti način za praćenje pokrenutih procesa na Pi -u slijedeći ovaj vodič.

Korak 10: Zaključak

Zaključak
Zaključak

Sada imate tiho zvono na vratima da vas spriječe oni dostavljači iz Amazona da vas probude! Javite mi ako imate pitanja ili dođete do bilo kakvih jedinstvenih izmjena.

Preporučuje se: