Aller au contenu

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 :

local at = require("at1")

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/ttyUSB0 ou COM3 (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 5 secondes.

API Lua

at.send(cmd)

Envoie une commande AT au module configuré.

  • Paramètres : cmd (string) : La commande AT à envoyer.

  • Retour :

  • OK si la commande est envoyée avec succès sinon write 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 nil suivi 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'instance at.
  • at.type : Retourne le type du module (ici, at1).