Ebyte E32コマンドラインインターフェイス +最小GUI。
構成可能なPIN割り当てを備えたEbyte-E32 LORAモジュールで動作します。 3つのGPIOはLinux CDEVを介して制御され、シリアルポートは通常/dev/ttyXXX文字デバイスによって制御されます。
ebyte-e32-rsをドライバーとして使用し、さらに埋め込まれたハルからのいくつかの特性と、Linux-埋め込まれたハルからの実装を使用します。
CLIには、clapが使用されます。
GUIの場合、拍手の上に、Klaskが使用されます。
Config.tomlで構成可能バイナリと同じディレクトリにある(またはオプションconfigを設定):
serial_path = " /dev/ttyAMA0 "
baudrate = 9600
parity = " None "
data_bits = 8
stop_bits = 1
gpiochip_path = " /dev/gpiochip0 "
aux_pin = 18
m0_pin = 23
m1_pin = 24| ebyteピン | ラズベリーPIピン(BCMピン番号) |
|---|---|
| VCC | 3V3 |
| GND | GND |
| aux | 18 |
| M0 | 23 |
| M1 | 24 |
| TX | 15(rx) |
| Rx | 14(TX) |
これらの例では、プロジェクトルートディレクトリにいる場合はebyte-e32-cli cargo run --bin ebyte-e32-cli 。このディレクトリには、 Config.toml例も含まれています。
モデルデータまたはパラメーターを読む(良い最初のテスト):
ebyte-e32-cli {read-model-data|read-parameters}
送信を聞く:
ebyte-e32-cli listen
アドレス1、チャンネル16、フォワードエラーの修正なし、永続的な持続性の構成:
ebyte-e32-cli configure --address 1 --channel 16 --fec off --persistence permanent
sendモードの場合は、プロンプトにメッセージを入力するか、 stdin経由でパイプにします。
GUIはデフォルトのターゲットです。つまり、 cargo runで起動できることを意味します。データを送信するには、 Inputタブで提供されるデータが使用されます(入力を読み取るファイルを選択することもできます)。
Configurationサブコマンドでは、モジュールパラメーターを調整できます。モジュールの設定は、送信が成功するために他のモジュールの設定を一致させる必要があることに注意してください。
Configurationサブコマンドのpersistenceオプションを使用すると、設定を保存できます( temporaryまたはpermanent )。 permanentモードでは、設定がモジュールに継続されます。
テストのために通常のOSでGUIを実行できます。
これらのスクリーンショットはわずかに時代遅れですが、GUIとCLIの機能を示しています。








基礎となるドライバー(ebyte-e32-rs)はプラットフォームに依存していません(Linuxは必要ありません。 embedded-halの実装だけです)。
このプログラムには、Linuxキャラクターデバイスと3つのCDEV GPIOラインが必要です。
キャラクターデバイスの場合、 /dev/ttyABCとして利用できる必要があります。 (配布に応じて)特定のグループにユーザーを追加して、 dialoutなどのシリアルポートを使用できるようにする必要がある場合があることに注意してください。
GPIOラインについては、 /sys/class/gpio/gpiochipXXXのボードgpiochipXXXを見つけて、接続する行を見つけて、 Config.tomlに情報を入力します。
AUXラインは入力ラインであることをサポートする必要があり、M0およびM1ラインは出力ラインであることをサポートする必要があります。
トップレベルのヘルプ:
ebyte-e32-ui 0.5.0
CLI + GUI for interacting with EByte E32 LoRa modules
USAGE:
ebyte-e32-cli [OPTIONS] <SUBCOMMAND>
OPTIONS:
--config <CONFIG> Configuration file [default: Config.toml]
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
configure Write Ebyte module parameters
help Print this message or the help of the given subcommand(s)
listen Listen for incoming data on the Ebyte module
read-model-data Read Ebyte module data and print to stdout
read-parameters Read Ebyte module parameters and print to stdout
send Send data from stdin over the Ebyte module
構成サブコマンドヘルプ( ebyte-e32-cli help configure ):
ebyte-e32-cli-configure
Write Ebyte module parameters
USAGE:
ebyte-e32-cli configure [OPTIONS] --address <ADDRESS> --channel <CHANNEL>
OPTIONS:
-a, --address <ADDRESS>
Module Address (16 Bit)
--air-rate <AIR_RATE>
Air Baudrate [default: bps2400] [possible values: bps300, bps1200, bps2400, bps4800,
bps9600, bps19200]
-c, --channel <CHANNEL>
Channel (8 Bit)
--fec <FEC>
Forward Error Correction Mode [default: on] [possible values: on, off]
-h, --help
Print help information
--io-drive-mode <IO_DRIVE_MODE>
IO drive Mode for AUX pin [default: push-pull] [possible values: push-pull,
open-collector]
--persistence <PERSISTENCE>
Whether settings should be saved persistently on the module [default: temporary]
[possible values: temporary, permanent]
--transmission-mode <TRANSMISSION_MODE>
Transmission Mode [default: transparent] [possible values: transparent, fixed]
--transmission-power <TRANSMISSION_POWER>
Transmission Power [default: dbm30] [possible values: dbm30, dbm27, dbm24, dbm21]
--uart-parity <UART_PARITY>
UART Parity [default: none] [possible values: none, odd, even]
--uart-rate <UART_RATE>
UART Baudrate [default: bps9600] [possible values: bps1200, bps2400, bps4800, bps9600,
bps19200, bps38400, bps57600, bps115200]
--wakeup-time <WAKEUP_TIME>
Wireless Wakeup Time [default: ms250] [possible values: ms250, ms500, ms750, ms1000,
ms1250, ms1500, ms1750, ms2000]
他のサブコマンドにはそれ以上の選択肢がありません。
シリアルポートハードウェア周辺機器を有効にする必要があります(ただし、ログインシェルなし)。
