特定個人向けに作った資料(未発表)
2015/05/28
サラリーマンで
ギョーミーなプログラマ
(つまりオレ)
でも片手間で作れる
XFD
コンセプト
コンセプト
• サラリーマンの金で片付けれる
• ギョームプログラマでも出来る
• プログラミングで何とかする
• 極力何も作らない
XFD!
コンセプト
• NO!
–No ハンダゴテ!
–No 基盤
–No 特殊なでっかいサーバ
• YES!
–Yes PC
–Yes USB
作るものの話
今日の流れのもっと細かいヤツ
•こちらにあります。
– http://www.slideshare.net/miurakazuhito/yukam
u02-jenkins
本日持って帰ってもらうもの
• 物理
–USB-HUBとパトランプ
• 論理
–USB-HUBでできることの知識
•その手順
–アイディア
要は…
• USBのハブで
「ポートごとの電源コントロール」をする
• USBバスパワーで
「つないだ途端にONになる機構」があるものは
付けたり消したりコントロールできる
• USB電源で動くパトランプがある
• 普段消しといて、OnにしてOffにする
プログラムサイドの準備
• github上のこのファイル参照
– https://github.com/kazuhito-m/dockers/blob/ma
ster/scripts/usb-baspower-control_install/set
up.sh
– https://github.com/kazuhito-m/dockers/blob/ma
ster/scripts/usb-baspower-control_install/usb
-baspower-control.sh
• 動きと解説は以下動画
– https://www.youtube.com/watch?v=DjWXidr9xXU
実用するには…
• Jenkinsに
”Post build task”プラグインを入れる
• ジョブの「ビルド後の処理」に
”Post build task”を追加し、
「スクリプト」のとこに、
次ページのスクリプトを書く
• ※上記は「Jenkins1.x系」のモノです
–「Pipeline Script」なら、try/catchで
書けることでしょう
実用するには…
#!/bin/bash
export USB_HUBNUM=1
export USB_HUBPORT=1
export POWER_ON_INTERVAL=5
function switch_usb_buspower() {
/usr/local/bin/hub-ctrl -h ${USB_HUBNUM} -P ${USB_HUBPORT} -p ${1}
}
function poweron_by_interval() {
switch_usb_buspower 1
sleep ${POWER_ON_INTERVAL}
switch_usb_buspower 0
}
# JenkinsJob(自身ジョブ)結果取得
RESULT=`curl ${BUILD_URL}api/xml | perl -le '$_=<>;print [/<result>(.+?)</]->[0]'`
# 判定
if [[ ${RESULT} != "SUCCESS" ]]; then
poweron_by_interval &
fi
実用例
• ※Jenkinsで使ってる例をデモ
最低限を
おさえたら…
応用編
• USB電源のやつなら…なんでも出来る可能性が
微レ存?
– 例えば
• コケたらお茶を沸かす
• コケたら光る
• コケたらブザーが成る
• コケたらエレクトリカルパレード
• お昼になったらなんかチャイムが鳴る
– うはっw夢がひろがりんぐww
音声ファイル再生と音声合成
• 音楽を再生できるようにする
–“aplay”などのコマンド入れる
–sudo apt-get install alsa-tools #
ubuntu/debianの場合
• sudo出来るユーザでaplay打つ
–sudo aplay onsei.wav
音声ファイル再生と音声合成
• 音声合成を「日本語で」できるようにする
– git clone
https://github.com/kazuhito-m/dockers.git する
– cd ./dockers/scripts/openjtalk_install
– ./setup.sh する
• talktext “日本語で話せます”
実用例
• ※Jenkinsで使ってる例をデモ
応用編
応用編
応用編
• RaspberryPIを使って
「部屋内のスキなところにXFD」を
–ちょっと不安定(時々電力不足で死ぬ)
機器のお買い求め
• PC
–適当に
• Jenkins
–川口さんの方に向いて一礼した後DL
• USB-HUB(SUGOI-HUB)
–密林
• パトライト
– http://usb.brando.com/usb-traffic-prompter_p00825c0035d015.html
さあ!
作ってみよう!

サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD