Module Lua at
Le module at permet d'interagir avec les modules GSM/GPRS/3G/4G en utilisant des commandes AT.
Import
Pour importer le module en Lua :
Configuration YAML
Le module at nécessite une configuration spécifique pour fonctionner. Cette configuration est définie dans le fichier de configuration de l'agent.
Pour la configuration voici un exemple de toutes les options possibles :
iot:
modules:
at:
- name: at1 # nom du module
port: /dev/ttyUSB0 # port
baud: 9600 # timeout
read_timeout: 5 # timeout
Détails de la configuration
- name : Nom du module. Il doit être unique et ne pas contenir d'espaces ou de caractères spéciaux.
- port : Port série à utiliser. Il doit être au format
/dev/ttyUSB0ouCOM3(pour Windows). - baud : Vitesse de transmission (baud rate). Par défaut, c'est
9600(ex.9600,115200). - read_timeout : Temps d'attente pour la lecture des données. Par défaut, c'est
5secondes.
API Lua
at.send(cmd)
Envoie une commande AT au module configuré.
-
Paramètres :
cmd(string) : La commande AT à envoyer. -
Retour :
OKsi la commande est envoyée avec succès sinonwrite error: <error>.
local at = require("at1")
local status, err = at.send("AT+CSQ")
if not status then
print("Erreur lors de l'envoi de la commande AT : " .. err)
else
print("Commande AT envoyée avec succès.")
end
at.query(cmd [, terminator])
Envoie une commande AT au module configuré et attend une réponse.
- Paramètres :
cmd(string) : La commande AT à envoyer.terminator(string) : Le caractère de terminaison de la réponse. Par défaut, c'est\r\n.- Retour :
- La réponse du module sous forme de chaîne de caractères.
- En cas d'erreur, retourne
nilsuivi d'un message d'erreur.
local at = require("at1")
local response, err = at.query("AT+CSQ")
if err then
print("Erreur lors de la requête AT : " .. err)
else
print("Réponse AT : " .. response)
end
Champs Lua associés
at.name: Retourne le nom de l'instanceat.at.type: Retourne le type du module (ici,at1).