会社でちょっとした検知システムを作りたい!と思い、製品の検知システムっぽいパトランプを見たところ、高い…高すぎる… もっと気軽にやりたい。飽きたらやめられる感じで…

とりあえず安価で作りたい !ということで調べた所、USBHUBで電源供給をターミナルからコントロールできるらしい。
http://www.ebimemo.net/diary/?date=20110530

わりとできるUSBHUBはあるらしいが、当然のごとくスペックには書いてない?見つけられず。
まあ、これ買っとけば間違いなさそう、ということで、これを購入。


 
それとUSBで動くやっすいパトランプをくっつければ良さそう。
イメージはこんな。

140925_pptx

  • (最初に言えよって話だが)ヤバイメールが来たらパトランプを回す仕組み
  • ヤバイメールが届いたら、検知サーバを受信
  • フィルタリングして、ヤバイ条件に合致したらであれば、macに用意したコマンドを叩き、SUGOI HUBの電源をコントロール、パトランプを回す
  •  運用している人間がパトランプが回った!メールを確認したらリプライを飛ばす
  • そのリプライを検知サーバを受信したら、パトランプを止める

といった感じです。

上で貼ったリンクのコマンドをありがたく使わせて頂く。
ただし環境がmacなので一手間必要で、バス番号や、デバイス番号を調べるためにlsusbコマンドが必要なのだが、macにはsystem_profiler SPUSBDataTypeしかなくて、調べられん。

というわけで、https://github.com/jlhonora/lsusb を突っ込む。
readmeに書かれている内容でOKだったはず。

次にソースを落としてきて、hub-ctlをコンパイルする。
 
~/g/hub-ctrl git:master ❯❯❯ wget http://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c
--2014-10-01 17:50:03--  http://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c
Resolving www.gniibe.org... 217.70.189.144
Connecting to www.gniibe.org|217.70.189.144|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9270 (9.1K) [text/x-csrc]
Saving to: `hub-ctrl.c'

100%[====================================================================================================================================================================================================>] 9,270       --.-K/s   in 0s

2014-10-01 17:50:04 (83.4 MB/s) - `hub-ctrl.c' saved [9270/9270]
~/g/hub-ctrl git:master ❯❯❯ ll
total 24
-rw-r--r--  1 kmori  staff   9.1K  5  9 14:48 hub-ctrl.c
~/g/hub-ctrl git:master ❯❯❯  gcc -O2 -lusb hub-ctrl.c -o hub-ctl
hub-ctrl.c:12:10: fatal error: 'usb.h' file not found
#include <usb.h>
         ^
1 error generated.
~/g/hub-ctrl git:master ❯❯❯
あれ?こけた…usb.hがないってか…なにそれ…
ググった感じlibusbとlibusb-compatとやらを入れるらしい
~/g/hub-ctrl git:master ❯❯❯ brew install libusb
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libusb-1.0.19.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libusb-1.0.19.mavericks.bottle.tar.gz
🍺  /usr/local/Cellar/libusb/1.0.19: 11 files, 368K
~/g/hub-ctrl git:master ❯❯❯ brew install libusb-compat
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libusb-compat-0.1.5.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libusb-compat-0.1.5.mavericks.bottle.tar.gz
🍺  /usr/local/Cellar/libusb-compat/0.1.5: 12 files, 132K
~/g/hub-ctrl git:master ❯❯❯ gcc -O2 -lusb hub-ctrl.c -o hub-ctl
~/g/hub-ctrl git:master ❯❯❯ ll total 56 -rwxr-xr-x 1 kmori staff 13K 10 1 17:55 hub-ctl -rw-r--r-- 1 kmori staff 9.1K 5 9 14:48 hub-ctrl.c ~/g/hub-ctrl git:master ❯❯❯
できた!というわけでlsusbでバス番号とデバイス番号を調べる

~/g/hub-ctrl git:master ❯❯❯ lsusb
Bus 026 Device 002: ID 8087:0024 Intel Corporation Hub
Bus 026 Device 004: ID 0409:005a NEC Corporation Hub
Bus 026 Device 005: ID 05ac:12a8 Apple Inc. iPhone  Serial: 22fdbecd9c26dbf7e29003ce38187f6924059dff
Bus 026 Device 003: ID 05ac:8510 Apple Inc. FaceTime HD Camera (Built-in)  Serial: DJHC9DZ6V4DNYGE0
Bus 029 Device 002: ID 8087:0024 Intel Corporation Hub
Bus 029 Device 003: ID 0424:2512 SMSC Hub
Bus 029 Device 005: ID 05ac:025b Apple Inc. Apple Internal Keyboard / Trackpad
Bus 029 Device 004: ID 0a5c:4500 Broadcom Corp. BRCM20702 Hub
Bus 029 Device 008: ID 05ac:828c Apple Inc. Bluetooth USB Host Controller
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 026 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 029 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
~/g/hub-ctrl git:master ❯❯❯
どうやらバス番号は26で、デバイス番号は4らしい。というわけで実行
~/g/hub-ctrl git:master ❯❯❯ ./hub-ctl -b 26 -d 4 -P 1 -p 0 -> 消えた!
~/g/hub-ctrl git:master ❯❯❯ ./hub-ctl -b 26 -d 4 -P 1 -p 1 -> ついた!
ちなみに「USBで動く何か」というものを持っていないので、iPhoneの充電で調べてみました。
ちゃんと動いたのでよかったです。まる。 

最後になりますが、パトランプがネットで売ってなかったので、金曜日にアキバへ行って来ます… -> その2へ続く

Add Comments

名前
URL
 
  絵文字
 
 
livedoor プロフィール
Twitter
instagram(SnapWidget)
タグクラウド
  • ライブドアブログ