Soracom

Users

ドキュメント

カスタムオブジェクトを定義する

LwM2M Registry に多くのリソースが定義されていますが、独自に定義できます。これをカスタムオブジェクトと呼びます。 カスタムオブジェクトは XML, JSON で定義します。

カスタムオブジェクトは以下の手順で行います。カスタムオブジェクトを定義する場合、これに対応したクライアントエージェントの実装も必要となります。

  1. モデル定義 XML の作成
  2. クライアントエージェントを実装する
    • 実装クラスの作成
    • main 関数でモデル定義 XML と実装クラスの読み込み
  3. Inventory へのモデル定義 XML の適用

ステップ 1: モデル定義 XML を作成する 

以下は ObjectID 30000 を XML で定義した例となります。

<?xml version="1.0" encoding="UTF-8"?>
<LWM2M xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="http://openmobilealliance.org/tech/profiles/LWM2M.xsd">
	<Object ObjectType="MODefinition">
		<Name>Custom Model</Name>
		<Description1>Custom model</Description1>
		<ObjectID>30000</ObjectID>
		<ObjectURN>urn:oma:lwm2m:oma:30000</ObjectURN>
		<MultipleInstances>Single</MultipleInstances>
		<Mandatory>Optional</Mandatory>
		<Resources>
			<Item ID="0">
				<Name>CurrentX</Name>
				<Operations>R</Operations>
				<MultipleInstances>Single</MultipleInstances>
				<Mandatory>Mandatory</Mandatory>
				<Type>Float</Type>
				<RangeEnumeration />
				<Units>m</Units>
				<Description>Current location in X.</Description>
			</Item>
			<Item ID="1">
				<Name>TargetX</Name>
				<Operations>RW</Operations>
				<MultipleInstances>Single</MultipleInstances>
				<Mandatory>Mandatory</Mandatory>
				<Type>Float</Type>
				<RangeEnumeration />
				<Units>m</Units>
				<Description>Target location in X.</Description>
			</Item>
			<Item ID="2">
				<Name>Execute Command</Name>
				<Operations>E</Operations>
				<MultipleInstances>Single</MultipleInstances>
				<Mandatory>Mandatory</Mandatory>
				<Type />
				<RangeEnumeration />
				<Units />
				<Description>Execute command.</Description>
			</Item>
		</Resources>
		<Description2 />
	</Object>
</LWM2M>
ObjectID 30099, 30100, 30101, 30110, 30111 を SORACOM Mosaic で利用しています。

ステップ 2: クライアントエージェントを実装する 

実装クラスの作成および main 関数でのモデル定義 XML と実装クラスの読み込みはクライアントエージェント側の実装となります。SORACOM Inventory Agent for JavaReadme をご確認ください。ソースコードを入手可能です。

ステップ 3: Inventory へのモデル定義 XML を適用する 

コンソールのメニュー[オブジェクトモデル]をクリックします。

Inventoryへのモデル定義XMLの適用

[オブジェクトモデルの追加]をクリックします。

Inventoryへのモデル定義XMLの適用

「1. モデル定義 XML の作成」で作成したデバイスオブジェクトモデルを入力します。XML と JSON 形式での入力が可能です。

Inventoryへのモデル定義XMLの適用

以下のようにカスタムオブジェクトが定義できました。

Inventoryへのモデル定義XMLの適用

以上でユーザーコンソールからカスタムオブジェクト、リソース名を表示できます。

Inventoryへのモデル定義XMLの適用