IoTとは
Internet of Thingsの略で読みはアイオーティー。
直接訳すと「モノのインターネット」です。
意味は、従来インターネットに接続されていなかった様々な「モノ(物)」がインターネットに接続され、情報交換することにより相互に制御する仕組みのことです。
この用語はRFID(Suicaなどに応用されている、非接触でタグの情報を読み書きする技術)の開発に取り組んでいるイギリスのケビン・アシュトン氏による造語です。
IoTに良く使われるもの
大体以下のような構成がほとんどです。
必須:
1)カメラや温湿度センサーなどの環境情報を収集する各種センサー
2)インターネット接続用の通信モジュール
3)上記の1~2を制御するマイコン、もしくはシングルボードコンピュータ
用いる場合がある:
4)LEDやディスプレイ、スピーカーなどユーザーにシグナルを伝えるもの
5)サーボモーターなど動力源
ここであまり聞きなれない「シングルボードコンピュータ」という言葉が出てきたと思うので、本記事で詳しくご説明します。
シングルボードコンピュータ(SBCと略します)とは
むき出しの基盤の上にマイクロコントローラかSoC、周辺部品や入出力インタフェースとコネクタを付けただけの極めて簡素なコンピュータです。
一般的によく知られているものは、ラズパイこと
Raspberry Piではないでしょうか。
シングルボードコンピューターと来たら、Raspberry Piのような基盤むき出しの小さいコンピュータなんだなと想像してもらって大丈夫です。
OSはシェアの関係で
Linuxが多い印象ですが、
Unix系OSや
Windowsを採用しているものもあります。
Raspberry Piが知名度抜群ですが、それ以外にも
BeagleBoardや
Tinker Board、
Nano Pi、
C.H.I.P.など毎年様々なタイプのシングルボードコンピューターが発売されています。
Raspberry Piが大成功したからでしょうか、
Banana Piや
Orange PiやNano Piなど、最後にPiが付くものが多い印象ですね。
IchigoJamや
Onion Omegaといった果物や野菜のような名前を入れているものも多数あります。
ここで気をつけて欲しいのが、IoTとシングルボードコンピューターを混同しないことです。
最初にIoTの説明でInternet of Thingsとお伝えした通り、インターネットに繋がらなければIoTではありません。
シングルボードコンピューターでもインターネットに接続するためのモジュールを搭載していないモデルがあるので、そこは意識した方が良いと思います。
シングルボードコンピュータで出来ること
LinuxやWindowsなど、皆さんが普段つかっているPCで使えるOSを搭載しているので、それらで出来ることは(サクサク動くかどうかは不明ですが)大抵できてしまいます。
ただ、それではIoTってどうするの?がモヤっとしたままなので、よく入門でやる内容をご紹介します。
通称「Lチカ」
LEDチカチカの略です。
LEDは蛍光灯の置き換え用として最近採用が進んでいますが、技術的には結構古いもので、電気電子関係では数十年前から小さい部品が流通しています。
テレビの電源ランプとかコンピュータの電源ランプとか、「通電してます」の目印として皆さんよく目にしているアレをイメージしてもらうと分かりやすいと思います。
シングルボードコンピューターには大抵
GPIO(General-purpose input/outputの略)用のピンが搭載されていて、そのピンで電気信号を送受信してLEDを制御する方法が、入門向けとしてよくブログなどに書かれています。
Lチカするだけならこんな感じです。
Lチカが出来るということは、電気のON/OFFが制御出来るということなので、そのピンをモーターに繋いでプログラム制御したり、センサーからデータを取得し、閾値を超えたら何かのスイッチを入れるといったことが出来るようになります。
高機能なシングルボードコンピューターではカメラを搭載できるものがあるので、カメラで動画を撮ってネット経由で見たり、カメラ画像をシングルボードコンピューター上で処理するといったことも可能です。
スピーカーが搭載されていれば、カメラやセンサーからの入力を引き金に音声を流すということも考えられます。
要するに、使い方はあなた次第ということです。
ブログを書いている方も多数いらっしゃいますし、コミュニティや雑誌もあります。
アイデアを組み合わせてIoTをうまく実現できれば、
クラウドと組み合わせて大抵のことはできてしまいます。
導入する時に気をつけること
設置場所の環境に合わせてセンサーの調整がほぼ必須です。
例えば、カメラとカメラに映った人物を認識するプログラムを作り、手元で動かしてみて問題なかったのに、実際に現地に設置してみると明るさが違うためにうまく人物認識が動かなかった。
実際に設置してみたらノイズが多い、欲しいシグナルが弱くてデータが拾えないので要増幅。などなど
作る環境と設置する環境の違いや、サンプリングする対象の違いなどで想定していない動きをしてしまう場合が多々あります。
IoTはデバイスを設置してから、ちゃんと動くかどうかまでよく検証することが大事です。
今後できるかも知れないこと
現在はシングルボードコンピューターの性能がそれほど高くないので、ちょっと重い処理をさせようとすると応答が悪くなってしてしまうことがあります。
例えば下記のような人物認識だと1秒に数コマしか処理できず紙芝居のような動きになります。
ゆえに、重めの処理をする時は、カメラやセンサーから集めた多量のデータをクラウド側にインターネット経由(大抵お金かかるしネットワーク設置に手間がかかる)で転送して、クラウド側で処理をしてしまうのが現在は主流です。
今後シングルボードコンピューターの性能が上がってくれば、わざわざインターネットを介さなくても目的が達成できようになるでしょう。
つまり、「シングルボードコンピューターで環境中のデータを集めて、シングルボードコンピューター上で処理してしまう」ということが将来的に不都合なく出来るようになるということです。
2018年1月時点では、シングルボードコンピューター上でAIプログラムを動かしてしまうという事例も出ており、これはAIとIoTを組み合わせて
AIoTと呼ばれています。
最近スマートスピーカーが出始めていますが、これもAIoTです。
特にカメラとAIを組み合わせたりする場合はAI側の処理にマシンパワーが要るので、シングルボードコンピューター上で動かすとまだカクカクすることが多いのですが、また新たに
新型のRaspberryPi3B+が販売されるなど、今後も性能が向上していくでしょう。
最後に
これらのシングルボードコンピューターを用いたIoTソリューション開発を弊社では請け負っており、それらのIoTデバイスの管理サービスである
isaaxも展開しております。
isaaxは3台まで無料なので、ID登録すればすぐにお試しいただけます。]]>