24
TokyuRubyKaigi09 俺にもやらせろ LT @yamasy1549 名前をつけて可愛がって かしこく育てて一緒に暮らしたい Ruboty

Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

Embed Size (px)

Citation preview

Page 1: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

TokyuRubyKaigi09 俺にもやらせろ LT @yamasy1549

名前をつけて可愛がって

かしこく育てて一緒に暮らしたい

Ruboty に

Page 2: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!おまえだれなん

@yamasy1549

・標準時子午線から来た

・JK(情報系高専生)

・株式会社 LOUPE

・Rails かきます

・デザインがしたいです

Page 3: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

なんで bot つくったの

秋月電子が近い

Page 4: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

なんで bot つくったの

秋月電子が近い

lobot(先述)かわいい

Page 5: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

なんで bot つくったの

秋月電子が近い

lobot(先述)かわいい

Raspberry Pi の新しいやつ使ってみたい

Page 6: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

なんで bot つくったの

秋月電子が近い

lobot(先述)かわいい

Raspberry Pi の新しいやつ使ってみたい

秋月が近い

Page 7: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

なんで bot つくったの

秋月電子が近い

lobot(先述)かわいい

Raspberry Pi の新しいやつ使ってみたい

秋月が近い

秋月が近い

Page 8: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

なんで bot つくったの

252423

181716 212019 22

11109 141312 15

秋月カレンダー

Page 9: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

買ったもの

Raspberry Pi 2 Model B

人感センサ(HC-SR501)

無線 LAN アダプタ

SD カード

ケーブル類

Page 10: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

買ったもの

Page 11: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!

$ sudo su

$ echo 18 > /sys/class/gpio/export

$ echo in > /sys/class/gpio/gpio18/direction

$ cat /sys/class/gpio/gpio18/value

$ echo 18 > /sys/class/gpio/unexport

$ exit

人感センサを接続します!

Page 12: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!

def set_mode(pin, mode)

io = open("/sys/class/gpio/export", "w")

io.write(pin)

io.close

dir = open("/sys/class/gpio/gpio#{pin}/direction", "w")

dir.write(mode)

dir.close

end

人感センサを接続します!

Page 13: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!

def digital_read(pin)

v = open("/sys/class/gpio/gpio#{pin}/value", "r")

value = v.read

v.close

value

end

Page 14: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!

def human_sensor(message)

set_mode(SENSOR_PIN, "in")

if digital_read(SENSOR_PIN).to_i == 1

message.reply(" いるよ! ")

else

message.reply(" いないよ…")

end

unexport(SENSOR_PIN)

end

Page 15: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

使ったもの

Ruby + Bot = Ruboty

ー https://github.com/r7kamura/ruboty

Page 16: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!

module Ruboty

module Handlers

class Hoge < Base

on(

/.*hoge.*/,

name: "hoge",

description: "Return HOGE to hoge"

)

Ruboty の書きかた

Page 17: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

人感センサを接続します!Ruboty の書きかた

def hoge(message)

message.reply("HOGE")

end

end

※ふつうは Gem にして読み込む

※面倒なので --load hoge.rb で読み込む

Page 18: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

やったこと

呼んだらおへんじ @ruboty: ようじょ

Page 19: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

やったこと

天気をおしえてくれる

ー livedoor WeatherHack API

@ruboty: 今日の◯◯の天気

Page 20: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

やったこと

おしゃべり

ー docomo 雑談対話 API && ruboty-talk

@ruboty: ほげほげ

Page 21: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

やったこと

誰かいたらおしえてくれる

ー人感センサ

@ruboty: 誰か

Page 22: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

やったこと

写真から年齢とか推定してくれる

ー PUX 顔認識 API

@ruboty: judge <URL>

Page 23: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

やったこと

https://github.com/yamasy1549/ruboty-pux

ruboty-pux

Page 24: Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい

参考

使った Gem

https://github.com/r7kamura/ruboty

https://github.com/r7kamura/ruboty-talk

参考サイト

「Ruby 製 Hubot クローンの Ruboty を Slack で動かす」

http://qiita.com/r7kamura/items/8d1b98e28154de6030b9

「[*Raspberry Pi*] 夏だ!人感センサーを使って蝉を鳴かせよう」

http://qiita.com/cigalecigales/items/4cf9c16f24d1de92ec7d