„Amazon Dash“ mygtukų įsilaužimai: 6 būdai, kaip sukurti savo nebrangų prijungtą namą

„Amazon Dash“ mygtukų įsilaužimai: 6 būdai, kaip sukurti savo nebrangų prijungtą namą

Kaip nustatyti Dash mygtuką, kad galėtumėte ką nors padaryti

„Dash“ mygtuko nustatymas nėra toks sudėtingas, kaip jūs manote, tam reikia tik „Raspberry Pi“ arba visada įjungto kompiuterio, šiek tiek pagrindinis Python kodavimas (kurią netrukus parodysime) ir programa, pvz., IFTTT Maker sistema arba nemokama „Cloudstitch“, „Google“ dokumentų palaikoma magija forma.

Norėdami pradėti, pirmiausia turėsite atsisiųsti „Unix“ maitinamą Spygliuotas ir a Python redaktorius. Nesijaudinkite, jei naudojate ne „Linux“ ar „OS X“; taip pat galite priversti „Scapy“ dirbti sistemoje „Windows“ (su šiek tiek pastangų).

Kai būsite pasiruošę eiti, savo Python redaktoriuje parašykite trumpą Python programą, kad nurodytumėte Scapy atkreipti dėmesį į jūsų Amazon Dash mygtuko unikalų Mac adresą. Įklijuokite toliau pateiktą informaciją į savo Python programos redaktorių:

from scapy.all import * def arp_display(pkt): if pkt[ARP].op == 1: #who-has (request) if pkt[ARP].psrc == '0.0.0.0': # ARP Probe print "ARP Probe from: " + pkt[ARP].hwsrc print sniff(prn=arp_display, filter="arp", store=0, count=10)

Šis kodas išklausys ARP zondą (Dash mygtuko užklausą prisijungti prie jūsų „Wi-Fi“ tinklo) ir aptiks mygtuko „Mac“ adresą. Kai paspausite Dash mygtuką, ką tik parašytas Python scenarijus įrašys įrenginio Mac adresą, leidžiantį užkoduoti jį savo Python programoje, naudojant pasirinktinius pavadinimus, nurodančius, kas yra ką.

Norėdami tai padaryti, nukopijuokite ir įklijuokite toliau pateiktą Python kodą, pakeisdami tuščius laukus teisinga informacija.

from scapy.all import *
def arp_display(pkt): if pkt[ARP].op == 1: #who-has (request) if pkt[ARP].psrc == '0.0.0.0': # ARP Probe if pkt[ARP].hwsrc == '[button MAC address]': # [insert button1 name] print "Pushed [button name]" elif pkt[ARP].hwsrc == '[button MAC address]': # [insert button2 name] print "Pushed [button name]" else: print "ARP Probe from unknown device: " + pkt[ARP].hwsrc. print sniff(prn=arp_display, filter="arp", store=0, count=10)

Šiuo metu turite dvi parinktis:

  1. Naudokite „Magic Form“, kad perkeltumėte duomenis į „Google“ skaičiuoklių dokumentą, kurį galite peržiūrėti arba integruoti su IFTTT receptu
  2. Susiekite mygtuką tiesiogiai su IFTTT receptu, naudodami jį Maker API

Darykite tai stebuklingos formos būdu

Jei norite naudoti stebuklingą formą, sukurkite a Debesų dygsnis paskyrą nemokamai ir susikurkite savo „Magic Form“. Taip gausite unikalų URL, į kurį galėsite siųsti duomenų paketus, kuriuos galite pridėti prie skaičiuoklės.

Pridėkite šį URL prie savo Python programos, kad ji galėtų pateikti atitinkamus duomenis į skaičiuoklę. Jūsų galutinis Python kodas turėtų atrodyti maždaug taip:

from scapy.all import *
import requests. import time. MAGIC_FORM_URL = '[INSERT URL HERE]'
def record_[insert parameter name](): data = { "Timestamp": time.strftime("%Y-%m-%d %H:%M"), "Measurement": '[What you want to record]' } requests.post(MAGIC_FORM_URL, data)
def arp_display(pkt): if pkt[ARP].op == 1: #who-has (request) if pkt[ARP].psrc == '0.0.0.0': # ARP Probe if pkt[ARP].hwsrc == '[button MAC address]': # [insert button1 name] print "Pushed [button name]" elif pkt[ARP].hwsrc == '[button MAC address]': # [insert button2 name] print "Pushed [button name]" else: print "ARP Probe from unknown device: " + pkt[ARP].hwsrc. print sniff(prn=arp_display, filter="arp", store=0, count=10)

Darykite tai IFTTT Maker būdu

IFTTT Maker Channel leidžia tinklininkams prijungti bet kurį internetinį įrenginį, galintį pateikti URL užklausas, prie IFTTT recepto. „Maker“ taip pat leidžia bet kuriai kitai prijungtai paslaugai siųsti užklausas į įrenginį, kuriame veikia internetas, tačiau tai nėra svarbu norint nustatyti, kad jis veiktų naudojant „Amazon Dash“ mygtuką.

Parašę Python scenarijų, kad nustatytumėte, kuris Dash mygtukas yra kuris, sukurkite automatizavimą, kuris gali veikti su Raspberry Pi (instrukcijas rasite čia, jei nesate tikri), kad suaktyvintų Maker receptus.

Žiūrėti susijusius 

Kaip atgaivinti savo seną „iPod Classic“ naudojant SSD
„Amazon Dash“ pradeda veikti JK, kad būtų dar lengviau leisti pinigus internete
Dešimt nuostabių Raspberry Pi projektų

Susieję savo IFTTT paskyrą su kūrėjo kanalu, galite nustatyti aktyviklių įvykių kūrimą. Įvykių pavadinimai padeda prisiminti, kam sukūrėte aktyviklį. Kai įvykiai bus pavadinti, „Maker“ išskirs unikalų kodą, kurį galėsite įtraukti į „Pi“ automatikos žiniatinklio užklausą.

Kad įvykis būtų sėkmingai suaktyvintas, jūsų Python kodas turi nukreipti Pi į konkretų žiniatinklio adresą:

https://maker.ifttt.com/trigger/[event_name]/with/key/[unique_code]

Kai tai bus padaryta, galite naudoti IFTTT, kad susietumėte tą Kūrėjo užklausą su bet kuria iš jos 218 kanalų, atveria Dash mygtuko galimybes iki šimtų skirtingų programų.