Slide 1

Slide 1 text

京急を止めるIoT (本当に列車を止めるわけではありません) ポキオ@enebular developer Meetup Vol.7

Slide 2

Slide 2 text

ポキオ ● https://pokiiio.github.io/ ● R&D 園児にゃー ● Twitter/GitHub : @pokiiio ● Blog : Androidのメモとか(https://relativelayout.hatenablog.com/)

Slide 3

Slide 3 text

京急が大好き

Slide 4

Slide 4 text

京急ガジェットを いろいろ 作ってます

Slide 5

Slide 5 text

京急は神 (個人の感想です)

Slide 6

Slide 6 text

今日の本題

Slide 7

Slide 7 text

昨年のアドベントカレンダー ● 京急を止めるIoT (12日目) ○ https://qiita.com/pokiiio/items/a91c44f2c0f4d77a739a

Slide 8

Slide 8 text

先にサマリを

Slide 9

Slide 9 text

enebularのよさみ ● 無料でも使える ● クレジットカード登録不要 ● Node-REDが使える ● 設計したロジックをAWSやHerokuにデプロイできる (他にもたくさん機能はあります!) サクッと始めて気に入ったら本格運用

Slide 10

Slide 10 text

Node-REDのよさみ ● グラフィカルに処理を設計できるツール ● ノードとノードをつなげてデータのフローを作る ● ハードウェアからWebサービスに関するノードが準備されている ● ノンプログラミングでプログラミングができる ● 簡単な静的サイトならチョッパヤで作れる ● 他サービスとの連携も可能 簡単なロジックなら爆速プロトタイピング

Slide 11

Slide 11 text

簡単な静的サイトならチョッパヤで作れる

Slide 12

Slide 12 text

他サービスとの連携も可能

Slide 13

Slide 13 text

HerokuのDynoのスリープ回避もNode-REDから ● Free Dynoは30分間アクセスがないとSleepしてしまう ○ https://devcenter.heroku.com/articles/free-dyno-hours ○ If an app has a free web dyno, and that dyno receives no web traffic in a 30-minute period, it will sleep. ● Node-REDで自分自身を定期的にアクセスするように設計すればOK ○ Injectionノードで30分おきに発火するように設定 ○ Node-REDで作ったWebページをアクセスするようにした へっへっへっ

Slide 14

Slide 14 text

ここから京急の話

Slide 15

Slide 15 text

https://www.nikkei.com/article/DGXMZO09390620Q6A111C1XM1000/

Slide 16

Slide 16 text

京急ガジェットを いろいろ 作ってます 京急の遅延を 教えてくれる

Slide 17

Slide 17 text

京急様 運行情報ページ Wi-Fi付きのマイコンボード (だいたい2000円) LEDなどの表示デバイス ②運行情報を パース ①定期的にアクセス ③運行状況によって 光り方を変える ガジェットの仕組み

Slide 18

Slide 18 text

京急が遅れないと デモができない

Slide 19

Slide 19 text

オレオレ運行情報ページ Wi-Fi付きのマイコンボード (だいたい2000円) LEDなどの表示デバイス ②運行情報を パース ①定期的にアクセス ③運行状況によって 光り方を変える 運行情報を自由に操れればいいのでは? 仮想の運行情報ページを作成し マイコンはそこに アクセスするようにする

Slide 20

Slide 20 text

でも、サーバー立てたりするの ちょっと面倒くさいよね

Slide 21

Slide 21 text

そこでenebular

Slide 22

Slide 22 text

実際のフローはこんな感じ

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

オレオレ運行情報ページ部分 運行情報を変更できるようにしている部分 運行情報変更時や定期的にツイートする部分

Slide 25

Slide 25 text

オレオレ運行情報ページ部分 運行情報を変更できるようにしている部分 運行情報変更時や定期的にツイートする部分 HTTPリクエストをトリガーに Firebaseへアクセスし ページを動的に生成 運行情報の大本は Firebaseのデータベースで管理 Heroku Dyno Sleep回避 運行情報変化時にTweetし それっぽさを演出

Slide 26

Slide 26 text

demo...

Slide 27

Slide 27 text

オレオレ運行情報ページ

Slide 28

Slide 28 text

オレオレ運行情報ページ オレオレ運行情報ページ部分

Slide 29

Slide 29 text

オレオレ運行情報Twitterアカウント

Slide 30

Slide 30 text

オレオレ運行情報Twitterアカウント 運行情報変更時や定期的にツイートする部分

Slide 31

Slide 31 text

ガジェットを光らせる https://relativelayout.hatenablog.com/entry/2017/03/25/003251

Slide 32

Slide 32 text

https://relativelayout.hatenablog.com/entry/2017/03/25/003251 ガジェットを光らせる オレオレ運行情報ページ Wi-Fi付きのマイコンボード (だいたい2000円) LEDなどの表示デバイス ②運行情報を パース ①定期的にアクセス ③運行状況によって 光り方を変える

Slide 33

Slide 33 text

鉄道模型を運行情報に連動させる https://relativelayout.hatenablog.com/entry/2018/11/04/233846

Slide 34

Slide 34 text

鉄道模型を運行情報に連動させる https://relativelayout.hatenablog.com/entry/2018/11/04/233846 オレオレ運行情報ページ Wi-Fi付きのマイコンボード (だいたい2000円) 鉄道模型 ②運行情報を パース ①定期的に アクセス ④運行状況で 走り方を 変える モータードライバー ③モーター ドライバを 制御

Slide 35

Slide 35 text

Thank you!