概要Serial920Jは、UART経由で920MHzの無線通信が使用できるLazurite920J用プログラムです。その他にも、Lazuriteに搭載されたI2C、SPI、GPIOなどもUART経由で使用することが出来ます。 出荷時のbaudrateは9600bpsに設定されています。 コマンド仕様UART経由で次の書式でデータを入力してください。コマンドはASCII文字列で送信してください コマンド、およびデータはすべてカンマ区切りとし、最後に改行コードを送信してください。 無効コマンドは無視されて出力が返りません。有効コマンドは、入力されたコマンドを返し、最後にカンマ区切りで戻り値を返します。 <例> 26番ピンについている青色LEDをONする場合 pm,26,o(オー) dw,26,1 シリアル通信関連
|
コマンド体系 | 動作 | パラメータ |
sb,baud 戻り値: コマンド,メッセージ |
ボーレートの設定を行います。 本コマンドを送信した後は、必ずモジュールをリセットしてください。 |
baud = 転送速度 次の転送速度を設定することが出来ます。 9600, 19200, 28800, 38400, 57600, 115200, |
コマンド体系 | 動作 | パラメータ |
pm,pin,o(オー)/i/pd/pu/hz 戻り値: コマンドと同じ |
pinが示す端子を出力/入力/pulldown付入力/pullup付入力/Hi-Zに切り替えます。 | pin=端子番号 o(オー)/i/pd/pu/hz: o = 出力 i = 入力 pd = pulldown付入力 pu = pullup付入力 hz = Hi-Z |
dw,pin,1/0 戻り値: コマンドと同じ |
pinからHighまたはLowを出力します | pin=端子番号 1/0: 1 = HIGH出力 0 = LOW出力 |
dr,pin 戻り値: コマンド,0/1 |
pinの端子レベルを返します | pin=端子番号 0/1: 0=LOWレベル 1=HIGHレベル |
SubGHz関連の関数を実行します。各関数の詳細はLazuriteIDEの各関数の仕様を参照してください。
<例>
PANID=0xabcd,受信機=0x1234に”hello"の文字列を送信する
sgi
sgb,36,0xabcd,100,20
w,hello
sgs,0xabcd,0x1234
コマンド体系 | 動作 | パラメータ |
sgi 戻り値: コマンドと同じ |
SubGHz.init()と同じです。 プログラムが起動したら実行してください |
|
sgb,ch,panid,rate,pwr 戻り値: コマンドと同じ |
SubGHz.begin(ch,panid,rate,pwr)を実行しています。 | ch=無線周波数 panid=自機PANID rate=ビットレート (50 or 100) pwr = 送信パワー (1 or 20) |
sbs,panid,addr 戻り値: コマンド,0/1 |
SubGHz.send(panid,addr,payload,size)を実行しています。 payloadとサイズはw、またはwbで予め設定しておく必要があります。 |
panid=受信機のPANID addr=受信機のアドレス |
sgre 戻り値: コマンド |
SubGHz.rxEnable()を実行します | |
sgra 戻り値: コマンド |
SubGHz.rxEnable()を実行します。本モードを設定すると、受信時に自動的にシリアル出力を行います。受信時の書式は次の通りです。 受信時のデータフォーマットは次の通りです。受信バイト数は無線で受信したバイト数であり、シリアル出力するバイト数ではありません。また、payloadの最後に改行コードが付与されます。 受信時にシリアル出力されるデータフォーマットは以下の通りです。 sgout,受信バイト数, header,seq_num,rx_panid,rx_addr,tx_panid,tx_addr,payload |
|
sgrd 戻り値: コマンド |
SubGHz.rxDisable()を実行します | |
w,payload 戻り値: コマンド |
改行コードまでの任意文字列を送信します。最大で240文字程度を送信することが出来ます。 | payload=任意の文字列 |
wb,size 改行の後、size分のバイナリデータ 戻り値: コマンド |
size分のバイナリデータを送信します | size=バイナリデータのバイト数 |
sgr 戻り値: sgr,受信データ |
受信したASCIIデータを取得します。受信データの書式は次のようになっています。payloadの最後に、改行コードが付与されます。 sgr,header,seq_num,rx_panid,rx_addr,tx_panid,tx_addr,payload |
header=MACヘッダ seq_num=シーケンス番号 rx_panid=受信機のPANID rx_addr=受信機のアドレス tx_panid=送信機のPANID tx_addr=送信機のアドレス payload=受信したデータ |
sgrb 戻り値: sgrb,size 以降、受信したバイナリデータ |
受信したバイナリデータを取得します。sgrb,sizeに続き、バイナリデータを受信します。バイナリデータはMACヘッダを含むIEEE802.15.4eのフォーマットで出力されます。 | size=受信したデータのサイズ |
sgc 戻り値: コマンドと同じ |
SubGHz.close()を実行します。 | |
sggs 戻り値: sggs,tx_status,tx_rssi,rx_status,rx_rssi |
SubGHz.getStatus()を実行し、エラーステータスや受信感度(RSSI)の値を取得します | tx_status=送信ステータス tx_rssi=送信後のACKの電波強度 rx_status=受信ステータス rx_rssi=受信データの電波強度 |
sggsm 戻り値: sggsm,addrType,senseTime,txRetry,txInterval,myAddress,ccaWait |
SubGHz.getSendMode()を実行し、送信モードの取得を行います。 | |
sgssm,at/tr,val 戻り値: コマンドと同じ |
SubGHz.setSendMode()で送信モードを設定します。SubGHz.setSendMode()と異なり、1回のコマンドで一つのパラメタしか更新することが出来ません。。 | at/tr: 設定するパラメータを指定してください。valの値が反映されます。 at=AddressType tr=Tx Retry |
arduinoから送信するプログラムのサンプル ダウンロードはこちら
後から書きこみたい場合はLazurite mini writerを使用して書き込みを行ってください。 ダウンロードはこちら