Fiware チュートリアルをやってみる(Internet of Things, ロボット, サードパーティ・システム)
こちらの続きです。
201. Introduction to IoT Sensors
Fiwareの概要を図式化すると、こちらの絵になると思いますが、
もう少し細く説明が欲しいなと思うと、内閣府がこんな絵を出していました。
図 7.2-1 スマートシティリファレンスアーキテクチャにおける都市 OS の詳細
似てるようでいてそうでもないようにも思いますが、中心にデータ管理・仲介があり、その直下に、
アセットマネジメント、あるいは、IoT機器等へのインターフェース提供、というものがある、
ということでこの辺は整理の仕方に拘らず重要なところかもしれません。
では、そのインターフェースとはどのようなものか。
例えば、TwietterがAPIを提供してくれるように、デバイスがAPIを提供してくれるなら、
それをコンテキストプロバイダとして登録して、Orionで管理することもできる。
けど、そうでない場合に、もう一つ間にエージェントを挟むことで制御しやすくする、
そんな感じでしょうか。(個人の理解です)
各種IoTプロトコルに対応した、複数の IoT Agent があり、IDAS(IoT Device Agent Suites)と呼ばれています。
とのことで、その一つとして、IoT Agent for Ultralight 2.0 などもある、ということです。
すなわち、IoT側で用意している規格として、Ultralight 2.0 というものがある。
このチュートリアルでは、仮の Ultralight 2.0 を使って、それに接続してみよう、というものです。
202. Provisioning an IoT Agent
最初に IoT Agent の説明。大体上であっていると思う。
- デバイスのアップデートをリッスンする標準的な場所を提供
- コンテキスト・データの更新をリッスンするための標準的な場所を提供
- デバイスのリストを保持し、コンテキスト・データ属性をデバイス構文にマッピング
- セキュリティ認証
この基本機能は、一般的な IoT Agent framework library に抽象 化されています。
203. IoT over MQTT
「MQTT」(Message Queueing Telemetry Transport )
Message Queueing、2000年頃の開発で使って以来使ってないな・・・
docker-compose.yml もだいぶ複雑になってきました。
サービス名とイメージの部分だけ抜粋すると、下記のようになっています。
orion:
image: fiware/orion:${ORION_VERSION}
iot-agent:
image: fiware/iotagent-ul:${ULTRALIGHT_VERSION}
tutorial:
image: fiware/tutorials.context-provider
mongo-db:
image: mongo:${MONGO_DB_VERSION}
mosquitto:
image: eclipse-mosquitto:1.6.14
204. Using an alternative IoT Agent
なぜ複数の IoT Agent が必要なのですか?
JSON と Ultralight で比べてみても、メリデメありますよねという話。
この辺は飛ばしていきます。
205. Creating a Custom IoT Agent
例として、ISOXML 標準 iso:11783 は農業機械で頻繁に使用されます。
そうなんですね・・・
そんな感じで必要に迫られたら、カスタム形式に対応させられる。大切です。
250. Introduction to Fast-RTPS and Micro-RTPS
ロボット技術や極端に制約のあるデバイスで使用される RTPS (Real Time Publish Subscribe)
RTPS (Real Time Publish Subscribe) 用の eProsima Micro-RTPS プロトコルは、ロボティクスや 非常に制約の厳しいデバイスで使用されています。
この辺はこのレベルの雰囲気だけ感じておきます。
Discussion