Les séquences AT pour le transmetteur LoRa
publication: 26 décembre 2024 / mis à jour 26 décembre 2024
La communication entre le PC et le transmetteur LoRa s'effectue au travers de séquences AT. Ces séquences sont structurées comme suit:
- AT marque le début d'une séquence de commande ou de transmission
- +command indique la commande, exemple BAND, UID, MODE...
- =params paramètres de la commande
La séquence la plus courte est AT
sans autre commande ou paramètre:
z" AT" buff! CRLFbuff+!
buffer-to-serial 200 ms
from-serial .buffer \ display: +OK
Définition des séquences AT
Voici comment définir des mots initiant presque toutes les séquences AT
reconnues par notre transmetteur:
: ATseq:
create ,
does>
@ buff!
;
\ definition all At sequences
z" AT" ATseq: AT
z" AT+ADDRESS=" ATseq: ATaddress
z" AT+BAND=" ATseq: ATband
z" AT+CRFOP=" ATseq: ATcrfop
z" AT+CPIN=" ATseq: ATcpin
z" AT+FACTORY" ATseq: ATfactory
z" AT+IPR=" ATseq: ATipr
z" AT+MODE=" ATseq: ATmode
z" AT+NETWORKID=" ATseq: ATnetworkid
z" AT+PARAMETER=" ATseq: ATparameter
z" AT+RESET" ATseq: ATreset
z" AT+UID?" ATseq: ATuid
z" AT+VER?" ATseq: ATver
Avec ces définitions, on peut réécrire l'exemple donné plus haut:
AT CRLFbuff+!
buffer-to-serial 200 ms
from-serial .buffer \ display: +OK
La séquence AT
nue n'a d'autre utilité que de vérifier la disponibilité du transmetteur LoRa.
Les séquences suivies du caractère = attendent un paramètre au moins:
- ? est un paramètre d'interrogation du transmetteur;
- val/txt est un paramètre à traiter par le transmetteur.
Interrogation du transmetteur LoRa
Certaines commandes peuvent interroger le transmetteur LoRa. Exemple:
ATband z" ?" buff+! CRLFbuff+! buffer-to-serial 200 ms from-serial .buffer \ display: \ +BAND=Lora transmit frequence Ex:+BAND=918000000 \ parameter:Frequence, be sure the hardware antenna working range to set the frequence
La commande permettant d'avoir ce résultat est AT+BAND=?. Ce résultat résume le paramètre attendu par la séquence AT BAND.
Ici, on définit le mot get-LoRa-params
qui va interroger toutes les séquences de paramétrage
du transmetteur LoRa:
: transmit-receive-display ( -- ) CRLFbuff+! buffer-to-serial 200 ms from-serial .buffer ; : get-LoRa-params ( -- ) cr ." Lora params : " cr ." T test transmission" cr ." A address B band C crfof" cr ." I ipr P parameter" cr ." press key " key $5F and \ conver ASCII code to upper case case [char] T of AT transmit-receive-display exit endof [char] A of ATaddress endof [char] B of ATband endof [char] C of ATcrfop endof [char] I of ATipr endof [char] P of ATparameter endof endcase cr [char] ? cbuff+! transmit-receive-display ;
L'exécution de ce mot attend l'appui sur une touche, et transmet la séquence AT
associée à
cette touche clavier, par exemple P pour la séquence AT+PARAMETER=?.
En retour, on obtient une aide sommaire sur la commande interrogée.
Pour connaître l'état d'une commande, on peut interroger le transmetteur LoRa en utilisant la
séquence AT
sans le caractère =
comme ceci:
z" AT+BAND?" buff!
transmit-receive-display
\ display the frequency used by LoRa module
Les commandes AT en détail
Voici la liste des commandes pour paramétrer un module LoRa.
ADDRESS Définit l'adresse du module
Chaque module de transmission LoRa doit avoir une adresse personnelle.
syntax | response |
---|---|
AT+ADDRESS=<address> | +OK |
AT+ADDRESS=? | +ADDRESS=22 |
Exemple: Définir l'adresse du module sur 22. Les paramètres seront mémorisés dans LoRa.
\ Set the ADDRESS of LoRa transmitter: \value in interval [0..65535][?] (default 0) ATaddress 22 #buff+! transmit-receive-display

Dans ce schéma, Le transmetteur A est celui qui est connecté à notre PC et piloté par eForth Windows. En lui donnant l'adresse 22, cette adresse ne peut plus être utilisée par les autres modules B C et D qui devront chacun avoir leur propre adresse.
BAND Réglage de la fréquence RF
syntax | response |
---|---|
AT+BAND=<parameter> | +OK |
AT+BAND=? | +BAND=868500000 |
<parameter>est la fréquence RF, l'unité est Hz : 915000000Hz (par défaut : RYLY89x)
Exemple : définir la fréquence sur 868500000Hz :
\ Set the BAND of LoRa transmitter: \ value is RF frequency, unit Hz ATband 868500000 #buff+! transmit-receive-display
Vérifiez bien que la fréquence sélectionnée est une fréquence autorisée dans votre pays.
NETWORKID Sélectionne un ID réseau
syntax | response |
---|---|
AT+NETWORKID=<Network ID> | +OK |
AT+NETWORKID=? | +NETWORKID=6 |
Network ID: 0~16(0 par défaut)
Exemple: Sélectionne network ID à 6
Les réglages seront mémorisés dans l'EEPROM.
Le «0» est l'identifiant public de Lora. Il n'est pas recommandé d'utiliser 0 pour définir l'ID RÉSEAU.
\ Set NETWORKID: \ value is [0..16] (0 bay default) ATnetworkid 6 #buff+! transmit-receive-display
Le paramètre NETWORKID permet de différencier deux modules LoRa ayant la même adresse.
CPIN Définit le mot de passe domaine
syntax | response |
---|---|
AT+CPIN=<cpin> | +OK |
AT+CPIN=? | +CPIN=EEDCAA90 |
Cpin:
Mot de passe de 8 caractères de 00000001 à FFFFFFFF.
L'échange est accepté si les deux modules ont le même mot de passe. Après reset, le précédent mot de passe est effacé.
Example: Set the password as below: EEDCAA90
\ Set the PIN: \ value is an 8 character long password \ from 00000001 to FFFFFFFF ATcpin buff+" EEDCAA90" transmit-receive-display
Les modules LoRa émetteur et récepteur doivent partager le même code CPIN pour autoriser uen transaction.
CRFOP Sélectionne la puissance RF de sortie
syntax | response |
---|---|
AT+CRFOP=<power> | +OK |
AT+CRFOP=? | +CRFOP=10 |
Puissance:
Entre 0..15, 15dBm (par défaut)
Exemple, sélectionne la puissance de sortie à 10dBm:
\ Set the PIN: \ value is an 8 character long password \ from 00000001 to FFFFFFFF ATcpin buff+" EEDCAA90" transmit-receive-display
Modulez la puissance d'émission en fonction de la distance de transmission. Pour des transmission à courte distance, réduire la puissance d'émission limitera la consommation électrique.
IPR Règle le débit en bauds UART
syntax | response |
---|---|
AT+IPR=<parameter> | +OK |
AT+IPR=? | +IPR=38400 |
Paramètre de baud UART:
- 300
- 1200
- 4800
- 9600
- 19200
- 28800
- 38400
- 57600
- 115200 (default)
Les réglages seront mémorisés dans l'EEPROM.
Ce paramètre règle la vitesse de transmission sur le port série. Par défaut, la vitesse est à 115200 bps. Baissez cette vitesse si le transmetteur est relié à un câble série susceptible de subir des interférences.
Exemple, sélection d'une vitesse de transmission à 19200 bps:
\ Set the PIN: \ value is an 8 character long password \ from 00000001 to FFFFFFFF ATcpin buff+" EEDCAA90" transmit-receive-display
ATTENTION: si vous exécutez ce paramétrage depuis l'adaptateur USB-TTL, il faudra reprogrammer le port COM pour continuer à communiquer avec le transmetteur LoRa.
Legal: site web personnel sans commerce / personal site without seling