67
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavascriptでIoTをやる方法

Last updated at Posted at 2018-12-12

この記事はJavaScript Advent Calendar 2018の12日目です

@n0bisuke さんと合わせて2日連続でjavascriptのIoTに関するAdventCalendarになりました。
・・・と言っても、話が続いてるというわけでは無いです

前半戦なので、全体感ということで、JavascriptでIoTをやろうとしたときに
どんなやり方があるよという話をしたいと思います。
IoTやるとどんな事ができるよ!の話はこちらのAdventCalendarでも見ていただければと思います。

それぞれマイコンボードごとに分類してます。

Raspberry PiでIoT

javascriptのパワーユーザーならこれが一番違和感なく簡単なんじゃないでしょうか。
Linuxが手足のように使えるレベルの知識がある人向け。

computer_single_board.png

  • Raspberry Pi にnodejsをインストール・実行でIoTを行う
    Raspberry PiはただのLinux PCなので、node.jsがそのまま入ります。そのまま動かせばjavasriptで入出力ができます。
    Linuxの環境構築はとてもめんどいですが、パワーユーザーならきっと日常的にやってるはず。

  • CHIRIMENというミドルウェアを入れ、Raspberry Pi内のブラウザでjavascriptを実行
    CHIRIMENというのを入れると、電子工作に必須のio制御が内部ブラウザからの関数呼び出しでできるます。ブラウザカスタマイズしたのかな?

ESPでIoT

RaspberryPiとは逆に、電子工作バリバリできまっせ!という人はこちらがおすすめです。
なによりも安い

スクリーンショット 2018-12-12 19.42.45.png
  • ModdableをつかってJavascriptをコンパイルして書き込んで使う
    javascriptだってコンパイルすればただのアセンブラ。こういう系はjavascriptの機能が一部使えないことが多いですが、どこまで使えるのかはちょっと探しきれませんでした・・・。

  • Mongoose OSをつかってJavascriptをコンパイルして書き込んで使う
    こちらも同じで書き込んで使います。evalとか使えるのかな・・・?
    Moddableとの違いもよくわかってないです。

ArduinoでIoT

電子工作といえばarduino!というぐらい簡単にプログラムが書けます。C言語なら
JavaScriptで書こうとするとひと工夫必要です。

computer_one-board_microcomputer.png

  • Johnny-FiveというOSをarduinoに入れ、有線で接続したPCでnode.jsを動かしarduinoに指示を出す

    生のnode.jsを使うことができるので、なんでもやりたい放題です。そのかわり、有線でPCとArduinoをつないでおく必要があります。動作中ずっと。

obnizでIoT

クラウド上のAPIを叩くとマイコンの入出力が制御できるというマイコン。
他のボードとはインターネット越しの制御がよくも悪くも違う。
howobnizworks.png

  • obnizが用意しているクラウドのサーバー上のAPIをjavascriptで叩いて使う
    APIなのでブラウザから指示を送れます。ブラウザ上のボタンを押したらモーターが回る などのブラウザ連携ができるのが特徴ですね。

  • obnizが用意しているクラウドのサーバー上のAPIをnode.jsで叩いて使う
    こちらも同じですね。node.jsでも動くのでサーバーサイドからもいろいろできます。
    (むしろjavascriptじゃなくてもいい・・・?)
    VUIと組み合わせてgoogle home連携とかも簡単です。

#まとめ

図にするとこんなのです。
自分のスキルと目的にあったマイコンボードを手に入れて、ハードウェア動かしましょう!
スクリーンショット 2018-12-12 20.02.19.png

67
54
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
67
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?