eject探検隊@北陸1(kernel/vm探検隊@北陸1)
TRANSCRIPT
自己紹介
名前: あひる
職業: 名古屋工業大学学部3年
出没: Twitter(@ahiru3net)
HP: www.ahiru3.net
所属: C0de-mattari
Ejectコマンドユーザー会
気を取り直して
ejectIR( ՞ਊ ՞)
= (☞ ՞ਊ ՞= ☞☜= ( ՞ਊ ՞☜= )
ヽ( ՞ਊ ՞)ノ三ヽ( ՞ਊ ՞)ノ
( ˘ਊ˘)(☝ ՞ਊ ՞)☝
Twitter #EjectKaigi2014
ejectIRとは
受光できない受信側でリレースイッチが入り、Raspberry Piに信号を送る
՞ਊ ՞= ☞ ( ՞ਊ ՞)☞ 受光できないよ!らずぴっぴさん!! → RaspberryPi
raspi( ՞ਊ ՞).。o( )
うおおぉぉぉぉぉぉおおおお
ejectIRのソースはこんな感じ
import RPi.GPIO as GPIOimport osimport time
GPIO.setmode(GPIO.BCM)GPIO.setup(4, GPIO.IN)
while 1:if GPIO.input(4):
os.system("eject")print "Welcome to my room!!"time.sleep(1)os.system("eject -t")continue
else:print "no input"
GPIO.cleanup()
http://elinux.org/RPi_Low-level_peripherals より引用
GPIOの配置
プルダウン抵抗
USBPCへ
シリアル通信
赤外線遮断回路
SY-852
Intelligent Platform Management Interface
IPMIに対応したサーバは、OSやアプリケーションソフトなどを介
http://e-words.jp/w/IPMI.html より抜粋
応用編
玄関にejectIRを設置↓
自室のCD-ROMドライブが(☝ ՞ਊ ՞)☝ウイーン
↓
PCの電源がつく↓
部屋に到着する頃にはPCがステンバ〜イ↓
うれしい!!!✌(‘ω’✌ )三✌('ω')✌三( ✌'ω')✌
ここまでの流れでわかるように、今回作ったejectIRはCR-ROMドライブがejectするためのトリガーとしての
eject工作ということ
ほかの方が制作しているトレイのejectという動作を使った工作とは違います
これらと結びつけることで初めてejectIRとしての工作は完成します。
先の応用編はまさにそのモデルとも言えるでしょう
ejectIRのソースはGithubにejectIRの作り方は後日ブログにて掲載する予定です
ぜひejectIRと何かを組み合わせてドヤッていただきたいです
Github: ejectIR
ブログ: www.ahiru3.net
A module to control Raspberry Pi GPIO channels
This package provides a class to control the GPIO on a Raspberry Pi.
https://pypi.python.org/pypi/RPi.GPIO より引用
GPIO: General Purpose Input/Output(汎用入出力)
const int pin_to_gpio_rev2[27] =
{
-1,
-1, -1,
2, -1,
3, -1,
4, 14,
-1, 15,
17, 18,
27, -1,
22, 23,
-1, 24,
10, -1,
9, 25,
11, 8,
-1, 7
};
←←コレが謎
const int pin_to_gpio_rev2[27] =
{
-1,
-1, -1,
2, -1,
3, -1,
4, 14,
-1, 15,
17, 18,
27, -1,
22, 23,
-1, 24,
10, -1,
9, 25,
11, 8,
-1, 7
};
電源系統は-1が与えられている
const int pin_to_gpio_rev2[27] =
{
-1,
-1, -1,
2, -1,
3, -1,
4, 14,
-1, 15,
17, 18,
27, -1,
22, 23,
-1, 24,
10, -1,
9, 25,
11, 8,
-1, 7
};
ピン番号の割当
/sys/class/gpio/export に対して使用するピンを宣言するecho "番号" > /sys/class/gpio/export4番pinを使う場合:echo "4" > /sys/class/gpio/export
すると番号に対応したディレクトリが生成されます/sys/class/gpio/gpio番号例:/sys/class/gpio/gpio4
/sys/class/gpio/gpio番号/direction にinputかoutputか宣言例:echo "out" > /sys/class/gpio/gpio4/direction