Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

3,092 views

Published on

TokyuRubyKaigi09でのLT

Published in: Engineering
  • Be the first to comment

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

  1. 1. TokyuRubyKaigi09 俺にもやらせろ LT @yamasy1549 名前をつけて可愛がって かしこく育てて一緒に暮らしたい Ruboty に
  2. 2. 人感センサを接続します!おまえだれなん @yamasy1549 ・標準時子午線から来た ・JK(情報系高専生) ・株式会社 LOUPE ・Rails かきます ・デザインがしたいです
  3. 3. なんで bot つくったの 秋月電子が近い
  4. 4. なんで bot つくったの 秋月電子が近い lobot(先述)かわいい
  5. 5. なんで bot つくったの 秋月電子が近い lobot(先述)かわいい Raspberry Pi の新しいやつ使ってみたい
  6. 6. なんで bot つくったの 秋月電子が近い lobot(先述)かわいい Raspberry Pi の新しいやつ使ってみたい 秋月が近い
  7. 7. なんで bot つくったの 秋月電子が近い lobot(先述)かわいい Raspberry Pi の新しいやつ使ってみたい 秋月が近い 秋月が近い
  8. 8. なんで bot つくったの 252423 181716 212019 22 11109 141312 15 秋月カレンダー
  9. 9. 買ったもの Raspberry Pi 2 Model B 人感センサ(HC-SR501) 無線 LAN アダプタ SD カード ケーブル類
  10. 10. 買ったもの
  11. 11. 人感センサを接続します! $ 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 人感センサを接続します!
  12. 12. 人感センサを接続します! 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 人感センサを接続します!
  13. 13. 人感センサを接続します! def digital_read(pin) v = open("/sys/class/gpio/gpio#{pin}/value", "r") value = v.read v.close value end
  14. 14. 人感センサを接続します! 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
  15. 15. 使ったもの Ruby + Bot = Ruboty ー https://github.com/r7kamura/ruboty
  16. 16. 人感センサを接続します! module Ruboty module Handlers class Hoge < Base on( /.*hoge.*/, name: "hoge", description: "Return HOGE to hoge" ) Ruboty の書きかた
  17. 17. 人感センサを接続します!Ruboty の書きかた def hoge(message) message.reply("HOGE") end end ※ふつうは Gem にして読み込む ※面倒なので --load hoge.rb で読み込む
  18. 18. やったこと 呼んだらおへんじ @ruboty: ようじょ
  19. 19. やったこと 天気をおしえてくれる ー livedoor WeatherHack API @ruboty: 今日の◯◯の天気
  20. 20. やったこと おしゃべり ー docomo 雑談対話 API && ruboty-talk @ruboty: ほげほげ
  21. 21. やったこと 誰かいたらおしえてくれる ー人感センサ @ruboty: 誰か
  22. 22. やったこと 写真から年齢とか推定してくれる ー PUX 顔認識 API @ruboty: judge <URL>
  23. 23. やったこと https://github.com/yamasy1549/ruboty-pux ruboty-pux
  24. 24. 参考 使った 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

×