kernel/VM探検隊@北陸 1
2014/07/12
今日は( ゜Д゜)ポカーンとなりに来ました
( ゜Д゜)ポカーンとなったところで
(☝ ՞ਊ ՞)☝ウイーンの時間だ!!!!!
こ時ウ
ら間イ
ぁだ|
!!ン
  の
空へ羽ばたけるくらい高レイヤーなお話をします!!
¦\     ___    / ̄/ 
¦ \ _ / ́՞ ՞`\ /  /
¦    ¦   し  |   /
\__(    ਊ   }_/
 \_____/
 ¦¦   //
 m   m
空に羽ばたけ俺のLT
  ☝
        ՞
 _人人人人人人_
 > (     ) <  ☞
  ̄Y^Y^YY^Y^Y ̄
!
 ՞
      ਊ
自己紹介
名前: あひる
職業: 名古屋工業大学学部3年
出没: Twitter(@ahiru3net)
HP: www.ahiru3.net
所属: C0de-mattari
Ejectコマンドユーザー会
(☝ ՞ਊ ՞)☝ウイーン
7/4 7/5に開催されたOSC名古屋にて暴れてきました
この勢いでKernel/VM探検隊を
ejectコマンド探検隊にしてしまおう!!
ということでやって参りました人生初の北陸
人生初北陸以外は
半分くらい嘘かもしれないのでご安心ください
Eject探検隊@北陸 1
2014/07/12
Twitter #EjectKaigi2014
ejectIRを作りました
作った経緯等はブログにあるので
興味のある方はどうぞ
Twitter #EjectKaigi2014
って書いて別のネタやろうと思ったんですが、
自分の理解力、知識力の問題で
予定してたネタがことごとく潰えた…
Twitter #EjectKaigi2014
気を取り直して
!
ejectIR
( ՞ਊ ՞)
=͟ ͟͞͞(☞ ՞ਊ ՞=͟ ͟͞͞☞☜=͟ ͟͞͞( ՞ਊ ՞☜=͟ ͟͞͞)
ヽ( ՞ਊ ՞)ノ三ヽ( ՞ਊ ՞)ノ
(  ਊ )
(☝ ՞ਊ ՞)☝
Twitter #EjectKaigi2014
皆さん興味ありげなので説明します
Twitter #EjectKaigi2014
ejectIRとは
赤外線通過回路の送信部と受信部が
このように信号を送受信しています
=͟ ͟͞͞(☞ ՞ਊ ՞=͟ ͟͞͞☞☜=͟ ͟͞͞( ՞ਊ ՞☜=͟ ͟͞͞)
めっちゃ信号
送信してるうぅぅぅ
めっちゃ受信
してるうぅぅぅ
ejectIRとは
その間に何かが置かれたり通過すると…
=͟ ͟͞͞(☞ ՞ਊ ՞=͟ ͟͞͞☞ (☝ ՞ਊ ՞)☝
めっちゃ信号
送信してるうぅぅぅ
あり?
信号…
きてなくね?指痛い…
ejectIRとは
受光できない受信側でリレースイッチが入り、
Raspberry Piに信号を送る
ਊ ՞=͟ ͟͞͞☞ ( ՞ਊ ՞)☞
受光できないよ!
らずぴっぴさん!! → RaspberryPi
マジで?!
(☝ ՞ਊ ՞)☝ウイーンしないと!!
raspi( ՞ਊ ՞).。o
( )
おおお
ejectIRとは
CD-ROMドライブが(☝ ՞ਊ ՞)☝ウイーンする
(☝ ՞ਊ ՞)☝ウイーン (☝ ՞ਊ ՞)☝ウイーン
raspi( ՞ਊ ՞).。o((☝ ՞ਊ ՞)☝ウイーン)
(☝ ՞ਊ ՞)☝ウイーン
仕組み
なぜ作ろうと思ったか
母親が入室
  ↘
 イヤホンしてて気づかない
  ↙
母親が後ろに忍び寄る
       ↘
      気づかない
       ↙
_人人人人人人人_
> 気づかない <
 ̄^Y^Y^Y^Y^Y^ ̄
ejectIRがあれば…
母親が入室
  ↘
 イヤホンしてて気づかない
  ↙
赤外線回路が反応
     ↘
    CD-ROMドライブが(☝ ՞ਊ ՞)☝ウイーン
     ↙
_人人人人人_
> 気づく <
 ̄^Y^Y^Y^ ̄
完璧だ…
いままで音で気づかなかったものを、CD-ROMド
ライブの(☝ ՞ਊ ՞)☝ウイーンという視覚的な情報
によって気づくようになります。
Eject探検隊@北陸1
ejectIRのソースはこんな感じ
import RPi.GPIO as GPIO
import os
import 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の配置
プルダウン抵抗
USB
PCへ
シリアル通信
赤外線
遮断回路
SY-852
活用例
先の例のように人が入る→(☝ ՞ਊ ՞)☝ウイーン→気づく
先の例のように人が入る→(☝ ՞ਊ ՞)☝ウイーン→入室者驚く
ポストの内側に設置→投函される→(☝ ՞ਊ ՞)☝ウイーン
応用編
実はOSC名古屋以前にこんなものを作ってました
ejectコマンドで物理ipmitool
IPMIってなんぞ?
Intelligent Platform Management Interface
IPMIに対応したサーバは、OSやアプリケーションソフトなど
を介さずに、ネットワークを通じて管理用端末のシステム監視
ソフトなどと直接通信することができ、遠隔からCPUやデー
タ伝送路(バス)、ファンなど各部品の稼働状態や、筺体内部の
温度や電圧などを監視したり、電源のオン/オフや再起動など
を行なうことができる。
http://e-words.jp/w/IPMI.html より抜粋
メインマシンを外出中につけたい
!
常時付けてると電気代がもったいない
あれれ∼?
サーバー →
← メインマシン
どこの家でも
転がってるで
あろう中古の
(eject用の)CD-
ROMドライブ
→
やることはただ一つ
!
(☝ ՞ਊ ՞)☝ウイーン
ここを押すのじゃ
応用編
玄関にejectIRを設置
↓
自室のCD-ROMドライブが(☝ ՞ਊ ՞)☝ウイーン
↓
PCの電源がつく
↓
部屋に到着する頃にはPCがステンバ∼イ
↓
うれしい!!!✌( ω ✌ )三✌('ω')✌三( ✌'ω')✌
ここまでの流れでわかるように、今回作ったejectIRは
CR-ROMドライブがejectするためのトリガーとしての
eject工作ということ
!
ほかの方が制作しているトレイのejectという動作を使っ
た工作とは違います
これらと結びつけることで初めてejectIRとしての工作は
完成します。
!
先の応用編はまさにそのモデルとも言えるでしょう
わけがわからないよ
ejectIRのソースはGithubに
ejectIRの作り方は後日ブログにて掲載する予定です
!
ぜひejectIRと何かを組み合わせてドヤッていただきたいです
Github: ejectIR
ブログ: www.ahiru3.net
ejectコマンドユーザー会
サイト翻訳募集中
完
実は未完
(準備時間的に)ておくれたてしまい、
今回発表できなかったておくれたネタたち
!
まとまってないのでておくれている
RPi.GPIOについて調べてみた
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/export
4番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
/sys/class/gpio/gpio番号/value に0or1が格納されている
http://pi.gadgetoid.com/pinout

More Related Content

PPTX
Eject探検隊@北陸1(Kernel/VM探検隊@北陸1)
PDF
oh-my-zshを使うのは止めよう
PDF
宇宙zsh #2
PDF
PDF
本格的に始めるzsh
PDF
ウカガカ動画(¥e)
PDF
天体を静止画として 長時間撮影できる装置 の紹介
PDF
[Vitocha.iso] FreeBSDカスタムiso作ってみた
Eject探検隊@北陸1(Kernel/VM探検隊@北陸1)
oh-my-zshを使うのは止めよう
宇宙zsh #2
本格的に始めるzsh
ウカガカ動画(¥e)
天体を静止画として 長時間撮影できる装置 の紹介
[Vitocha.iso] FreeBSDカスタムiso作ってみた

Viewers also liked (20)

ODP
サンドボックス化によるセキュアなプログラミング
PDF
Dataflow140711-a@Kernel/VM北陸1
PDF
詳解Dexファイルフォーマット
PDF
Robot Language and a Tail Recursive Interpreter
PDF
最近遊んだLinuxボードたち
 
PDF
Dalvikバイトコードリファレンスの読み方 改訂版
PPTX
加速器と素粒子物理での超?低レイヤー
PDF
Design by contractとホーア論理
PDF
最近のEjectダイジェスト
PPTX
140712 kernelvm
PDF
Dalvik仮想マシンのアーキテクチャ 改訂版
PDF
ロボット用Open Source Software
PDF
Tickライブラリで遊ぼう(C++)
ODP
Bluetooth le for FreeBSD
PPTX
ここが変だよDalvik仮想マシン
PDF
ベイクドGPU Kernel/VM北陸1
PDF
あるコンテキストスイッチの話
ODP
Hacking Robotics
PDF
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
PDF
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
サンドボックス化によるセキュアなプログラミング
Dataflow140711-a@Kernel/VM北陸1
詳解Dexファイルフォーマット
Robot Language and a Tail Recursive Interpreter
最近遊んだLinuxボードたち
 
Dalvikバイトコードリファレンスの読み方 改訂版
加速器と素粒子物理での超?低レイヤー
Design by contractとホーア論理
最近のEjectダイジェスト
140712 kernelvm
Dalvik仮想マシンのアーキテクチャ 改訂版
ロボット用Open Source Software
Tickライブラリで遊ぼう(C++)
Bluetooth le for FreeBSD
ここが変だよDalvik仮想マシン
ベイクドGPU Kernel/VM北陸1
あるコンテキストスイッチの話
Hacking Robotics
バイナリより低レイヤな話 (プロセッサの心を読み解く) - カーネル/VM探検隊@北陸1
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
Ad

More from ahiru3 (8)

PDF
OSC京都 東海道らぐLT iOSのIn-Houseアプリの配布まで(概要)
PDF
What is ahiruyaki?
PDF
2015年OSC名古屋東海道らぐLT
PDF
OSC Tokyo/Fall LT
PDF
OSC京都 東海道らぐLT資料
PDF
ejectLT @ NT金沢
PPTX
OSC Nagoya 2014 東海道らぐ 夏の陣
PPTX
OSC nagoya 2014 LT
OSC京都 東海道らぐLT iOSのIn-Houseアプリの配布まで(概要)
What is ahiruyaki?
2015年OSC名古屋東海道らぐLT
OSC Tokyo/Fall LT
OSC京都 東海道らぐLT資料
ejectLT @ NT金沢
OSC Nagoya 2014 東海道らぐ 夏の陣
OSC nagoya 2014 LT
Ad

Eject探検隊@北陸1