0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenMTCのインストール

Last updated at Posted at 2019-02-23

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つ起動する必要がある.

バックエンドの起動

terminal01
./openmtc-gevent/run-backend

ゲートウェイの起動

terminal02
./openmtc-gevent/run-gateway

デモの起動

値の送信

terminal03
./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:

値の取得

terminal04
./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のインストールを実行すればよい.

  1. https://www.openmtc.org/index.html

  2. https://github.com/OpenMTC/OpenMTC

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?