FIWARE まとめ

FIWARE (ファイウェア)とは。

 広義(こうぎ)  FIWAREは、FI(Future Internet)WARE(SOFTWARE)の略称。様々な団体(国、地方自治体、民間企業など)で各々が保有するデータの相互利用やプログラムの共有、相互利用を推進するためのソフトウェア群の総称。
EUの次世代インターネット官民連携プログラム(FI-PPP)で開発・実装された基盤ソフトウェア群。欧州を中心とした多数の都市や企業でスマート化を実現。
 狭義(きょうぎ) スマートシティ構想に置けるデータ連携基盤。
スマートシティやIoTプラットフォームという文脈で利用されるオープンソースソフトウェア。

OSに依存なし。共通プラットフォーム。連携。データモデルの標準化。(重要)

オープンソースプラットフォームの製品群

町中の様々な物をエンティティ定義。Entity - Attirbute- Metadata

FIWARE 背景

同じような開発の回避

相互接続

ベンダロックの回避

ソフトウェア、モジュールの再利用、相互支援

GAFAM からの脱却

ノウハウの共有

FIWARE ソフトウェア

有名なのは ORION。スマートシティで有名な高松市などで利用。


FIWAREのOrionは、コンテキスト情報の管理に特化したオープンソースプラットフォームの一部です。主にスマートシティプロジェクトやIoT(モノのインターネット)アプリケーションで使用されます。Orion Context Brokerとしても知られているこのツールは、さまざまなソースから収集されたデータを集約し、そのデータをリアルタイムで処理し、関連するアプリケーションやサービスへの統合を容易にします。

Orionの主な機能は次の通りです。

(1)コンテキスト認識
デバイスやセンサーからのデータを集約し、その情報を基に状況を把握します。

(2)リアルタイムデータ処理
収集されたデータはリアルタイムで処理され、即座に対応や分析が可能になります。

(3)柔軟な統合
異なるソースやプラットフォームからのデータを統合し、アプリケーション間での情報共有を容易にします。

(4)スケーラビリティ
大量のデータや多数のデバイスを管理する能力があり、スケールアップやスケールダウンが容易です。

FIWAREは、スマートシティの実現において重要な役割を果たすオープンソースのエコシステムとして広く認識されています。Orion Context Brokerは、このエコシステム内で中核的な役割を担っており、都市のインフラストラクチャ、交通システム、エネルギー管理など多様な分野におけるスマートソリューションの開発と運用を支えています。その柔軟性と拡張性により、さまざまな産業やアプリケーションでの利用が可能です。

データベース

OrionではMongoDB を利用する。NO SQL

データ構造

OrionのEntitiy

お試し環境

・トレーニング環境(おすすめ)

GitHub の Codespace 上でお試しが可能です。Codespaceの無料枠を使って実機でコマンド実行の学習が可能。1日、2日で終わります。

誰でもすぐに試せる初心者向けFIWARE学習コンテンツを作成した話

Github上の CodeSpaceで簡単に学習が可能。あるいはCloneを作成してローカルでも可能。詳しくはドキュメントを参照。

(*)Redhat 9 ではWirecloudがrestartを繰り返し動作しなかった。

・FIWARE lab のサンドボックス環境(無料メールでは登録できなかった)

https://www.fiware.org/developers/fiware-lab/

・マッシュアップを使った NGSI データの視覚化

https://fiware-tutorials.letsfiware.jp/Application-Mashup/

構築

・ローカル構築用モジュール

・DOCKER 環境(最速はとても簡単に試せる)

参考:

Docker で Orion Context Broker を使用する方法

インストールメモ

最速の場合

ホスト側の以下の"Mountpoint"にDBが保存される。


docker volume inspect (Volume ID)
[
{
"CreatedAt": "2024-01-22T14:03:34+09:00",
"Driver": "local",
"Labels": {
"com.docker.volume.anonymous": ""
},
"Mountpoint": "/var/lib/docker/volumes/ (Volume ID)/_data",
"Name": " (Volume ID)",
"Options": null,
"Scope": "local"
}
]

FIWARE Orion コマンドサンプル

コマンドメモ

docker ps -a でcontainer 一覧が表示される

docker stop (container ID) でコンテナ を指定して停止

docker stop $(docker ps -q) すべてのコンテナを停止

docker rm (container ID) でコンテナを削除。

docker system prune すべて削除

docker container prune 未使用コンテナをすべて削除

docker rm `docker ps -f "status=exited" -q` 停止コンテナを一括削除

docker image prune イメージをすべて削除

docker rmi $(docker images -q) すべてのイメージを削除

docker volume rm $(docker volume ls -qf dangling=true) ボリュームをすべて削除

docker volume prune 未使用ボリュームをすべて削除

docker network prune 未使用のネットワークをすべて削除

docker system prune

docker container prune

docker rm `docker ps -f "status=exited" -q` 

docker image prune

docker rmi $(docker images -q) 

docker volume rm $(docker volume ls -qf dangling=true)

docker volume prune

docker network prune

docker start (container ID) でコンテナを開始。

docker logs -f (container ID) でログを表示。

docker volume list ボリュームの一覧を表示。

データの可視化

データの可視化で使えるのが"Wirecloud"

プログラミングなし(No code)で Web アプリケーション作成、ダッシュボード作成、データの視覚化が可能。地図なども可能。

FIWARE 用語集

用語 説明
Biz Framework デジタルサービスとEコマースのためのフレームワーク。サービスプロバイダと消費者間の取引を容易にします。
Cepheus 軽量なCEP (Complex Event Processing)エンジン。IoTデバイスからのイベント処理を効率化します。
Cosmos Big Data解析用のFIWAREジニ。データ収集、処理、保存のためのツールを提供します。
Cygnus データ転送エージェントで、Orionからのデータを第三者のデータベースやシステムに転送します。
Draco Apache NiFiをベースにしたデータ転送ソリューション。柔軟なデータ処理とルーティングが可能です。
FIWARE Lab FIWAREテクノロジーの実験やプロトタイピングに使用されるクラウドベースの環境。
FIWARE LAB
FIWARE Marketplace FIWAREベースのソリューションやサービスを提供するオンラインプラットフォーム。開発者とユーザーを結びつけます。
https://www.fiware.org/marketplace/
FogFlow クラウドとエッジコンピューティングを統合するフレームワーク。分散型のデータ処理と自動的なデバイス管理を実現します。
IDAS IoTデバイス用のバックエンドサービス。多様なデバイスとの接続をサポートします。
IoT Agent IoTデバイスとOrion Context Broker間の通信を橋渡しするコンポーネント。デバイスのデータをNGSI形式に変換します。
Keyrock ID管理と認証を提供するコンポーネント。ユーザーとデバイスの認証情報を管理します。
Knowage ビジネスインテリジェンスとデータ分析のためのツール。ダッシュボード、レポート、データマイニング機能を提供します。
NGSI (Next Generation Service Interface) 標準化されたAPIで、IoTデバイスやサービス間のデータ交換を容易にします。JSONやXML形式でデータを交換し、異なるソースの情報統合を支援。FIWARE データモデルで記述。
Orion Context Broker NGSIに基づく主要なコンポーネントで、異なるソースからの情報を集約し、コンテキスト情報を管理します。
Perseo コンテキスト情報に基づいた複雑なイベント処理を行うエンジン。リアルタイムでの反応やアクションを可能にします。
QuantumLeap 時系列データを保存し、分析するためのサービス。高速なデータ書き込みとクエリ性能を提供します。
SmartSDK FIWAREのアプリケーション開発を容易にするためのソフトウェア開発キット。
Sth-Comet 時系列データを保存し、クエリするためのコンポーネント。IoTデータの時系列分析に役立ちます。
Wilma PEP Proxy (Policy Enforcement Point)として機能し、セキュリティポリシーに基づいたアクセス制御を提供します。
Wirecloud マッシュアップベースのユーザーインターフェースを作成するためのプラットフォーム。異なるソースのデータを視覚化します。

事例

高松市

トヨタ自動車の静岡県裾野市にある実験都市、「テストコースの街」

千葉レポ

オープン311

注意事項メモ

(1)

"Invalid characters in attribute value orion" と表示される場合はJsonの形式が間違っている可能性がある。あるいはセキュリティ上利用していない文字が含まれる(=,イコールなど)

位置情報を詠み込む場合など、csv ないのカンマの扱いで不具合になる可能性があるので注意。

位置情報のカンマの位置がおかしいとエラーとなる。

(2)WireCloud の OpenLayers Map のInitial Location (初期位置)

東京の場合、139,35 あたり。Google Map の Inital Location ではTokyo , 東京のように指定可能ようのだが、OpenLayers Map では都市名での指定はできなかった。(Google API KEY のあるほう)

(3)ORION を更新すれば、WireCloud の OpenlayersMap は自動更新される。NGSI Proxy が間違っていると自動更新されない。

(4)Docker より先に Firewalld を起動しないとおかしくなる。

[戻る]