OpenMTC 1 とはM2M(Machine to Machine)通信の国際標準であるOneM2Mのリファレンス実装の一つである.
OpenMTCはオープンソースソフトウェアであり,その実装はGitHubにて公開されている2.
今回は,GitHubで公開されているリポジトリを利用してOpenMTC SDKのインストールを行う.
検証環境
筆者は以下の環境で実行した.
- Ubuntu 16.04
- python2.7.13
- OpenMTC v1.2.1
インストール
GitHubからクローン
リポジトリをクローンする.
$ git clone https://github.com/OpenMTC/OpenMTC OpenMTC
SDKのインストール
まず,SDKインストールに必要なツールをインストールする.
$ sudo apt install python-pip libev-dev python-dev gcc make automake
$ pip2 install --user --requirement OpenMTC/openmtc-gevent/dependencies.txt
次に,SDKのインストールを行う.
$ cd OpenMTC
$ sudo python setup-sdk.py install
インストールの確認
正しくインストールされたか確認するには以下のコマンドを実行する.
$ python2 -c "import openmtc; import openmtc_app"
正しくインストール出来ていれば,何も出力されずに終了する.
デモの起動
2019/02/26:デモの実行方法を修正しました.
ローカルホスト上でOpenMTCを実行してみる.
ターミナルを4つ起動する必要がある.
バックエンドの起動
./openmtc-gevent/run-backend
ゲートウェイの起動
./openmtc-gevent/run-gateway
デモの起動
値の送信
./doc/training/start-app.sh
実行するappを聞かれるのでここでは 1 を入力する.
[1] onem2m-ipe-sensors-final.py
[2] onem2m-ipe-sensors-actuators-final.py
[3] onem2m-gui-sensors-final.py
[4] onem2m-gui-sensors-actuators-final.py
Choose the app to start:
値の取得
./doc/training/start-app.sh
実行するappを聞かれるのでここでは 3 を入力する.
[1] onem2m-ipe-sensors-final.py
[2] onem2m-ipe-sensors-actuators-final.py
[3] onem2m-gui-sensors-final.py
[4] onem2m-gui-sensors-actuators-final.py
Choose the app to start:
成功するとlocalhost上で「センサ,ゲートウェイ,バックエンド」の通信が実行される.
注意
2019年2月15日現在,OpenMTCはv1.3.0がリリースされておりpython3系に対応している.変更点は https://github.com/OpenMTC/OpenMTC/releases に記載されている.
Main improvement:
・Ported OpenMTC to python3
・Switched to Debian Stretch for docker images
Also a lot of small improvements and fixes
このバージョンで以下の手順を実行すると,バックエンドとゲートウェイの起動時に以下のエラーが発生する.
Traceback (most recent call last):
File "src/openmtc_gevent/backend_main.py", line 1, in <module>
import openmtc_gevent.main
File "/home/YOUR_USER/OpenMTC/openmtc-gevent/src/openmtc_gevent/main.py", line 6, in <module>
import gevent.monkey
ImportError: No module named 'gevent'
これを防ぐためにはgithubからフォルダをcloneした後に,git checkout
コマンドで過去のブランチに切り替えておく必要がある.
$ git clone https://github.com/OpenMTC/OpenMTC OpenMTC
$ cd OpenMTC
$ git checkout 7781b15c4e0c78b95a5a8c31d859fd72066b4823
あとは,上記の通りにSDKのインストールを実行すればよい.