Skip to content

commands

Fuminori OKUHARA edited this page Mar 1, 2022 · 8 revisions

コマンド

$R レジスタ読み出し

指定アドレスのレジスタを読み出します。

$R <addr>

addr

読み出すレジスタのアドレスです。
16進数2桁で指定します。

認証モードレジスタを読み出す。

$R 00
01
OK

$W レジスタ書き込み

指定アドレスのレジスタへ値を書き込みます。

$W <addr> <value>

addr

書き込むレジスタのアドレスです。
16進数2桁で指定します。

value

レジスタへ書き込む値です。
16進数2桁で指定します。

認証モードレジスタに0x01:IPアドレス(SIM)認証を設定する

$W 00 01
OK

$$TX オブジェクト送信

計測データ等の数値とメタ情報からなるオブジェクトを送信する機能です。

ver 0.2.0以前: オブジェクトを1つ送信します。

$$TX <TAG_ID> <TYPE> <VALUE>

Ver 0.3.0以降: オブジェクトを1つ以上送信します。

$$TX <TAG_ID> <TYPE> <VALUE> [<TAG_ID> <TYPE> <VAUE> ...]

TAG_ID

タグID、VLAUEの識別のために付与するIDです。
16進表記で00-FFの範囲で指定します。

TYPE

タイプ、VALUEの型を指定します。

TYPE 型名 説明
00 uint8 符号なし8bit整数
01 int8 符号付き8bit整数
02 uint16 符号なし16bit整数
03 int16 符号付き16bit整数
04 uint32 符号なし32bit整数
05 int32 符号付き32bit整数
06 uint64 符号なし64bit整数
07 int64 符号付き64bint整数
08 float32 IEE754 32bit浮動小数点数
09 float64 IEE754 64bit浮動小数点数
10 binary バイナリ
20 str.utf8 文字列

VALUE

TYPEに対応したバイナリ表現を16進文字列で指定します。
以下の例を参考にしてください。

TAG_ID:0x00 TYPE:UINT32 VALUE:0x01020304を送信

$$TX 00 04 01020304
71D2CE4ADDCE4AA1923516063D449969
OK

TAG_ID:0x01 TYPE:str.utf8 VALUE:"012345"を送信

"012345"の文字コードを16進数表現した30 31 32 33 34 35VALUEに指定します。

$$TX 01 20 303132333435
55CCDBD4B87B41C5BF84F0538834F900
OK

TAG_ID:03 TYPE:float32 VALUE:3.14を送信

3.14のIEE754 32bit浮動小数点数表現の0x4048F5C3VALUEに指定します。

$$TX 03 08 4048F5C3
33267B39D018447596CABEE93441F77D
OK

ver 0.3.0以降 TAG_ID:01 TYPE:uint8 VALUE: 1 と TAG_ID:02 TYPE:str.utf8 VALUE: Hello World を送信

$$TX 01 00 01 02 20 48656C6C6F20776F726C64
E1246489A02140E1A824DF20EEE3BDBD
OK

$$RX オブジェクト受信

モノプラットフォームに届いているオブジェクトを受信します。

コマンド

$$RX

レスポンス

$$RX
<OTID>
<USER_SEND_DATETIME_MS>
<SIPF_RECEIVE_DATTIME_MS>
<REMAIN>
<OBJECT_QTY>
<OBJECT>
 :
 :
OK

OTID: 受信メッセージのオブジェクト送信ID(OTID)
USER_SEND_DATTIME_MS: ユーザーが送信した時刻。HEX文字列で表現したUNIXエポックからの経過時間(ミリ秒単位)。未指定の場合は0
SIPF_RECEIVE_DATTIME_MS: モノプラットフォームが受信した時刻。HEX文字列で表現したUNIXエポックからの経過時間(ミリ秒単位)。
REMAIN: 未受信メッセージの有無。未受信のメッセージがある場合は1、ない場合は0
OBJCECT_QTY: 受信メッセージに含まれるオブジェクトの数
OBJECT: 受信したオブジェクト。

OBJECTは以下のパラメータで構成されます。
ver 0.3.0以前

'<TYPE>` `<TAG_ID>` `<VALUE_LEN>` `<VALUE>`

ver 0.3.1以前

`<TAG_ID>` `<TYPE>` `<VALUE_LEN>` `<VALUE>`

TYPETAG_IDVALUEについては$$TXコマンドを参照ください。

$$FPUT ファイル送信(v0.4.0以降)

さくらのモノプラットフォームのプロジェクトへファイルをアップロードするコマンドです。

コマンドでファイルの名前をサイズを指定した後、XMODEMでファイルの内容を送信します。

コマンド

$$FPUT <FILE_ID> <FILE_SIZE>
<XMODEM送信処理>

FILE_ID

アップロードするファイルの名前です。

英数字始まり, 英字, 数字, 一部記号(_.), 1~32文字で指定します。

FILE_SIZE

アップロードするファイルのファイルサイズです。

Byte単位で16進数8桁で指定します。(8桁に満たない場合は0パディングします)

レスポンス

成功時:

OK

失敗時:

NG

ファイル送信中に失敗した場合、XMODEM送信処理に失敗した場合、NGを返します。

ファイル送受信#例 送信を参照。

$$FGET ファイル受信(v0.4.0以降)

さくらのモノプラットフォームのプロジェクトへアップロードされているファイルをダウンロードするコマンドです。

コマンドでファイルの名前を指定した後、XMODEMでファイルの内容を受信します。

コマンド

$$FGET <FILE_ID>
<XMODEM受信処理>

FILE_ID

ダウンロードするファイルの名前です。

英数字始まり, 英字, 数字, 一部記号(_.), 1~32文字で指定します。

レスポンス

成功時:


<FILE_SIZE>
OK

FILE_SIZE

ダウンロードしたファイルのサイズです。

Byte単位で16進数8桁表記です。

失敗時:

NG

指定したFILE_IDに対応するファイルがアップロードされていない場合、ファイル受信中に失敗した場合、XMODEM受信処理に失敗した場合、NGを返します。

ファイル送受信#例 送信

$$UNLOCK アンロック

管理コマンドの実行をアンロックします。
現在は$$UPDATEコマンドのみが対象です。

$$UNLOCK UNLOCK

$$UPDATE ファームウェアアップデート

ファームウェアのアップデートを実行します。

最新バージョンへ更新

$$UPDATE UPDATE

バージョンを指定して更新(ver 0.3.0以降追加)

$$UPDATE VERSION <VERSION>