Fiwareを使って都市OSを動かしてみよう

Munu


データ仕様の現状と課題
スマートシティの標準規格(案)
データモデルのユースケース
ツール


Column
Link
用語集

Coppell

Technologies

1. はじめに


1.1.FiwareとEntity
2022-04-09
 EUの肝いりで作られたソフトウェアにFiwareというIoT基盤があります。FiwareはOSS (Open Source Software)と呼ばれる誰でも無償で使えるソフトウェアで、Fiware Foundationという団体に世界中の企業が参画して開発しています。このIoT基盤は色々な目的で使われており、Fiware Foundationによれば、例えばSmart Cities、Smart Agrifood, Smart Energy, Smart Waterなどで使われています。余談ですが、日本で「スマートシティ」というと、Smart EnergyやSmart WaterやSmart Mobilityなども含んだ幅広い活動を指していることが多いようで、必ずしも用語は海外とは一致してないようです。
 本サイトでは「スマートシティ」のICTの基盤となる都市OSを理解するために、OSSであり利用している都市も多い、このFiwareを使って説明します。したがって、読者の皆さんはインタネットにつながっているWindows PCを用意していただくだけで、他に購入するものはありません。一般的に使われているWindows環境でFiwareを動かして動作を確認するとともに、その過程でEntityなどのFiwareを使う上での各種用語やルールを理解します。
 Fiwareでは、転送したり蓄積したりする一つひとつのデータをEntity (注) と呼びます。Entityは、一般的には土地、建物、人、団体などの実世界の「モノ」や機器の故障や検査などの「コト」に対応します。この後、Entityという言葉が沢山出てきますが、まずは「ああ、データのことだな」と思って読み進めてください。章が進むに従い、理解が具体的になっていきます。

注: 本書ではEntityと記述しますが、色々なサイトを見ると、Entity以外にContext Elemont、Context、データ、オブジェクトなどの記述が散見されます。本書では他との混同を招きにくいという観点と、NGSI-LDに移行したときに混乱しにくいという観点で、Entityという表現を採用しています。

補記: 本書で題材にしているFiwareですが、正確に言うとFiwareは沢山のモジュールから構成されており、そのモジュール群の中のFiwaare/Orionと言うモジュールと、Fiware/Orionの下でデータを管理するMongo-DBだけを指しています。このFiware/Orionはデジタル庁からエリア・データ連携基盤の「推奨モジュール」に指定され、一般社団法人データ社会推進協議会が主に自治体向けに活用に関する支援活動をしています。従って、日本においてはスマートシティの中核となると推定されます(2022-09-23)。



1.2.本書の構成
2022-04-09
 まず第2章では、PCに都市OSやツールをインストールしつつ、基本的な操作について確認します。この章が終わると、ごくごく基本的な構成の都市OSを動かすことができ、よく分からないまでもEntityを格納したり読み出したりできます。
 第3章では、Entityの初歩的な考え方について学びます。この章が終わると、標準的なEntityを作成したり、標準的なEntityに対し必要な拡張をしたり、標準にはないEntityを独自に作成したり、Entity間の関係を定義したりできるようになります。
 第4章になると、一旦立ち止まって、Smart Data Modelsやjsonなどの標準は実はどのようなものだったのかなどについて実例を用いて振り返り、第二章と第三章で得た知識を体系化します。
 第5章ではfiware/orionが提供するNGSIのAPIについて説明するとともに、curlコマンドでAPIを利用する方法について説明します。
 第6章では、第四章と第五章の裏付けとなる標準の規約についてまとめてあります。
 最後に第7章では、いよいよfoware/orionがブローカーと呼ばれるゆえんである、データのハンドリング方法につい実例を用いて勉強します。