1. 準備
本ドキュメントのチュートリアル2A~2Cを実行するには、以下の準備が必要です。
intdashサーバー環境の用意
エッジアカウントの作成
認証情報の払い出し
intdash Motionのインストールとログイン
Python用 intdash SDKのインストール
Python実行環境の準備
1.1. intdashサーバー環境の用意
まず、intdashサーバー環境を用意し、APIアクセスを受け付けられるようにします。 intdashサーバー環境を用意する方法には、マネージドサービスを契約する、ライセンスを購入し自分で構築する、などの選択肢があります。 別途用意されたドキュメントを参照し、intdashサーバー環境を用意してください。
1.2. エッジアカウントの作成
intdashでは、サーバーとデータをやり取りするノードを「エッジ」と呼びます。 時系列データはあるエッジが生成・取得したデータとして、エッジに紐づけて管理されます。 そのため、CSVファイルをintdashにインポートする場合も、 そのデータが「どのエッジから取得されたものであるか(データの取得元)」を指定してアップロードする必要があります。
このあとのチュートリアルではCSVファイルを edge1
というエッジが取得したデータとして扱います。
そのため、まず、以下の手順で edge1
というエッジアカウントを作成します。
ユーザー名とパスワードでintdashにログインして、My Page(
https://<intdashサーバーのホスト名>/users/me/
)を開きます。[エッジ] > [エッジを作成]をクリックし、
edge1
という名前のエッジアカウントを作成します。UUIDとクライアントシークレットが表示されますが、このチュートリアルシナリオではUUIDとクライアントシークレットをメモしておく必要はありません。
1.3. 認証情報の払い出し
intdashサーバーへアクセスするには、認証情報が必要になります。 Webアプリケーションを使用する際には、サインイン画面からユーザー名とパスワードを使用してサインインできます。 APIを使用する場合は、OAuth2クライアントやAPIトークンなど複数の認証情報を使用することができますが、 本チュートリアルではユーザーのAPIトークンを使用します。
そのため、以下の手順で、お使いのユーザーアカウントにAPIトークンを作成してください。
ユーザー名とパスワードでintdashにログインして、My Page(
https://<intdashサーバーのホスト名>/users/me/
)を開きます。[APIトークン] > [APIトークンを作成]をクリックし、APIトークンを作成します。APIトークン名は任意、有効期限は設定無しで構いません。
チュートリアルの途中で使用するため、画面上に表示されたAPIトークンをメモしておいてください。
1.4. intdash Motionのインストール
iOSアプリケーションintdash Motionをスマートフォンにインストールします。
App Storeを起動します。
画面上の検索ボックスを使って「intdash Motion V2」を検索し、[入手]をタップします。
1.5. intdash Motionでのログイン
intdash Motionをインストールした後、intdashのユーザーアカウントを使用してintdashにログインします。
スマートフォンのホーム画面からintdash Motionアプリケーションを起動します。
注釈
使用情報の収集に関する説明が表示された場合は、同意するかどうかを選択してください。
ログイン画面が表示されたら、まずintdashサーバーのURL(例:
https://<intdashサーバーのホスト名>
)を入力し、[Next]をタップします。「"Motion"がサインインのために ... を使用しようとしています。」と表示されたら、[続ける]をタップしてください。
注釈
URLやユーザーアカウントの名前、パスワードは、環境構築時の設定により異なります。これらの情報が不明な場合は、環境構築の担当者に確認してください。
続いて、ユーザー名(またはユーザーアカウントに登録されたメールアドレス)とパスワードを入力して[ログイン]をタップします。
位置情報の利用の許可を求めるメッセージが表示されたら、[Appの使用中は許可]をタップします。(ここで[許可しない]をタップをすると、GPS情報を送信できなくなるので注意してください。)
マイクとカメラへのアクセスを求めるメッセージが表示されたら、それぞれ[OK]をタップします。
ログインに成功すると、計測開始画面が表示されます。
Motionを初めて使用する場合、プロジェクトの選択についての説明が表示されます。 ここでは
Global Project
を選択してください。 その他のプロジェクトを使用することも可能ですが、その場合は、使用するユーザーアカウントと、エッジアカウントを使用するプロジェクトに所属させる必要があります。その後、どのエッジとしてデータを取得・送信するか(Send Data As)の説明が表示されます。ここでは、
edge1
を選択してください。(2回目以降の起動の場合は、[Settings]をタップして、[Project]で
Global Project
を、 [Send Data As]でedge1
を選択します。)選択されているエッジはMain画面上部に表示されます。
注釈
以下、本チュートリアルでは常にGlobal Projectを使用します。
1.6. Python実行環境の準備
チュートリアル 2B および チュートリアル 2C では、Pythonプログラムからintdashサーバーにアクセスするため、Pythonの実行環境が必要です。
必要な環境を簡単に準備できる、以下の DockerによるJupyter Notebook実行環境 をおすすめします。
注釈
intdashのREST APIには、intdash API仕様に従ってアクセスを行います。 intdashのリアルタイムAPIには、iSCPプロトコルのクライアントライブラリーを使用してアクセスします。 それぞれ、 intdash API/SDKの紹介ページ に使用方法が記載されています。
1.6.1. DockerによるJupyter Notebook実行環境
こちらのDockerfile
をダウンロードします。1FROM jupyter/scipy-notebook:2023-05-30 2RUN pip install requests iscp
以下のコマンドを実行してコンテナイメージをビルドします。
docker build -t intdash-sdk-tutorials-env .
以下のコマンドを実行してコンテナを起動します。
docker run -it --rm -p 8888:8888 -v $PWD:/home/jovyan/work intdash-sdk-tutorials-env
コンテナ起動時に表示される以下のURLをウェブブラウザーで開いて、JupyterLab環境にアクセスします。
http://127.0.0.1:8888/lab?token=<起動ごとに変わるトークン文字列>
1.6.2. 上記以外のPython環境
上記の以外の方法でPython環境を準備する場合は、Python 3.10以上の環境を用意し、PyPIから以下のライブラリーをインストールしてください。
iscp
requests
pandas
matplotlib