JavascriptでIoTをやる方法

JavascriptでIoTをやる方法:

この記事は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をつないでおく必要があります。動作中ずっと。


obinzで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


コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)