これは、LORAサーバーをテストするための便利なツールです。
エンドデバイスをエミュレートする(別名Lorawan™プロトコルのMotes)
サポートLorawan™ 1.0.2および1.1プロトコル
SemTech™のゲートウェイを使用します
pipを使用して、 lora-mote-emulatorをインストールします。
ピップインストールlora-mote-emulator
pipを使用してpipenvをインストールします。
PIPインストールpipenv
このレポをディレクトリにクローンします。
git clone https://github.com/houluy/lora-mote-emulator.git
pipenvを使用して仮想Python環境を作成し、すべての依存関係をインストールします。
pipenvインストール
プロジェクトの構築:
python -m build
ここで、システムにPython 3.6がない場合、警告が発生し、パッケージがインストールされません。 SourceからPython 3.6をインストールするのに最適です。それ以外の場合は、 Pipfile.lockを削除して、上記のコマンドをやり直します。
pipenv shellで仮想環境を入力しますmote -hを実行して、ヘルプメッセージを表示します使用法:mote [-h] [-vバージョン] [-c config] [ - モデルモデル]
{join、app、pull、mac、再生、情報、abp、create} ...
Lora Mote(別名エンドデバイス)とGateway、サポートコマンドをエミュレートするツール
リスト:['join'、 'app'、 'pull'、 'mac'、 'rejoin'、 'info'、 'abp'、 'create']]
オプションの引数:
-H、 - ヘルプこのヘルプメッセージと出口を表示します
-vバージョン、-versionバージョン
Lorawanバージョン、1.0.2または1.1を選択します(デフォルト)
-c config、--config config
設定ファイルのディレクトリを指定します。デフォルト
'./config'
- モデルモデルモデルファイルを保存するディレクトリを指定します、デフォルト
'./models'
サポートされているコマンド:
{join、app、pull、mac、再生、情報、abp、create}
JOIN SEND JOINリクエスト。
アプリアプリケーションデータを送信します。
Pull send pull_data。
MacはMacCommandを送信します。
再生送信再生リクエスト。
情報は現在のモートの情報を示しています。
ABPは、ABPモードでmoteを初期化します。
ハンドル構成を作成します。
mote create [-c ./config]によって構成ファイルを作成する必要があります。 moteは、./configディレクトリ(デフォルト)で必要な構成テンプレートJSONファイルを生成します。ディレクトリには、いくつかのJSON構成ファイルが含まれています。config.json :基本的な構成。gateway.json :ゲートウェイeui。device.json :OTAAモードのデバイスパラメーター。abp.json :ABPモードのデバイスパラメーター。 device.jsonのデバイスインフォメーションを修正します。例:
{
"デバイス": {
「joineui」: "0000000000000000"
「deveui」: "0000000000000000"
}、
「rootkeys」:{
「Appkey」: "00000000000000000000000000000000"
「nwkkey」: "000000000000000000000000000000"
}
}
注:Lorawan 1.0デバイスをエミュレートする場合は、最初にAppEUIに等しくJoinEUI設定し、 NwkKeyをAppKeyに等しく設定します。
abp.jsonのデバイスのアクティベーション情報を変更します。例:
{
「deveui」: "0000000000000000"
「joineui」: "0000000000000000"
「devaddr」: "00000000"、
「Appkey」: "00000000000000000000000000000000"
「nwkkey」: "000000000000000000000000000000"
「nwksenckey」: "000000000000000000000000000000"
「snwksintkey」: "000000000000000000000000000000"
「fnwksintkey」: "000000000000000000000000000000"、
「appskey」: "000000000000000000000000000000"
「fcntup」:0、
「バージョン」:「1.1」
}
現在、5種類のメッセージがサポートされています。データをプル、リクエストに参加し、リクエストに再加入し、確認(または未確認)データ(FOPTSの有無にかかわらず)、およびFRMPayloadフィールドのMACコマンド:
注:常に、サーバーでゲートウェイを生かし続けるために、 mote pullを忘れないでください。
モート情報 モートプル モートABP mote join [-n] mote rejoin 'rejointyp'(0、1、2) mote app 'message'(アップリンクメッセージ、UTF-8によってエンコードされます)[-AUF] mote mac 'command'(frmpayloadフィールドのMacコマンド)
Chirpstackとの相互作用の例は次のとおりです。
モートプル mote join -n moteアプリHelloworld -f 0302 mote main.py mac 0302
このレポはhttps://github.com/houluy/lora-motes-emulatorでホストされており、MITライセンスの下で、貢献または提案は歓迎されます。問題を開くか、プルリクエストを送信してください。