HOME > UECS概要-2 UECSの通信規約

2.1 規約

UECS研究会では、UECSのシステムで利用する通信文の内容および通信方法を定めた通信規約を定めています。基本規約(現行はVersion1.00)と実用規約(現行はVersion1.00-E10)からなり、実用規約は基本規約に則って制定しています。実用規約は温室の中で環境のデータを簡単に収集したり、環境制御を効率的に実施するための規約であり、UECS対応機器を開発される際に従っていただく必要があります。UECS研究会では、今後も、UECSをより扱いやすくするための規約改定を進めて行く予定です。

以下から現行の通信規約をダウンロードいただけます。
UECS通信基本規約1.00
UECS通信実用規約1.00-E10

English
UECS Basic Communication Protocol Book For version 1.00
UECS Application Communication Protocol Book For version 1.00-E10

また、通信規約1.00-E10を補足するために作られた運用ガイドラインが存在しますが、これはUECS研究会 会員専用ページでのみ公開しています。

2.2 UECS-CCMの概要

UECSの規約のうち、代表的な通信方式であるUECS-CCMのデータパケットついて簡単に解説します。CCMとは共用通信子(Common Correspondence Message)の略称です。これらはネットワークに接続されたUECSノードがLAN内に発信する情報であり、以下のような書式で記述されます。

<?xml version=”1.0″?>
<UECS ver=”1.00-E10″>
<DATA type=”InAirTemp” room=”1″ region=”1″ order=”1″ priority=”29″>23.0</DATA>
<IP>192.168.1.64</IP>
</UECS>

改行は必須ではありません。書式はXMLの規則に制限を加えたXMLサブセットとなっています。英字部分に厳密な大文字小文字の区別があり違えると正常に認識されません。コーテーションは「”」のみが許容されます。これらは以下の要素で構成されています。

(1)XMLヘッダ
「<?xml version=”1.0″?>」の部分はXMLと解釈できるようにするヘッダです。
(2)UECSバージョン
「<UECS ver=”1.00-E10″>」から「</UECS>」の部分です。
これは現行規格Version 1.00-E10のパケットであることを示します。

(3)データ
これは以下の属性を持ちます
「type」 CCM 識別子、データの種類を示します。例えば、InAirTempは温室内の気温です。
「room」 部屋番号、部屋(棟)を識別するための番号。0~127。0はワイルドカードを意味します。
「region」 系統番号、制御系統または制御区分識別番号。0~127 の整数値。0はワイルドカード意味します。
「order」 通し番号、同一制御系統内での識別番号。0~30000 の整数値。0はワイルドカードを意味します。
「priority」 優先順位、受信側がtype,room,region,orderが完全一致するデータを複数のノードから受け取った場合、ここが小さい値ほど優先して受信されます。

これらの属性はユーザーが温室の構造に合わせてUECSノードに設定するものです。例えば複数の温室にUECSノードがある場合「room」の値を変えることでどの温室のデータか識別できるようになります。一つの温室の制御単位が複数の区画に分割され、それぞれにUECSノードが設置されている場合は「region」の値を変えます。「region」よりさらに細分化された区分けがある場合、例えば一つの栽培ベッドに同じノードが複数あるような場合は「order」の値を変えます。これらの属性はデータの送信元を示すとともに、CCMの受信側に到達する情報の伝達範囲を指定します。CCMを受信するノードでは基本的に「type」「room」「region」「order」が完全に一致するデータを受信します。ただし、「room」「region」「order」に0が含まれている場合はワイルドカードとして特別な処理をします。

(4)送信側IPアドレス
「<IP>192.168.1.64</IP>」の部分で、数値部分にパケットの送信側のIPアドレスを表記します。

補足

「type」の表記ゆれについて、例えば温室内気温の表記に以下のバリエーションがあります。

「InAirTemp」
基本的な表記方法、UECS研究会が定めた予約語であればこの表記が可能です。

「InAirTemp.mIC」
送信ノードの種別名を付与した表記方法、末端の「.mIC」は温室内のセンサであることを示します。この部分は予約語であれば省略できますが、ユーザーが独自に定義したtype名では省略できません。(ノード種別名を付与すればユーザーが独自のtypeを定義することもできます)

「InAirTemp.1.mIC」「InAirTemp.2.mIC」
一つのノードに温度センサが複数ある場合の表記方法。ただし、両方とも「InAirTemp.mIC」と表記し「order」の値を変えて対応することも可能なのでどの表記方法をとるかはユーザーの裁量に任されています。

どのような表記方法をとる場合も、送信側と受信側では完全にtypeの文字列を一致させる必要があります。例えば送信側が「InAirTemp」としている場合、受信側も「InAirTemp」と表記する必要があり「InAirTemp.mIC」とすると認識されません。

2.3 UECS-CCMの送信方法

UECS-CCMはUDP通信で送信されます。使用するポートは以下の通りです。
データCCMの送受信 UDP 16520
CCMサーチ UDP 16521
未使用の予約領域 UDP 16522~16528
ノード・CCMスキャン UDP 16529

この通信はブロードキャストと呼ばれる方法で送信され、IPアドレスに関係なくLAN内の全てのノードに到達するという性質があります。ただし、一般的な設定のルーターを通過してLAN外に出ることはありません(クラウドに到達させるには中継器が必要です)。PCで受信する場合、一部のセキュリティソフト、特に企業向けの物ではこのパケットをブロックする事があるため、設定の変更が必要です。セキュリティソフトの不具合についてはUECS研究会では対応できませんので、セキュリティソフトのサポート窓口に問い合わせてください。

2.4 UECS-ID

UECS研究会では、UECS研究会会員から要請があれば開発者番号を発行し、UECS機器の正規の開発者として認定を行っています。UECS研究会では通信文のメーカーを超えた相互利用が可能となるよう調整を行っていきます。また、これらの手続きが完了した機器についてはUECS研究会が所有するUECSのロゴの利用を認めます。UECS機器、ソフトウェアの開発と販売を希望される方はUECS研究会に加盟の上、事務局に開発者番号の発行申請をお願いします。