OMOIKANetプラットフォームの仕様

OMOIKANetプラットフォームの仕様は次の通りです。

  1. 電文
    OMOIKANetシステムでは各ノード間でのデータ送受信はJSON形式の文字列で行います。この文字列のことを電文と呼び、電文は以下の仕様に従います。

    • 文字コードはASCIIコードとする。但し、キーを指定した場合には、UTF-8も利用可能。
    • 電文の終端にはデリミタとして[CRLF](0x0D,0x0A)を付加し、電文終了を明示する。
    • 電文のサイズは500バイトまでとする。複数の電文を1つの電文としてまとめる機能は用意されていない(アプリケーション側で、電文にユニークな番号や種別を表すキーを用意する等の工夫を要す)。
    • 電文の最初の<キー>は電文の種類により一意に固定されており、必ずこの<キー>を使用する。
    • 電文の値には、文字列、数値、日付、順序付きリスト、連想配列を利用できる。
    • 順序付きリストの記述は key: [“Val1”, “Val2”, “Val3”]と行う。
    • 連想配列の記述は key:{KeyA:”ValA”, keyB:”ValB”, keyC:”ValC”}と行う。
    • 電文には開発者がアプリケーションに応じて任意の数の<キー>と<値>のセット(フィールド)を使用可能(但し、電文種類によって必須のフィールドがある)。
  2. MQTT通信
    OMOIKANetシステムではMQTTプロトコルが用意している各種サービスを以下の設定で利用しています。組込端末の接続品質に影響しますので、アプリケーション作成時には注意してください。

    • QoS…デフォルトでQoS=0に設定。従って、組込端末からMQTTブローカへの送信は1回しか行われない(再送制御なし)。課金プランに応じてQoS=1または2を用意(将来拡張予定)。尚、電文のアクション設定でReplyを指定していれば、アプリケーションサーバからリプライ電文を受信可能(但し、MailやAlert等、他のアクションとの併用は不可)。
    • Retain…組込端末からPublishされる電文についてはRetain機能を利用しない。従って、サーバの稼動状況に関わらず、MQTTブローカは最新情報を保持しない。反対に、サーバ側からPublishされる電文はRetainで最新電文が保持される。従って、サーバ側からバージョン変更等の通知があった際に接続断になっていた組込端末も、再接続時にその時点での最新電文を受信可能。
    • トピック…サーバから組込端末に送信される電文のトピックは、組込端末(通信シールド)の個体に一意のシリアルナンバーを設定し、個別通知を可能としている。一方で組込端末から送信する際のトピックはシステム全体で共通。
    • 認証…MQTTブローカでの接続認証は、予めMQTTブローカに設定されているDeviceIDとパスフレーズのセットを使って行う。
  3. サーバ認証
    組込端末には一意のシリアルナンバー、DeviceID、パスフレーズのセットがそれぞれ予め設定されています。このセットはサーバにも予め登録されており、3つの組み合わせが正しい場合にシステムは正常に動作します。この内、シリアルナンバーとパスフレーズは通信モジュールに貼付されており、DeviceIDについては通信モジュール内部に記録されていて、外部から確認することはできません。特に、ユーザがユーザIDと紐付ける際にはシリアルナンバーとパスフレーズを正しく入力する必要があります。
    ユーザ認証はIDとパスワードによって行います。特にログイン時のセキュリティを高めるために、OMOIKANetシステム運営者が用意する標準のログイン画面やデータ表示画面はSSL通信により接続し、ログイン時にはワンタイムパスワードを利用する設定となっています。従って、ベンダが独自のログイン画面や操作画面を用意する場合にも同様の仕組みを用意することを推奨します。

li