SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
IoT ChatOps
#iotlt
Intro
諸見里 圭太@リレーションズ
アプリからバックエンドまで
• Android/iOS/js全般/node/PHP/AWS
ただのソフト屋さんです
ChatOps?
✕
@KeitaMoromizato
IoT ChatOps?
✕
Slack - hubot間の接続がWebSocketに変わった
必要な知識はLinux + CoffeeScriptのみ
POINT
書いたものがiPhoneに転送される
お高いホワイトボードの画像



http://www.amazon.com/
SMART-Tech-Kapp42-kapp42/
dp/B00ORGP6WU
What?
書いたものが自動転送される
ホワイトボード欲しい
買えないのでどうしているか?
1. iPhoneを探す
2. iPhoneで写真を撮る
3. Slackにアップロード
そうだ、自動化しよう!
demo
$899
$40
$20
$10
$10
$80
書いたものがiPhoneに転送される
お高いホワイトボードの画像



http://www.amazon.com/
SMART-Tech-Kapp42-kapp42/
dp/B00ORGP6WU
module.exports = (robot) ->
exec = require('child_process').exec
Slack = require 'slack-node'
slack = new Slack process.env.SLACK_API_TOKEN
DIR = '/tmp/'
processing = false
robot.hear /camera/i, (msg) ->
if processing
return msg.send "busy..."
processing = true
channel = msg.message.room
fileName = "#{getNow()}.jpg"
console.log "rcv"
exec "fswebcam -S 50 -r 1920x1080 --no-banner #{DIR}#{fileName}", (err, stdout, stderr) ->
if err
processing = false
return msg.send "Failed " + err
msg.send "Camera finished, Please wait a minute..."
postSlack channel, fileName, (err, res) ->
processing = false
if err
return msg.send "Failed " + err
console.log "OK"
postSlack = (channel, fileName, callback) ->
getChannelFromName channel, (err, id) ->
if err
return callback err
exec "curl -F file=@#{DIR}#{fileName} -F channels=#{id} -F
token=#{process.env.SLACK_API_TOKEN} https://slack.com/api/files.upload", (err, stdout,
stderr) ->
exec "rm -f #{DIR}#{fileName}", (err, stdout, stderr) ->
if err
console.log "failed to delete file"
if err
return callback err
callback null, 'OK'
getChannelFromName = (channelName, callback) ->
slack.api "channels.list", exclude_archived: 1, (err, response) ->
if err
return callback err
if !response.ok
return callback response.error
for val, i in response.channels
if val.name == channelName
return callback null, val.id
return callback err
getNow = () ->
date = new Date
y = date.getFullYear()
m = date.getMonth() + 1
d = date.getDate()
h = date.getHours()
M = date.getMinutes()
s = date.getSeconds()
return "#{y}#{m}#{d}#{h}#{M}#{s}"
64行のCoffeeScript
まとめ
ソフト屋さんでもIoTできるよ!
詳細はこちら
• Slackで現実世界も記録する

http://qiita.com/KeitaMoromizato/items/
1ecbfcd0f9343ce53975
• Slackの投稿内容を読み上げる

http://qiita.com/KeitaMoromizato/items/
2e23d1ecc12e79e18644

Contenu connexe

Tendances

Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御Masuda Tomoaki
 
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアームRaspberry piで動かすロボットアーム
Raspberry piで動かすロボットアームMasuda Tomoaki
 
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)Shuichiro Fukuoka
 
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編Kazuhiro Takahashi
 
ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話
ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話
ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話Haruki Hinode
 
LoRAの見通しって?
LoRAの見通しって?LoRAの見通しって?
LoRAの見通しって?Yuki Kikuchi
 
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話Takashi Yamanoue
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎schoowebcampus
 
Raspberry Pi勉強会(後編)-京大機械研究会
Raspberry Pi勉強会(後編)-京大機械研究会Raspberry Pi勉強会(後編)-京大機械研究会
Raspberry Pi勉強会(後編)-京大機械研究会Naoki Matsumoto
 
サバフェス2016-できる!快眠
サバフェス2016-できる!快眠サバフェス2016-できる!快眠
サバフェス2016-できる!快眠Yusuke Watanabe
 
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システムWiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システムTakashi Yamanoue
 
Jumpwire.io @ Maker Faire Tokyo 2015
Jumpwire.io @ Maker Faire Tokyo 2015Jumpwire.io @ Maker Faire Tokyo 2015
Jumpwire.io @ Maker Faire Tokyo 2015jumpwire.io
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた Tone Blue
 
IRKitで少し未来のスマートハウスに
IRKitで少し未来のスマートハウスにIRKitで少し未来のスマートハウスに
IRKitで少し未来のスマートハウスにYota Ishida
 
見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみた見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみたTone Blue
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 
Raspberry pi は raspbian だけのものじゃない
Raspberry pi は raspbian だけのものじゃないRaspberry pi は raspbian だけのものじゃない
Raspberry pi は raspbian だけのものじゃないKoichi Ota
 

Tendances (20)

ラズピコでLチカ
ラズピコでLチカラズピコでLチカ
ラズピコでLチカ
 
部屋と◯◯と私
部屋と◯◯と私部屋と◯◯と私
部屋と◯◯と私
 
Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御
 
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアームRaspberry piで動かすロボットアーム
Raspberry piで動かすロボットアーム
 
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
THETA S + Raspberry pi 2でライブストリーミングしてみた(続)
 
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
 
ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話
ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話
ハードウェア初心者のwebエンジニアがIoT製作に取り組んだ話
 
LoRAの見通しって?
LoRAの見通しって?LoRAの見通しって?
LoRAの見通しって?
 
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
 
Raspberry Pi勉強会(後編)-京大機械研究会
Raspberry Pi勉強会(後編)-京大機械研究会Raspberry Pi勉強会(後編)-京大機械研究会
Raspberry Pi勉強会(後編)-京大機械研究会
 
サバフェス2016-できる!快眠
サバフェス2016-できる!快眠サバフェス2016-できる!快眠
サバフェス2016-できる!快眠
 
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システムWiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
Wiki と Raspberry Pi と Arduino を組み合わせて作成した電気製品の自動運転・遠隔操作システム
 
AlexaPepperTalk
AlexaPepperTalkAlexaPepperTalk
AlexaPepperTalk
 
Jumpwire.io @ Maker Faire Tokyo 2015
Jumpwire.io @ Maker Faire Tokyo 2015Jumpwire.io @ Maker Faire Tokyo 2015
Jumpwire.io @ Maker Faire Tokyo 2015
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた
 
IRKitで少し未来のスマートハウスに
IRKitで少し未来のスマートハウスにIRKitで少し未来のスマートハウスに
IRKitで少し未来のスマートハウスに
 
見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみた見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみた
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
Raspberry pi は raspbian だけのものじゃない
Raspberry pi は raspbian だけのものじゃないRaspberry pi は raspbian だけのものじゃない
Raspberry pi は raspbian だけのものじゃない
 

Similaire à IoT ChatOps #IoTLT

オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版Tomoki Hasegawa
 
AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界Tomo Watanabe
 
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版Tomoki Hasegawa
 
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみるSORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみるSeigo Tanaka
 
組込みにおけるHTML5
組込みにおけるHTML5組込みにおけるHTML5
組込みにおけるHTML5Tomo Watanabe
 
How to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping ApplicationHow to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping ApplicationHirotaka Niisato
 
Interactive Application using Kinect and Android
Interactive Application using Kinect and AndroidInteractive Application using Kinect and Android
Interactive Application using Kinect and AndroidHirotaka Niisato
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
Swift for pose-estimation
Swift for pose-estimationSwift for pose-estimation
Swift for pose-estimationmana o2
 
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったTomoki Hasegawa
 
The return of Mobile5
The return of Mobile5The return of Mobile5
The return of Mobile5Tomo Watanabe
 
嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouchhIDDENxv
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール WeinerをつかってみたMasakazu Muraoka
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するTomoki Hasegawa
 
Pepper x IoT x Web 勉強会やってみた話と失敗談
Pepper x IoT x Web 勉強会やってみた話と失敗談Pepper x IoT x Web 勉強会やってみた話と失敗談
Pepper x IoT x Web 勉強会やってみた話と失敗談dsuke Takaoka
 
F#で動かすraspberry pi+lego mindstorms
F#で動かすraspberry pi+lego mindstormsF#で動かすraspberry pi+lego mindstorms
F#で動かすraspberry pi+lego mindstormsMasuda Tomoaki
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことMasakazu Muraoka
 

Similaire à IoT ChatOps #IoTLT (20)

オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
オプショナル型。〜なんとなく付ける ! ? 撲滅〜 改訂版
 
AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界
 
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
 
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみるSORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
 
組込みにおけるHTML5
組込みにおけるHTML5組込みにおけるHTML5
組込みにおけるHTML5
 
Stargazer Meetup #1
Stargazer Meetup #1Stargazer Meetup #1
Stargazer Meetup #1
 
How to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping ApplicationHow to MAKE HVC-C Protyping Application
How to MAKE HVC-C Protyping Application
 
Interactive Application using Kinect and Android
Interactive Application using Kinect and AndroidInteractive Application using Kinect and Android
Interactive Application using Kinect and Android
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
Swift for pose-estimation
Swift for pose-estimationSwift for pose-estimation
Swift for pose-estimation
 
PUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作ったPUSH通知証明書作成ツールを作った
PUSH通知証明書作成ツールを作った
 
The return of Mobile5
The return of Mobile5The return of Mobile5
The return of Mobile5
 
嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみたリモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
 
PHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知するPHPでスマホアプリにプッシュ通知する
PHPでスマホアプリにプッシュ通知する
 
Pepper x IoT x Web 勉強会やってみた話と失敗談
Pepper x IoT x Web 勉強会やってみた話と失敗談Pepper x IoT x Web 勉強会やってみた話と失敗談
Pepper x IoT x Web 勉強会やってみた話と失敗談
 
F#で動かすraspberry pi+lego mindstorms
F#で動かすraspberry pi+lego mindstormsF#で動かすraspberry pi+lego mindstorms
F#で動かすraspberry pi+lego mindstorms
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 

IoT ChatOps #IoTLT