Upgrade to Pro — share decks privately, control downloads, hide ads and more …

京急ガジェットを作っているエンジニアから見たNode-RED

 京急ガジェットを作っているエンジニアから見たNode-RED

pokiiio

May 16, 2018
Tweet

More Decks by pokiiio

Other Decks in Technology

Transcript

  1. ポキオ • Android園児にゃー • Twitter : @pokiiio • Blog :

    Androidのメモとか (http://relativelayout.hatenablog.com/)
  2. tl;dr • 京急は神 • IFTTTでは痒いところに手が届かない • ゴリゴリ書くより簡単 • そう、Node-REDならね •

    Nodeが豊富 • NodeがなければJSで書けばいい • JSが無理ならShellScriptを実行すればいい
  3. agenda • ポキオとマイコン • サービス連携ってだるい • そこでNode-RED • Node-REDのよさみ •

    Node-RED ✕ 京急 ◦ 種別幕の表示 ◦ 運行情報の表示 • サマリ 2000形 今はなき往年の名車
  4. IFTTTがあるじゃん? • マイコンがトリガーになる場合 ◦ 結構簡単 ◦ JSONをHTTP POSTするだけでOK • マイコンがアクションになる場合

    ◦ すっごいだるい(個人の感想です) ◦ IFTTTから外部サーバーを経由してマイコンに通知する ◦ IFTTT -(webhook)-> 外部サーバー -(MQTT)-> マイコン ◦ 外部サーバーっていう時点でテンションが下がる
  5. Node-REDを触ってみたらすごかった • IBM Cloudがライトアカウントを始めた ◦ クレカ登録不要、無料 ◦ Node-REDも使える • うわなにこれすごい

    ◦ Nodeを繋ぐだけ ◦ Nodeも豊富 ◦ Watsonなどの連携も楽 • そういえばRaspberry Piにも入ってたな ◦ うわすごい ◦ GPIOの制御も簡単
  6. Node-REDって? • Nodeとは? ◦ 処理のブロック • Nodeが豊富 ◦ SNS連携 ◦

    IBM Cloud ▪ Watson ▪ DB ▪ MQTT ◦ Raspberry Pi ▪ GPIO ▪ コマンドの実行 • Nodeは作れる ◦ JSで書ける! IBM Cloud上のNode-REDにあるNodeの例
  7. 電子ペーパー • Lチカに飽きた • 電子ペーパーならリッチなことできるかな • 電子ペーパー制御はRaspberry Piで • 言語はPythonがメイン

    ◦ 電子ペーパーモジュールのメーカーから Pythonライブラリが提供 ◦ そのPythonライブラリを使って画像を貼り付ける ◦ 文字を表示させたいときは、 Pythonの画像系ライブラリで文字を画像化させてそれを貼る
  8. 遅延っていやですよね • 京急の運行情報を表示 ◦ ただしAPIは存在しない ▪ 京急運行ページをパース ◦ ポーリングではなく、変化があったときだけ更新したい ▪

    京急のサーバーに負担をかけたくない ▪ 電子ペーパーの更新に時間がかかる ◦ 今回は京急公式Twitterに投稿があったら、運行情報に更新があったとみなす
  9. links • ダァ1号 ◦ http://relativelayout.hatenablog.com/entry/2016/08/26/125650 • ダァ2号 ◦ http://relativelayout.hatenablog.com/entry/2017/03/25/003251 •

    ダァ3号 ◦ http://relativelayout.hatenablog.com/entry/2018/03/23/143138 • 種別幕 ◦ http://relativelayout.hatenablog.com/entry/2018/01/16/002847