Bluetoothデバイス定義ファイル・Plugin
ファイルの作成方法について

2022/11/16
Ver1.1M2M事業部

1/12

1. 概要3

2. Bluetoothデバイス定義ファイル

43. Pluginファイル

54. 設定ツールでの管理方法
4.1. 管理APP設定ツールへのログイン方法
4.2. Bluetoothデバイス定義ファイルの管理方法
4.3. Pluginファイルの管理方法
4.4. Bluetoothデバイスの接続設定

666892/12

1. 概要BlueXtenderソリューションで、任意のBluetoothデバイスと接続し操作を行うためには、Bluetoothデバイス固有の情報や、操作を定義したBluetoothデバイス定義ファイル（以下、定義ファイルと呼ぶ）が必要となります。又、Bluetoothデバイスから読みだしたセンサ値を処理し、可読可能な値として扱う為には、Pluginファイルが必要となります。(センサ値を変換する必要がない場合は不要)
本書では、定義ファイルの作成方法や設定項目、Pluginファイルの作成方法について説明します。又、作成したファイルの設定ツールでの扱い方（インポート・削除）の方法について説明します。

3/12

2. Bluetoothデバイス定義ファイル
定義ファイルはBluetoothデバイス固有の情報や、設定、操作について定義したファイルの事を指します。定義ファイルはJSONフォーマット形式で記述します。Bluetoothデバ
イス固有の操作の組み合わせの定義について、アクションと呼びます。アクションはリスト形式で複数の操作の組み合わせ(READ・WRITE等)を1つのアクションとして定義する事が出来ます。管理APPは、記述された操作を記述順に実行します。また、設定ツールで複数のアクションを設定した場合も同様に記述順に実行します。
サポートするファイル形式とファイル拡張子：
項目

値形式

JSONフォーマット形式

ファイル拡張子

.json

設定項目：
別途スプレッドシートファイルを参照してください。
Bluetoothデバイス定義ファイルの設定項目
サンプルファイル：以下のサンプルは、おくだけセンサー リンクで温度と湿度を取得する場合の物となります。おくだけセンサー リンクの GATT 仕様については、弊社ホームページで公開している「GATTデータベース仕様書」を参照下さい。
https://www.sun-denshi.co.jp/sc/down.html{"deviceTypeName": "okudake-sensor-link","addressType": "public","processingTypes": [{"actionName": "notificationThermohygrometer","operations": [{"method": "write","serviceUUID": "4EA70E4E-F107-4428-9863-C2CCD3D41BB0","characteristicUUID": "B0CC0A99-A8B2-4F80-8095-472D7234BFC8","onlyOnce": true,"writeBytes": "AQ=="},{"method": "notification","serviceUUID": "4EA70E4E-F107-4428-9863-C2CCD3D41BB0","characteristicUUID": "F94517FF-AA55-427C-AB19-33CA5DFEC192","dataInterpretation": [{"key": "OkudakeLink_humidity","valueType": "double","processingType": "plugin","pluginName": "OkudakeSensorLink","pluginMethodName": "humidity"

4/12}

}

]

}

]

},
{
"key": "OkudakeLink_temperature","valueType": "double","processingType": "plugin","pluginName": "OkudakeSensorLink","pluginMethodName": "temperature"
}

]

5/12

3. Pluginファイル
Bluetoothデバイスから読み取ったキャラクタリスティックのデータを処理し、可読可能なデータとして扱う為にはPluginファイルを作成する必要があります。Pluginファイルの作成方法等について説明します。PluginファイルはPythonフォーマット形式でファイル拡張子.
pyのファイルをサポートします。Pluginファイルの記述方法を下記に示します。
サポートするファイル形式とファイル拡張子：
項目値形式

pythonフォーマット形式

ファイル拡張子.py※Pluginのコメントにマルチバイト文字(UTF-8)を使用する事が出来ます。
Pluginの作成方法：
1) Pluginクラスをインポートします。
2) Pluginクラスを継承したクラスを定義します。
3) 定義したクラスの中に引数有でメソッドを定義します。引数には、Bluetoothデバイ
スから読み取ったCharacteristicのbytesデータが入ります。
4) メソッド内で任意の処理を行い、戻り値に処理後のデータを入れます。
サンプルファイル：from plugins.plugin import Plugin # Pluginクラスをインポートする
import struct# Pluginクラスを継承した独自クラスを定義する
class OkudakeSensorLink(Plugin):def __init__(self):# 親クラス初期化
super().__init__()# 独自処理を定義したメソッドを定義する。
def humidity(self, data):interpreted_data = None
if len(data) != 4:interpreted_data = Noneelse:(humidity, temperature) = struct.unpack('<hh', data)interpreted_data = 125 * humidity / 65536 - 6
return interpreted_data #処理後のデータを返す
def temperature(self, data):interpreted_data = None
if len(data) != 4:interpreted_data = Noneelse:(humidity, temperature) = struct.unpack('<hh', data)interpreted_data = 175.72 * temperature / 65536 - 46.85

6/12

return interpreted_data

7/12

4. 設定ツールでの管理方法
作成した定義ファイル、Pluginファイルを設定ツールから管理する方法について説明します。設定ツールでは、両ファイルのインポート、削除、一覧表示を行うことができます。

4.1.

管理APP設定ツールへのログイン方法①管理APP設定ツールにアクセスします。
URL(デフォルト設定時):
https://192.168.62.1:20443
設定ツールのログイン画面が表示されます。
②ユーザー名・パスワードを入力し、ログインします。
項目値

ユーザー名

admin

パスワード

123456 (デフォルト設定時)

管理APP設定ツールのメイン画面が表示されます。

4.2.

Bluetoothデバイス定義ファイルの管理方法
設定ツールの「設定」タブを開くと、定義ファイルの管理が行えます。

8/12

定義ファイルを管理するには「BLEデバイス定義ファイル管理」セクションを確認します。各部の説明をします。

①

新規に作成した定義ファイルをインポートする事が出来ます。
「ファイルを選択」ボタンをクリックし、ファイルを選択すると、定義ファイルがインポートされます。

9/12

②

管理APPが管理しているインポート済みの定義ファイル名の一覧が表示されます。

③

定義ファイルの状態を表示します。「エラー」と表示された場合は、フォーマットが不正等の理由で、定義ファイルを読み込めていない状態となります。

④

インポートされた定義ファイルを削除する事が出来ます。アイコンをクリックすると、削除確認のポップアップが表示されます。
不要な定義ファイルを削除する場合や、既存の定義ファイルをインポートしなおしたい場合に使用します。

※一覧に既に表示されている名前と同名のファイルをインポートする場合は、事前に念の為、同名の定義ファイルを削除してからインポートするようにしてください。

4.3.

Pluginファイルの管理方法
Pluginファイルを管理するには「Pluginファイル管理」セクションを確認します。
各部の説明をします。

①

新規に作成したPluginファイルをインポートする事が出来ます。
「ファイルを選択」ボタンをクリックし、ファイルを選択すると、Pluginファイルがインポートされます。

②

管理APPが管理しているインポート済みのPluginファイル名の一覧が表示されます。

③

インポートされたPluginファイルを削除する事が出来ます。インポート済みの定義

10/12

ファイルの中で、該当のPluginを使用する記述がある場合は「使用中」が表示されます。「使用中」表示の場合は、削除を行うことが出来ません。
※先に該当Pluginを使用する記述がある定義ファイルを削除すると、「使用中」の表示が消え、削除できるようになります。

4.4.

Bluetoothデバイスの接続設定
定義ファイルをインポートすると、定義ファイルに記述したデバイスタイプやアクション名が設定ツールに反映されます。

11/12

①

デバイスタイプの一覧に定義ファイルに定義したデバイスタイプが追加されます。

②①でデバイスタイプを選択すると、「アクション設定」タブのアクションの一覧に、定義ファイルに定義したアクション名の一覧が追加されます。

12/12