EBYTE E32 Befehlszeilenschnittstelle + Minimale GUI.
Funktioniert mit EBYTE-E32 LORA-Modulen mit konfigurierbarer Pinzuweisung. Die 3 GPIOs werden über Linux CDEV gesteuert und der serielle Port wird durch ein normales /dev/ttyXXX -Zeichengerät gesteuert.
Verwendet EBYTE-E32-RS als Treiber sowie einige Merkmale der eingebetteten Hälfte und deren Implementierungen aus Linux-eingebettet.
Für die CLI wird Clap verwendet.
Für die GUI wird Klat über Klatschen verwendet.
Konfigurierbar mit Config.toml im selben Verzeichnis wie das Binärer (oder die config festlegen):
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 PIN | Raspberry Pi Pin (BCM -Pin -Nummer) |
|---|---|
| VCC | 3v3 |
| GND | GND |
| Aux | 18 |
| M0 | 23 |
| M1 | 24 |
| Tx | 15 (RX) |
| Rx | 14 (TX) |
In diesen Beispielen können Sie ebyte-e32-cli durch cargo run --bin ebyte-e32-cli wenn Sie sich im Projekt Root-Verzeichnis befinden. Dieses Verzeichnis enthält auch ein Beispiel Config.toml .
Modelldaten oder Parameter des Lesens (guter erster Test):
ebyte-e32-cli {read-model-data|read-parameters}
Hören Sie auf Übertragungen:
ebyte-e32-cli listen
Konfigurieren Sie für die Adresse 1, Kanal 16, keine Vorwärtsfehlerkorrektur, dauerhafte Persistenz:
ebyte-e32-cli configure --address 1 --channel 16 --fec off --persistence permanent
Geben Sie für den send Ihre Nachrichten in die Eingabeaufforderung ein oder geben Sie sie über stdin ein.
Die GUI ist das Standardziel, was bedeutet, dass Sie es mit cargo run starten können. Für das Senden von Daten werden die auf der Registerkarte Input angegebenen Daten verwendet (wobei Sie auch eine Datei auswählen können, um die Eingabe zu lesen).
Mit dem Configuration -Unterbefehl können die Modulparameter eingestellt werden. Beachten Sie, dass Ihre Moduleinstellungen mit den Einstellungen des anderen Moduls übereinstimmen müssen, damit jedes Übertragung erfolgreich ist.
Mit der persistence des Configuration -Unterbefehls können die Einstellungen gespeichert werden ( temporary oder permanent ). Im permanent Modus werden die Einstellungen auf das Modul bestehen.
Sie können die GUI auf Ihrem normalen Betriebssystem zum Testen ausführen.
Diese Screenshots sind leicht veraltet, zeigen jedoch die Merkmale der GUI und der CLI:








Der zugrunde liegende Treiber (EBYTE-E32-RS) ist Plattform-Agnostic (keine Linux benötigt, nur Implementierungen der embedded-hal ).
Dieses Programm erfordert ein Linux -Zeichengerät und 3 CDEV -GPIO -Linien.
Für das Zeichengerät sollte es als /dev/ttyABC verfügbar sein. Beachten Sie, dass Sie (abhängig von Ihrer Verteilung) Ihren Benutzer möglicherweise zu bestimmten Gruppen hinzufügen müssen, um den seriellen Port wie dialout zu verwenden.
Für die GPIO -Zeilen finden Sie Ihre Boards gpiochipXXX in /sys/class/gpio/gpiochipXXX und finden Sie dann die Zeilen, die Sie anschließen möchten, und geben Sie die Informationen in Config.toml ein.
Die Aux -Linie muss unterstützen, dass es sich um eine Eingangslinie handelt. Die M0- und M1 -Linien müssen die Ausgangsleitungen unterstützen.
Hilfe auf der höchsten Ebene:
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
Konfigurations-Unterbefehlshilfe ( 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]
Die anderen Unterbefehle haben keine weiteren Optionen.
Das periphere serielle Porthardware muss aktiviert sein (jedoch ohne Anmeldeschale).
