SubGHzはIEEE802.15.4eのプロトコルで920MHzの無線通信を行うための関数群です。
SubGHz(920MHz)に関する技術資料はこちらを参照してください。
SubGHz無線の初期化を行う関数です。 |
||
new | void SubGHz.antSwitch(ant); | MJ2001で使用するアンテナを指定するコマンドです。デフォルトは内蔵アンテナです。外部アンテナを使用するときはSubGHz.begin()関数の前に使用するアンテナを指定してください。 |
SubGHzの初期設定を行う関数です。使用するチャンネル、自機のPANID、ビットレート、出力パワーの設定を行います。 |
||
SubGHzの無線を終了する関数です。関数実行後は、RFやクロックを停止し、低消費電力の状態になります。再度使用するためにはbegin関数を実行してください。 |
||
SUBGHZ_MSG SubGHz.send(panid, dstAddr, *data, length, *callback); |
送信先のPANID, ADDRESSを設定してデータを送信する関数です。 |
|
|
SUBGHZ_MSG SubGHz.send64be(*dstAddr, *data, length, *callback); |
64bitアドレスモードでデータの送信を行います。dstAddrをビックエンディアンで指定します。 |
|
SUBGHZ_MSG SubGHz.send64le(*dstAddr, *data, length, *callback); |
64bitアドレスモードでデータの送信を行います。dstAddrをリトルエンディアンで指定します。 |
受信を有効にする関数です。 |
||
受信を終了する関数です。 |
||
データの読み出しを行う関数です。戻り値が負の時はデータを受信していません。戻り値が正の時はデータを受信したことを示しており、*dataのポインタが示すメモリに、最大max_sizeの長さで受信データを格納します。 |
||
16bitの自機アドレスを戻します。 |
||
自機アドレスを設定します。 |
||
64bitの自機アドレスを取得します。 |
||
送信(tx)、受信(rx)のステータスを戻します。 |
||
|
無差別受信モードを設定します。本設定を行うとデータ受信時にACKも返しません。 |
|
|
ACKによる送達確認の有効/無効を設定します。 |
|
|
ブロードキャスト受信時の通知の有効/無効を切り替える関数です。 |
|
SUBGHZ_MSG SubGHz.getSendMode(*param); | 無線用パラメータを取得する関数です。 | |
SUBGHZ_MSG SubGHz.setSendMode(*param); | 無線用パラメータを設定する関数です。 | |
SUBGHZ_MSG SubGHz.setKey(*key) | AES128bitのKEYを設定する関数です | |
void SubGHz.msgOut(msg); | SUBGHZ_MSGのパラメータを入力すると、その内容に従ってメッセージをSerial出力する関数です。 | |
void SubGHz.decMac(*mac,*data,size); | 受信したデータを各要素に分解する関数です。 | |
SUBGHZ_MSG変数 | SubGHz関連の関数を実行したときの戻り値に関する説明です。 |
本関数群はLazurite専用の関数です。
2017年5月12日版のソフトウエア以降のバージョンでは、ショートアドレスモードと、64bitアドレスモードの2つの方法で通信をすることが出来るようになりました。
ショートアドレスモード
ショートアドレスモードは、自機が属しているPANIDと、16bitの短縮アドレスで通信をします。
LazuriteのPANIDは、サンプルプログラムの場合 0xABCDを用いていますが、PANIDは0x0000~0xFFFDまで任意の値を設定することが出来ます。0xFFFFはブロードキャスト用のPANIDです。0xFFFFEは使用しないでください。
Lazuriteのショートアドレスは、初期状態では無線モジュールが保持する64bitアドレスの下位16bitが設定されていますが、setMyAddressで自機アドレスを変更することが出来るようになりました。
64bitアドレスモード
64bitアドレスモードは、無線モジュールに書き込まれている64bitのアドレスをすべて指定して通信を行うモードです。64bitアドレスのモードでは、PANIDは使用されません。
「Welcome to Lazurite Sub-GHz」というメッセージを送信するサンプルプログラムです。
受信したデータをシリアルでPCに文字列を表示するサンプルプログラムです。
2-2)データ受信(Print_SubGHz)
受信した文字列データをPC側に文字列表示するサンプルプログラムです。
Sniffer_SubGHzは使用しているチャンネルの全データをロギングしてPCに表示するサンプルプログラムです。ACKやLazurite Sub-GHzが非対応のデータもすべて表示することができます。Sniffer_SubGHzで受信を行ってもACKを返さないので注意してください。
(注意)
ロギング処理に時間をかけたり、頻繁にデータを受信すると動作が不安定になりますので注意して使用してください。