1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2019-10-08

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

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

##必要なもの

  • ThingWorx: SCP/SCOどちらでも対応可能なはずです。
  • 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 に接続します。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?