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

Node.js + Raspberry Piで お手軽IoT

Node.js + Raspberry Piで お手軽IoT

998b440234ba4524a2c1ba1f130728f8?s=128

Masaki Koyanagi

June 05, 2017
Tweet

More Decks by Masaki Koyanagi

Other Decks in Programming

Transcript

  1. Node.js + Raspberry Piで お手軽IoT We Are JavaScripters! @8th 1st

    Day Name: Koyanagi Twitter: @mascii_k
  2. 自己紹介 小柳 昌生 (こやなぎ まさき) Twitter: @mascii_k 2015/07~2017/03 Web系エンジニアインターン 2017/03

    東京理科大学大学院 修了 2017/04〜 SIerシステムエンジニア
  3. でJSも喜ぶ IoTデバイスを作った話 1

  4. 学生(インターン)時代に作ったもの 学習塾向け入退室管理機器(Raspberry Piベース) ▸ NFCカードが持つIDを活用 ▸ 開発言語はJS(Node.js) + Python 2.x

    ▸ JSが塾に来てカードをタッチすると親にプッシュ通知 が届く仕組み
  5. Pythonが必要な理由 ▸ ソニーPasoriの最新型 “RC-S380”を扱えるライブラ リが”nfcpy”しかない ▹ 最新といっても 2012/10 発売 ▹

    libnfc が RC-S380 に対応していない ▸ 前回IoTLTの登壇者の方もPasori利用時 は Go + Python(nfcpy) だそそうです
  6. どんなnpmパッケージを使ったか ▸ request ▹ http / https通信を行うためのクライアント ▸ onoff ▹

    GPIO上のLEDをON/OFFする ▸ python-shell (+ nfcpy) ▹ 標準入出力でJSONを受け取る {"id":"01010456789ABCDE"}
  7. IoT≠電子工作 2

  8. Raspberry PiとテレビをHDMI接続してテレビの ON/OFFを確認する : node-cec http://qiita.com/mascii/items/132c064c30e321dea911

  9. IoT≠電子工作 ▸ Raspberry Pi に4Gモデム(USBデバイス)とテレビ (HDMIケーブル)を繋げるだけでもIoTできる ▹ 「電子工作をしないIoT」もある

  10. npmパッケージを作った話 3

  11. Node.jsでもNFCを使ってほしい! ▸ HDMIのように、配線してnpmパッケージ入れるだけ でPasoriが使えたらいいのに... ▹ JSだけ書きたい... ▹ Python 書きたくない... ▹

    JSなら非同期な処理が書きやすい ▸ npmパッケージを作ってみた!
  12. node-nfcpy-id

  13. デモ ▸ 私のPASMOをタッチすると LEDが青色に光り、それ以外 のカードをタッチするとLEDが 赤色に光る ▸ npmパッケージ ▹ node-nfcpy-id

    ▹ onoff
  14. まとめ 4

  15. まとめ ▸ request, Express, socket.ioなどRaspberry Pi 専用でないnpmパッケージも活用できる ▸ node-nfcpy-id というnpmパッケージ作った

    ▹ 近日中にQiitaに記事アップします ▸ 電子工作しないIoTもできる。そう、JSならね。
  16. THANKS! Node.js + Raspberry Piでお手軽IoTしてみてください