Top Banner
JavaScriptIoT !! JS Board Shibuya #6 LTナイト! SORACOM AirRaspberryPilittleBitsIFTTTしてみる ワンフットシーバス 田中正吾
55

SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

Apr 15, 2017

Download

Technology

Seigo Tanaka
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

JavaScriptでIoT !! JS Board Shibuya #6 LTナイト!

SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

ワンフットシーバス 田中正吾

Page 2: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

私の話はスライドを後ほど共有します。話す内容に注力いただいて大丈夫です!

Page 3: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

自己紹介

Page 4: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

田中正吾(たなかせいご)屋号:ワンフットシーバス

2004年よりフリーランス。以後、FLASH制作を中心にインタラクティブコンテンツを主に行い現在に至る。最近は、JavaScriptやHTML5アニメーション、スマートフォン演出制作のワークフロー改善に関わったりしていました。デジタルサイネージやアプリ制作もやります。

Page 5: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

今日やること

Page 6: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

SORACOM AirとつないだRaspberry Piと

Page 7: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

いろいろなAPIをつなげるIFTTTと組み合わせて

Page 8: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

ブロック感覚で電子工作できるlittleBitsをうごかすよ

Page 9: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

という話をします!

Page 10: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

しくみ

Page 11: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

IFTTTの各通知をIFTTT MakerChannel経由でHeroku中継サーバーに送ります

Heroku中継サーバー

Page 12: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

Heroku中継サーバーから各デバイスにSocketIOを使って

複数に通知します

Heroku中継サーバー

Page 13: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

こうすることで基本1:1のIFTTTアクションを1:n(複数)で送ることが出来てたのしい

1:n(複数)

Page 14: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

Raspberry Pi 1台目

Page 15: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

こんなかんじ

Page 16: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

Raspberry PiはUSBモデム+SORACOM AirでLTE接続

Page 17: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

littleBitsのArduinoモジュールでRaspberry Piをやりとり

Arduino

Page 18: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

LEDやボタンはlittleBitsモジュールでブロック的に組み上げます

Page 19: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

中継サーバー側のNodeJSコードの雰囲気

Page 20: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

expressサーバーでSocketIO(実際はHerokuで動かしている)

Page 21: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

URL /ifttt_inputにIFTTT通知する

Page 22: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

IFTTTから情報が来たらデバイス側に命令を送っています

Page 23: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

デバイス側のNodeJSコードの雰囲気

Page 24: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

node-searialportでシンプルにやりとり

Page 25: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

光らせる処理は特定の文字が来たらArduino側が光るようにしている

Page 26: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

ほかにもシャットダウンやリブートも

Page 27: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

そういえば、最近、これで遠隔強制OFFデバイスも

つくりました。

Page 28: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

Raspberry Pi 2台目

Page 29: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

こんなかんじ

Page 30: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

Raspberry Piは無線LANでGPIOピン経由でlittleBitsと接続

GPIOピン

Page 31: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

かなり直接やり取りしてる感ある個人的にはArduinoのほうが安堵感ある

Page 32: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

今回はピンの位置をhttp://pinout.xyz/ で確認。

Page 33: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

3v3 PowerとGroundとBCM17ピンと使う

Page 34: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

11か17ピンか分かりにくかったが両方やってみたら17で

点灯したので17で対応(トライアンドエラー)

Page 35: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

コードの雰囲気

Page 36: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

GPIOにコマンドを直接叩いています

Page 37: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

非同期にコマンド送れるexecsync便利

Page 38: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

自分のNodeインストール諸事情で「まだ」Nodeがrootで叩けなかったので

この施策をしました

Page 39: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

onとoffのあたり

Page 40: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

デモ

Page 41: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

いよいよデモする

Page 42: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

いよいよデモする

Heroku中継サーバー

Page 43: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

2台あるからどっちかは動いてほしい!

Page 44: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

デモ1:Doボタン連携

Heroku中継サーバー

Page 45: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

デモ2:メール連携(特定メールで通知)

Heroku中継サーバー

Page 46: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

デモ3:littleBits差し替え

LED サーボとか

Page 47: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

まとめ

Page 48: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

RaspberryPi+SORACOM Airだと置き場所など自由がきいていろいろと夢が広がりそう

Page 49: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

IFTTT MakerChannelでHerokuなどの中継サーバーを作っておくと自由度がたかくなる

Heroku中継サーバー

Page 50: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

IFTTTはいろいろな情報を通知できるし、簡単に組み替えできるのでたのしい

Page 51: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

さらにSocketIOを利用してのIFTTT複数デバイス通知はたのしい

Heroku中継サーバー

Page 52: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

littleBitsは

buttonusb power led

Page 53: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

littleBitsはブロックぽく

button

usb power

led

dimmer

buzzer

Page 54: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

littleBitsはブロックぽく電子工作を組みかえできてたのしい

usb power dimmer buzzer

Page 55: SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる

ご清聴いただきましてありがとうございました!