未来予想図Ⅲ

未来について考えてみたことを書くブログ…

「絵で見てわかるIoT/ センサの仕組みと活用」をめちゃめちゃ簡単にまとめた

 

絵で見てわかるIoT/センサの仕組みと活用

 

↑↑上の本がとても内容が濃かったので、適当にまとめてみた

 


バイスの役割

1.センシング:デバイス自身の状態やまわりの環境の状態を収集し、通知する

2.フィードバック:システムから通知を受け、情報の表示や指示された動作を行う

         方法としては、可視化、通知、制御が挙げられる

 

ネットワークの役割

バイスでIoTサービスにつなぐために必要

・デバイス同士を接続するネットワーク

・デバイスとサーバをつなぐネットワーク

 

IoTサービス

・デバイス、ゲートウェイ、サーバの構成

・フロントエンド部、処理部、データベース

1.ゲートウェイ選択時のポイント

インターフェイス

 接続したデバイスに合わせたインターフェイスの選択が重要

・ネットワークインターフェイス

 ゲートウェイの設置場所に影響を与える

・ハードウェア

・ソフトウェア

 ゲートウェイには組み込み向けLinuxが入ってる

 

2.ゲートウェイの機能

 ・デバイスとの接続

 ・データ処理

 ・サーバーへの送信

 

3.サーバ

HTTP:

最もポピュラー。データ送信を行う一番簡単な方法。

 

WebSocket:

ネット上でソケット通信するための通信プロトコル。デバイス側から送信サーバに接続し、Web Scketのコネクションを確立する。一度WebSOcけtの接続を確立すると、送信サーバからデータ送信に加えて、クライアント側からデータ送信できる。

 

MQTT:

パブリッシュ/サブスクライブ型と言われる。一対多の通信可能なプロトコル。ブローカー、パブリッシャー、サブスクライバーで構成されている。

バイスにHTTPやWebSocketを立てて、サーバ側から接続するのは可能だが、デバイス数が増えた時にサーバがすべての接続先を管理するのは難しい

ブローカー:MQTTの通信を中継する

パブリッシャー:メッセージを送信するクライアント

サブスクライバー:ブローカーに対して、接続を行い接続したいトピック名を伝える。

 

【デバイスからのデータの受信と送信(同期と非同期通信がある)】

【データの処理と保存】

  1.バッチ処理:保存されたデータを定期的にまとめて処理

  2.ストリーム処理:受信データを逐次的に処理

【データフォーマット】

XML:わかりやすいがデータ数多くなる

JSON:データ量少ない

MessagePack:バイナリ形式でデータが扱えるので、この3つの中では一番データ数が少なくてすむ。

 

サービス開発のポイント

【デバイス選定】

・センサ特性

・計測誤差

・法的規制

 

【デバイスの設置】

・配置設計

・設置場所

・設置環境

 

【パラメータ設定】

・センシング間隔

・センサネットワークの設定

 

【データベース】

RDBやKVS、ドキュメント指向など

・スケールアウトが可能なKVSが採用されることが多い

・初期段階ではRDBが無難。

・拡張性、高性能が必要ならKVS

 

IoTデバイ

マイコン:機器制御を行うICチップ。CPU,メモリ、周辺回路が組み込まれている

・入力デバイス:センサ等の使用によって、より詳細かつきめ細かな周囲の状況を把握することができる

 

マイコンの種類

・H8マイコン

必要最低限の機能が入っている。組み込みを学ぶには少し難しいが最適

Arduino

デジタル、アナログ、入出力端子、USBポートなどの単純なI/Oポートが小さな基盤にまとまっている。開発しやすいのがメリット。シールドと組み合わせると、大きくなるのがデメリット

・Rasberry Pi

Armプロセッサを搭載したシングルボードコンピュータLinuxが入っている。PCとして利用することを主眼におかれた設計となっている。アナログ入力端子がないのがデメリット。

・Beagle Bone Black

Armプロセッサ搭載したシングルボードコンピュータLinux、PCT、マイコン、どちらの性能ももっている。値段高め、で日本語資料が少ない。

Intel Edison

Intelマイコン、CPUが入っている。LinuxWifi,Bluetooth4.0搭載。Arduino Unoも装着して使用可。 

 

ドライバ

単純なドライバ回路としてトランジスタが挙げられる

・電流の流れを制御することが可能な電子部品を利用したスイッチング回路

・エミッタ、コレクタ、ベースという3つの端子をもっている

・NPN型、PNP型の2つがある

・ベースに加える電流の変化が非常に小さくてもON/OFFを切り替えれる。コレクタに大きな電源を接続すると、結果的にベースの電流を大きく増幅して出力できるようになる

 

三端子レギュレータ

・Vin/Vout/GNDという3つの端子がついたもの

・入力された電圧に対し、内部で電圧変換を行い、一定の電圧を出力する。

・高温になりやすいので、取り扱い注意

 
デジタル信号からアナログ信号への変換

・PWM(Pulse Width Modulation)方式が一般的

・出力のHigh/Lowを高速に切り替えることで、近似的にアナログ出力を実現する。

・周期の中でどれくらいHighになってるかを表す割合をデューティー比(D)で表し、Dが大きいほど、Highになっている時間が長いので、LEDは明るくなる。

 
ハードウェアプロトタイピング

ポイントは目的の明確化と、スピードの向上とコストの削減

  

ネットワークとの接続

センシングした情報を蓄積・分析したり、遠隔でデバイスをコントロールするため、ネットワークを介して、サーバと通信する。

 

ゲートウェイとの接続方法

◯有線

Ethernet

・電波干渉の恐れなく安定的に通信できる

・IPを用いた一般的な通信プロトコルが実装可能でPCと簡単に通信できる

・サイズが大きくなったり、設置場所が限定されるのがデメリット

 

【シリアル通信】

ゲートウェイにシリアルポートがあれば、接続しやすいが、無いときはUSBシリアル変換ケーブルなどを使い、接続する必要がある。実装するには、通信速度のパラメータや送信するデータのサイズを送受信側双方で設定する必要がある

【USB】

・タイプAと呼ばれるコネクタが採用されやすい

 

◯無線

Wifi

【3G/LTE

Bluetooth

・ver4.0から周波数帯がかわり、Wifiと干渉しなくなった。

IEEE802.15.4/ZigBee

・2.4GHz帯を使用する無線通信規格

・伝達速度が低速だが、低電力で稼働

【EnOcean】

データ処理

処理サーバ

バッチ処理

1.データ分析

2.データ加工

バッチ処理:貯めたデータを一定間隔で処理する。

【Apach Hadoop

オープンソースフレームワーク

・Apach Hadoopの特徴2つ

MapReduceと呼ばれるデータを効率的に処理する仕組みを持っている。MapReruceは効率的にデータを処理するための仕組み

Map、Shuffle、Reduceの3つの機能を持つ。

Map:処理対象のデータを振り分け

Shuffle:同じ種類のデータを振り分け

Reduce:分類されたデータをまとめる

 

HDFS

・分散ファイル・システム

・複数のディスクにデータを分割して格納する。データを読みだすときは複数のディスクから分割されたデータを同時に読み出しを行う

 

【Apach Spark】

RDDと呼ばれるデータ構造で扱う。RDDはメモリ上で動作するため、とても早い。

 

◯ストリーム処理

データを保存せず、処理サーバに到着したデータから逐次的に処理する。

 

【Spark Streaming】

Apach Sparkのライブラリ。Apache Sparkをストリーム処理に利用可

 

Apache Storm】

・Stormという処理するデータのことをTupleという。TupleのフローをStreamと呼ぶ。

 

3.データ保存

4.デバイスへの指令

データベース

データを保存し、活用しやすくする

【リレーショナル・データベース(RDB)】

・最も一般的に使われているデータベース

SQLを扱う

・画像や音声などのバイナリデータを扱うのが不得意

 

【キーバリューストア(KVS)】

・NoSQLと呼ばれるデータベースの種類※NoSQLとは、SQLを利用しないデータベースの総称

・バリューというデータの値とキーの値のセットで保存される。

・データ保存先がメモリとハードディスクがあり、RedisというKVSがはメモリ、ハードどちらも保存先にできる。通常メモリ保存で、任意にハードへデータを格納する。

 

【ドキュメント志向データベース】

・NoSQL

XMLJSONといった構造化されたドキュメントの形式でデータを保存できる

・MongoDB

JSONデータを直接保存できる

JSONの値でデータ検索できる

 


その他

データ分析

・統計的分析

機械学習

 

 

標準化活動

IETE - The Institution of Electronics and Telecommunication Engineers

ITU: Committed to connecting the world

AllSeen Alliance

OPEN CONNECTIVITY FOUNDATION (OCF)