2016年12月11日日曜日

Amazon Dash Buttonを使う

この記事はAdventCalendar2016 11日目の記事です(嘘) 今回は今話題のAmazon Dash Buttonを使ってみます. とりあえず普通に説明書通り接続して初回注文を行い500円割引で実質無料の恩恵を受けておきます. ※接続する無線親機の設定で20MHz(65Mbps)の通信許可をしておく必要があります. その後一度アプリからボタンを無効にし,再度設定を行います. その時商品選択画面で何も選ばずに設定ウィザードを終了します. これで準備完了です. あとはボタンを押すとARPで飛んでくるパケットが飛んでくるので同じネットワークにいる端末で受け取れば終わりです. Wiresharkとかを立ち上げた端末でフィルタリングをARPにしてボタンを押すとこんな感じでパケットが来ます. このMACアドレスをキーにしてこのMACアドレスからARPでパケットが来たらプログラムを動かせば良い感じにボタンが利用出来ます. パケットさえ取れれば言語は問わず何でも出来ます. JSとかで書いた記事が多いですがニシキヘビマンなのでこんな感じです. ```python # -*- coding: utf-8 -*- from scapy.all import * def arp_display(pkt): if pkt[ARP].op == 1: # print(pkt[ARP].hwsrc) if pkt[ARP].hwsrc == "XX:XX:XX:XX:XX:XX": print("Amazon dash button Pushed.") print sniff(prn=arp_display, filter="arp", store=0) ``` XX:XX:XX:XX:XX:XXは先程確認したMACアドレスです. コメントアウト外してこれ単品でMACアドレス見つけても良いですがその辺はお好きに あとは受け取ったら任意のコードを実行するようにすればおっけー これでTG研スイーツの在庫がなくなったらSlackに通知するシステムが作れますね! 触ってみたい人がいたら声かけてね おわり

0 件のコメント:

コメントを投稿