この記事は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に通知するシステムが作れますね!
触ってみたい人がいたら声かけてね
おわり

This is quite a good blog. Keep sharing. I love them. Are you also searching for cheap thesis writing services ? we are the best solution for you. We are best known for delivering nursing paper writing services to students without having to break the bank.
返信削除Thomas, a dedicated Online Class Help, collaborates with Dissertation Educators to help students overcome writing challenges. His expertise and support make the process smooth and efficient.
返信削除