本記事では、FIWARE WireCloud と Orion を導入する方法を紹介します。
前提条件
- Linux OS (x86_64, aarch64) または Mac OS (Intel, Apple Silicon)
- Docker および Docker compose plugin
- make, curl コマンド
WireCloud のインストール
コマンドラインから、次のコマンドを実行すると数分で、Orion と WireCloud が稼働する環境ができあがります。
curl -sL https://letsfiware.jp/wirecloud | bash
このコマンドを実行すると、関連するファイルやディレクトリが作成されるため、次のようにディレクトリを作成して、その中で実行することを推奨します。
mkdir wirecloud
cd wirecloud
curl -sL https://letsfiware.jp/wirecloud | bash
インストールが完了すると、次のようなメッセージが表示されます。既に WireCloud は起動しています。
1 2 3 4 5 6 7 8 9 10 |
*** Setup has completed *** Service URLs: Orion: http://192.168.0.1:1026 WireCloud: http://192.168.0.1 Ngsiproxy: http://192.168.0.1:3000 Sanity check: ngsi version --host orion.local ngsi version --host wirecloud.local docs: https://fi-sb.letsfiware.jp/ Please see the .env file for details. |
WireCloud 環境の準備
コンテナの起動確認
コンテナの稼働状況を確認します。次のコマンドを実行します。
make ps
次のようなコンテナが稼働しているはずです。
1 2 3 4 5 6 7 8 9 10 11 |
$ make ps sudo docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS wirecloud-elasticsearch-1 elasticsearch:2.4 "/docker-entrypoint.…" elasticsearch 11 minutes ago Up 11 minutes 9200/tcp, 9300/tcp wirecloud-memcached-1 memcached:1 "docker-entrypoint.s…" memcached 11 minutes ago Up 11 minutes 11211/tcp wirecloud-mongo-1 mongo:4.4 "docker-entrypoint.s…" mongo 11 minutes ago Up 11 minutes 0.0.0.0:27017->27017/tcp wirecloud-nginx-1 nginx:1.25 "/docker-entrypoint.…" nginx 11 minutes ago Up 11 minutes 0.0.0.0:80->80/tcp wirecloud-ngsiproxy-1 quay.io/fiware/ngsiproxy:1.2.2 "docker/entrypoint.sh" ngsiproxy 11 minutes ago Up 11 minutes 0.0.0.0:3000->3000/tcp wirecloud-orion-1 telefonicaiot/fiware-orion:3.10.1 "sh -c 'rm /tmp/cont…" orion 11 minutes ago Up 11 minutes (healthy) 0.0.0.0:1026->1026/tcp wirecloud-postgres-1 postgres:15 "docker-entrypoint.s…" postgres 11 minutes ago Up 11 minutes 0.0.0.0:5432->5432/tcp wirecloud-wirecloud-1 quay.io/fiware/wirecloud:1.3.1 "/docker-entrypoint.…" wirecloud 11 minutes ago Up 11 minutes (healthy) 8000/tcp |
WireCloud の起動確認
ngsi コマンドを実行して、WireCloud からレスポンスがあることを確認します。
ngsi version ––host wirecloud.local ––pretty
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ ngsi version --host wirecloud.local --pretty { "ApplicationMashup": "2.2", "ComponentManagement": "1.0", "DashboardManagement": "1.0", "FIWARE": "7.7.1", "FullscreenWidget": "0.5", "NGSI": "1.2.1", "OAuth2Provider": "0.5", "ObjectStorage": "0.5", "StyledElements": "0.10.0", "Wirecloud": "1.3.1" } |
Orion の起動確認
ngsi コマンドを実行して、Orion からレスポンスがあることを確認します。
ngsi version ––host orion.local
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$ ngsi version --host orion.local { "orion" : { "version" : "3.10.1", "uptime" : "0 d, 0 h, 18 m, 9 s", "git_hash" : "9a80e06abe7f690901cf1586377acec02d40e303", "compile_time" : "Mon Jun 12 16:55:20 UTC 2023", "compiled_by" : "root", "compiled_in" : "buildkitsandbox", "release_date" : "Mon Jun 12 16:55:20 UTC 2023", "machine" : "x86_64", "doc" : "https://fiware-orion.rtfd.io/en/3.10.1/", "libversions": { "boost": "1_74", "libcurl": "libcurl/7.74.0 OpenSSL/1.1.1n zlib/1.2.12 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.43.0 librtmp/2.3", "libmosquitto": "2.0.15", "libmicrohttpd": "0.9.76", "openssl": "1.1", "rapidjson": "1.1.0", "mongoc": "1.23.1", "bson": "1.23.1" } } } |
スーパーユーザの作成
起動が確認出来たら、WireCloud のスーパーユーザを作成します。作成には以下のコマンドを実行します。スーパーユーザのユーザ名、Email アドレス、パスワードを入力します。
make createsuperuser
実行例
1 2 3 4 5 6 7 |
$ make createsuperuser sudo docker compose exec wirecloud python manage.py createsuperuser Username (leave blank to use 'root'): Email address: root@lab.letsfiware.jp Password: Password (again): Superuser created successfully. |
これで、WireCloud と Orion を使用する準備ができました。
WireCloud の使用
WireCloudのポータル画面へのアクセス
Web ブラウザから WireCloud にアクセスして、ポータル画面を表示します。ブラウザのアドレスバーに、プロトコルは http で、IP アドレスは、Docker Engine が稼働している OS の IP アドレスを指定してください。
http://<IPアドレス>/
正しくアクセスできれば、以下のような画面が表示されます。
WireCloud へのサインイン
WireCloudにサインインするために、右上のサインインのリンクをクリックします。
以下のような、ユーザ名とパスワードの入力できる画面に遷移します。ここで、先ほど作成した、スーパーユーザのユーザ名とパスワードを入力して、”サインイン” ボタンをクリックします。
サインインすると、以下のような画面が表示されます。
マーケットプレイスの設定
次に、WireCloud のダッシュボード作成時に使用する、各種 Widget を入手するため、マーケットプレイスを設定します。画面上のメニューにある、カートのアイコンをクリックします。
以下のような画面に遷移します。次に、ハンバーガー・メニュー (三) から “新しいマーケットプレイスを追加” を選択します。
“マーケットプレイスを追加” のダイアローグが表示されます。名前、URL、タイプ、パブリックを以下のように入力し、設定ボタンをクリックします。
マーケットプレイスの URL を、SNSやブログ等の各種メディアに無断掲載し、拡散することはご遠慮ください。
設定後、以下のような画面が表示されます。このマーケットプレイスから、FIWARE コミュニティがオープンソースソフトウェア (OSS) として公開している Widget をダウンロードすることができます。各 Widget には、それぞれ OSS ライセンスが設定されていますので利用の前にご確認ください。OSS ライセンスにしたがって、その範囲内でフリーで使用することができます。
Widget のインストール
Widget のインストールは、インストールしたい Widget の “インストール” ボタンを押すだけです。また、Widget の名前やタイプで Widget を検索できます。
これで WireCloud のセットアップは完了です。次に、作成した WireCloud を使って、避難場所を地図にマップして可視化してみます。