Help us understand the problem. What is going on with this article?

Raspberry Pi をThingWorx につなげる(前編)

前編: 概要説明とJava SDK によるエージェントアプリ作成

ThingWorx Foundation サーバー(以下、ThingWorx) に機器を接続する方法はいくつかありますが、PTC社が提供するThingWorx Edge Java SDK をつかって接続してみます。
ここでは、とりあえずRaspberry Pi をつないで下の図のようなアプリを作成してみます。
センサーの温度と湿度の現在値と時系列データを表示し、ラジオボタンでLEDのオン・オフを切り替えます。
image.png

Edge Java EDK の詳細につきましては、@kanoloa さんのThingWorx Java SDK 開発概要をご参照くださいませ。

必要なもの

  • ThingWorx: 試用版で十分です
  • ThingWorx Edge Java SDK (PTC社 Marketplace より無料でダウンロード可能。要登録)
  • Java SE8 (JDK1.8)
  • Eclipse IDE for Java Developers
  • Raspberry Pi (3以降がよいでしょう。Zero W でもOK です)
  • 温度湿度センサー AM2302
  • LED
  • 抵抗 (今回は1kΩ、10kΩ を使いました)

手順

  1. ThingWorx Edge Java SDK セットアップ
  2. Raspberry Pi 事前準備
  3. ThingWorx アプリケ−ションキー作成
  4. エージェントアプリ作成
  5. PC上で接続を確認

1. ThingWorx Edge Java SDK セットアップ

プロジェクト作成

  1. Eclipse IDE を起動
  2. Workspaceは任意の名前でOKです“Create a new Java Project” を選択
  3. プロジェクト名を入力今回は “ThingWorx Development”としましょう image.png

ライブラリーの設定

1.入手した ThingWorx Edge Java SDKのZIPファイルを任意のディレクトリで解凍します
Eclipseの Project Explorer の”Build Path” -> “Add Libraries…” を選択
image.png
3. User Library を選択して”Next >”をクリック
image.png
4.“User Libraries…” をクリックし、ライブラリ名"ThingWorx Java SDK" を入力して“OK” をクリック
image.png
image.png
5. “Add External JARs…”をクリック
6. 解凍したJava EDKのlib ディレクトリ以下にある全ファイルを選択
image.png
image.png

JavaDoc の設定

  1. thingworx-common-***.jar ファイルのJavadoc locationを選択し”Edit”をクリック image.png
  2. Lib以下のthingworx-java-sdk-development.***-javadoc.jar を指定
    2か所設定したら”Apply and Close” image.png

2. サーバー認証用アプリケーションキーの作成

ThingWorx に機器を接続する際に必要となる、アプリケーションキーを作成します。
1. ThingWorx のComposer 画面を開きます
2. 画面左側のフォルダーアイコン→ SECURITY グループの下のApplication Keys の右にある“+”をクリック
image.png
3. キーの名前を入力(名前は任意)
4. User Name Reference はAdministrator に設定
※ 本来は適切なユーザーを選択します。今回はデモ目的として割り切っています。
5. Expiration Date を設定します。
6. 画面上の”Save”をクリック
7. 保存後のKey IDがアプリケーションキーとなります
image.png

3. エージェントアプリの作成

Raspberry Pi 上で動作するエージェントアプリをPC上のEclipseで作成します。
今回使うサンプルコードはGitHubに置いてあります。(ファイルは2つ)

  1. ソースのインポートsrcフォルダを選択 → Import → File Systemを選択
  2. 配布したソースファイル(2つ)を選択 image.png image.png image.png
  3. “Ran As” -> “Run Configuration” を開く image.png
  4. Java Application → Main タブのMain class の”Search…” をクリック image.png
  5. "SimpleThingClient" を選択 image.png
  6. Nameを”SimpleThingClient”に
  7. Arguments に “simulated” を追加 (PC 上で実行した際はプログラム内でセンサーのダミー値を使うため)
  8. “Apply”をクリック
  9. “Close”をクリック image.png

ソースコードの編集

  1. Eclipse でSimpleThingClient.java を開く
  2. URIを編集します。 エージェントアプリからアクセスするThingWorx のURLを指定します。 SSLを使わない場合は、"ws://"ではじまり、SSLを使う場合は"wss://"とします。 サーバーのポート番号(Tomcatのポート番号)の指定と、その後の"/Thingworx/WS"を忘れないでつけてください。
  3. AppKey の内容を自分で作成したアプリケーションキーに変更します。
  4. 編集が終わったら、必ず保存します。 image.png

4. PC 上で接続を確認

  1. Eclipse上でアプリを実行します。
  2. ThingWorx のComposer で、Monitoring → STATUS → Remote Things の Unbound にraspPiThing_1 が表示されれば接続ができています。 image.png

この後の中編では、Raspberry Pi 上でエージェントアプリを走らせてThingWorx に接続します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした