Interface de ligne de commande EBYTE E32 + GUI minimale.
Fonctionne avec les modules EBYTE-E32 LORA avec une affectation PIN configurable. Les 3 GPIO sont contrôlés via Linux CDEV, et le port série est contrôlé par un périphérique de caractères normal /dev/ttyXXX .
Utilise EBYTE-E32-RS comme pilote, plus certains traits de l'embedded-hal et leurs implémentations de Linux-Embedded-Hal.
Pour la CLI, le clap est utilisé.
Pour l'interface graphique, au-dessus du clap, Klask est utilisé.
Configurable avec Config.toml dans le même répertoire que le binaire (ou définir l'option 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| Épingle ebyte | Pin Raspberry Pi (numéro de broche BCM) |
|---|---|
| VCC | 3V3 |
| GND | GND |
| Aux | 18 |
| M0 | 23 |
| M1 | 24 |
| TX | 15 (RX) |
| Rx | 14 (TX) |
Dans ces exemples, vous pouvez remplacer ebyte-e32-cli par cargo run --bin ebyte-e32-cli si vous êtes dans le répertoire des racines du projet. Ce répertoire contient également un exemple de Config.toml .
Données ou paramètres du modèle de lecture (bon premier test):
ebyte-e32-cli {read-model-data|read-parameters}
Écoutez les transmissions:
ebyte-e32-cli listen
Configurer pour l'adresse 1, canal 16, pas de correction d'erreur à terme, persistance permanente:
ebyte-e32-cli configure --address 1 --channel 16 --fec off --persistence permanent
Pour le mode send , entrez vos messages dans l'invite ou tuyz-les via stdin .
L'interface graphique est la cible par défaut, ce qui signifie que vous pouvez le lancer avec cargo run . Pour l'envoi de données, les données fournies dans l'onglet Input sont utilisées (où vous pouvez également sélectionner un fichier pour lire l'entrée).
Avec la sous-commande Configuration , les paramètres du module peuvent être ajustés. Notez que les paramètres de votre module doivent correspondre aux paramètres de l'autre module pour que toute transmission réussisse.
Avec l'option persistence de la sous-commande Configuration , les paramètres peuvent être enregistrés ( temporary ou permanent ). En mode permanent , les paramètres seront persistés sur le module.
Vous pouvez exécuter l'interface graphique sur votre système d'exploitation normal pour les tests.
Ces captures d'écran sont légèrement obsolètes mais montrent les caractéristiques de l'interface graphique et de la CLI:








Le pilote sous-jacent (EBYTE-E32-RS) est agnostique à plateforme (ne nécessite pas Linux, juste des implémentations d' embedded-hal ).
Ce programme nécessite un périphérique de caractères Linux et 3 lignes CDEV GPIO.
Pour le périphérique de caractères, il doit être disponible en tant que /dev/ttyABC . Notez que (selon votre distribution), vous devrez peut-être ajouter votre utilisateur à certains groupes pour pouvoir utiliser le port série, comme dialout .
Pour les lignes GPIO, trouvez vos cartes gpiochipXXX dans /sys/class/gpio/gpiochipXXX , puis trouvez les lignes que vous souhaitez connecter et entrez les informations dans Config.toml .
La ligne AUX doit prendre en charge la ligne d'entrée, les lignes M0 et M1 doivent prendre en charge les lignes de sortie.
Aide de haut niveau:
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
Aide de sous-commande de configuration ( 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]
Les autres sous-communs n'ont plus d'autres options.
Le périphérique matériel du port série doit être activé (mais sans shell de connexion).
