MESSAGGI

Comandi che consentono l'invio di avvisi o messaggi:


INVIA EMAIL


Invia email tramite SMM Server, che deve essere attivo e raggiungibile.


ComandO

AT#EMAIL=<rcpt>,<subject>[,<body>][,<icon>]

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<rcpt>

INDIRIZZO EMAIL DEL DESTINATARIO

NOME GRUPPO PER INVIO A TUTTI I COMPONENTI


<subject>

OGGETTO DEL MESSAGGIO, PUò INCLUDERE TAG


<body>

CORPO OPZIONALE DEL MESSAGGIO, PUò INCLUDERE TAG

oppure

PERCORSO FILE 


<icon>

ICONA OPZIONALE DA INCLUDERE NEL MESSAGGIO


Il corpo del messaggio può contenere testo libero all'interno del quale è consentito l'uso di TAG, oppure può contenere informazioni preformattate composte dal server SMM specificando le seguenti parole chiave:

  • LOG: invia il file log memorizzato nell'account cloud
  • MAP: invia la mappa del dispositivo memorizzata nell'account cloud


In alternativa si può specificare il percorso completo di un file presente nella memoria del dispositivo da inviare come allegato. Il file deve contenere SOLO TESTO e sarà inviato assegnandogli un nome che rappresenta data ed ora correnti (ad esempio: 220617_091821.txt).

In questo modo invii successivi di uno stesso file (ad esempio uno storico) saranno inviati con nome univoco che riporta la data nella quale è stato inviato.


Quando viene inviata la mappa del dispositivo, è possibile specificare l'indice di un'icona da mostrare, selezionata tra quelle disponibili, vedere ICONE EMAIL


NOTA: Per prevenire abusi e migliorare la sicurezza l'invio di messaggi con allegato sarà effettuato solo agli indirizzi email memorizzati nella lista utenti di Avior.


ATTENZIONE: Avior previene l'invio di messaggi duplicati.

Un messaggio identico al precedente viene scartato e riportato nel log con lo stesso identificativo progressivo. Per differenziare i messaggi è sufficiente inserire un campo variabile, ad esempio l'orario.

Poiché i messaggi di posta elettronica transitano da diversi server non è garantita la loro consegna nello stesso ordine con il quale sono stati inviati, quindi è buona pratica l'inserimento di un timestamp.


È possibile verificare se e quando un messaggio email è stato visualizzato da un destinatario utilizzando una chiamata API.

INVIA MESSAGGIO CHAT


Invia un messaggio chat ad utente Telegram tramite il server SMM, che deve essere attivo e raggiungibile. I messaggi possono essere inviati solo ad utenti memorizzati nel dispositivo.


ComandO

AT#TGM=<rcpt>,<text>,<type>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<rcpt>

NUMERO DI TELEFONO DESTINATARIO

NOME GRUPPO PER INVIO A TUTTI I COMPONENTI


<text>

TESTO DEL MESSAGGIO, PUò INCLUDERE TAG


<type>

M : MESSAGGIO DI TESTO

G : MESSAGGIO DI TESTO CON INFORMAZIONI GEOGRAFICHE

S : MESSAGGIO DI TESTO CON STATO DEL DISPOSITIVO

L : MESSAGGIO DI TESTO CON LOG DI SISTEMA

K : MESSAGGIO DI TESTO CON TASTIERA ON/OFF

P : MESSAGGIO DI TESTO CON TASTIERA IMPULSO

B : MESSAGGIO DI TESTO CON TASTO PERSONALIZZATO 

Q : MESSAGGIO DI TESTO COME QRCODE


Il numero del destinatario deve essere inserito in formato internazionale.

Per le opzioni di formato dei messaggi di chat, vedi TELEGRAM.

CHIAMATA VOCE AD UTENTE CHAT


Effettua una chiamata telefonica ad utente Telegram user tramite il server SMM, che deve essere attivo e raggiungibile. Le chiamate possono essere effettuate solo ad utenti memorizzati nel dispositivo. Gli utenti devono avere impostato uno username Telegram.


ComandO

AT#TGM=<rcpt>,<text>,V[,<lang>,<rpt>]

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<rcpt>

NUMERO DI TELEFONO DEL DESTINATARIO


<text>

TESTO DEL MESSAGGIO, PUò INCLUDERE TAG


V

MESSAGGIO DI TIPO VOCE


<lang>

LINGUA DEL MESSAGGIO (OPZIONALE)


<rpt>

NUMERO DI RIPETIZIONI DEL MESSAGGIO (1...4)

(OPZIONALE, DEFAULT = 1)


Puoi specificare la lingua da utilizzare indicando semplicemente il codice ISO (ad esempio it per italiano), se omesso verrà utilizzata la lingua utilizzata nella chat dell'utente.

Puoi anche indicare il tipo di voce scegliendo qui tra le sole voci standard (non Wavenet) es esempio it-IT-Standard-B.

Le chiamate sono accodate per essere eseguite in sequenza, in genere entro 1 minuto dalla richiesta. Maggiori ritardi sono possibili se è in corso un elevato numero di chiamate.

INVIA ALLA PORTA COM


Invia un testo alla porta COM.


ComandO

AT#COM=<text>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<text>

TESTO DA INVIARE ALLA PORTA COM (PUò INCLUDERE TAG)

%0A per nuova linea

%0D per ritorno a capo

RICHIESTA HTTP


Effettua una richiesta HTTP all'indirizzo specificato, deve essere disponibile una connessione dati.


ComandO

AT#HTTP=<method>,<url>[,<data>]

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<method>

GET | POST | PUT | DELETE


<url>

URL DI DESTINAZIONE


<data>

TESTO DA POSTARE, PUò INCLUDERE TAG o

PERCORSO COMPLETO E NOME FILE DA INVIARE


La risposta restituita dal server viene sempre ignorata.

È possibile includere la tag personalizzata X-command nell'intestazione della risposta, saranno eseguiti gli eventuali comandi che contiene.


È possibile specificare la porta di destinazione personalizzata alla fine dell'URL utilizzando il formato canonico: https://miosito.com:1234


NOTA: L'utilizzo di TAG che si riferiscono a variabili all'interno della URL può provocare errori o crash del dispositivo a causa del contenuto improprio o non ancora disponibile (elaborazione in corso).


NOTA: E' possibile eseguire richieste con protocollo HTTPS (HTTP Secure) attraverso rete WiFi (versione firmware 02.28 o superiore) e modem 4G (versione firmware 01.21 o superiore).

HTTPS potrebbe non essere supportato in alcune reti WiFi.

Il modem 2G non supporta il protocollo HTTPS: le richieste verranno eseguite con protocollo HTTP.


Per ogni dispositivo è disponibile uno spazio cloud (SWAP AREA con limite di 200k) per salvare/prelevare contenuto libero che può anche essere utilizzato all'interno di Feed RSS o da Alexa.


Esempio per appendere il testo  abc...  alla SWAP AREA di  gxl0

AT#HTTP=POST,https://www.mobikey.eu/swap/gxl0/pwd/0000,"abc..."

CHIUDE LA CONNESSIONE BLE


Chiude la connessione con il dispositivo BLE.

Il comando non ha alcun effetto se nessun dispositivo BLE è collegato.


ComandO

AT#BTH

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO


La connessione BLE viene comunque chiusa automaticamente dopo 20 secondi di inattività.

INVIA UN MESSAGGIO UDP


Invia un messaggio con protocollo UDP alla porta specificata di un indirizzo IP.

Disponibile solo per unità 4G.


ComandO

AT#UDP=<ipaddress>,<port>,<text>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<ipaddress>

INDIRIZZO IP DI DESTINAZIONE


<port>

PORTA UDP DI DESTINAZIONE


<text>

MESSAGGIO DA INVIARE (PUò INCLUDERE TAG)


Invia il messaggio message "Hello Avior" all'indirizzo 123.130.140.150 porta 1234:

AT#UDP=123.130.140.150,1234,"Hello Avior"

OK


PUBBLICA UN MESSAGGIO MQTT


Pubblica messaggio al broker MQTT, specificando topic, payload e QoS.


ComandO

AT#MQTT=<topic>,"<payload>",<qos>[,<retain>]

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<topic>

TOPIC DEL MESSAGGIO, PUò INCLUDERE TAG


<payload>

PAYLOAD DEL MESSAGGIO, PUò INCLUDERE TAG

O PERCORSO COMPLETO DI UN FILE DA INVIARE


<qos>

QUALITY OF SERVICE


<retain>

MANTIENE L'ULTIMO MESSAGGIO 1

(INOLTRA AD OGNI NUOVO SOTTOSCRITTORE)


Un evento MQT è scatenato dopo la pubblicazione di un messaggio.


Pubblica "box aperto" al topic "mytopic/home/garage" con QoS=1:

AT#MQTT=mytopic/home/garage,"box aperto",1


Pubblica con tag ($D01 è l'identificativo del dispositivo, $I12 è lo stato dell'ingresso digitale 1 e $O42 lo stato dell'uscita 4) con QoS=0:

AT#MQTT=mydevice/$D01,"in1=$I12 e out4=$O42",0


Pubblica il contenuto del file S:LOGS/data.log (presente in SDcard) al topic "system/file:

AT#MQTT=system/file,S:LOGS/data.log,1


1        Per cancellare un messaggio "retained" invia un messaggio vuoto

         con retain a 1 :
       AT#MQTT=mytopic/home/garage,"",1,1

RICHIESTA LETTURA MODBUS RTU


Legge dati con protocollo Modbus RTU dalla porta COM.


ComandO

AT#RTUR=<slaveAddr>,<functCode>,<startReg>,

<numReg>,<dataType>,[<options>],<dest>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<slaveAddr>

INDIRIZZO DEL PERIFERICO MODBUS

1 ... 247


<functCode>

CODICE FUNZIONE MODBUS

1 : LEGGE COILS

2 : LEGGE DISCRETE INPUTS

3 : LEGGE HOLDING REGISTER

4 : LEGGE INPUT REGISTERS


<startReg>

REGISTRO DAL QUALE INIZIARE LA LETTURA

0 ... 65535


<numReg>

NUMERO DI DATI DA LEGGERE

1 ... 32


<dataType>

TIPO DI DATO

B: BIT (per function code 1 e 2)

W: WORD - 16 bit (per function code 3 e 4)

D: DOUBLE - 32 bit (per function code 3 e 4)

F: FLOAT - IEEE754 (per function code 3 e 4)


<options>

OPZIONI DI LETTURA (PUò ESSERE LASCIATO VUOTO)

S: dati interpretati come valori con segno (dataType W ed D)

I: inversione endianess (dataType D)

SI: entrambe le opzioni sopra specificate


<dest>

DESTINAZIONE DEI DATI LETTI (DOVE SALVARE)

E01 ... E32


<dest> indica la posizione dove verrà salvato il primo dato letto, gli eventuali dati a seguire saranno salvati nelle posizioni successive

Leggendo 4 con <dest> E06, i dati occuperanno E06, E07, E08, E09.

Il comando restituirà ERROR se il numero di dati da salvare supera la posizione E32.


AT#RTUR=8,1,5,2,B,,E04

Richiesta di lettura con i seguenti parametri:

- indirizzo slave: 8

- function code: 1 (lettura di coils)

- registro modbus di partenza: 5

- numero di coil da leggere: 2

- tipo di dato: BIT

- opzione: nessuna

- destinazione: E04 (occuperanno E04, E05, E06, E07, E08)


AT#RTUR=9,3,6,1,W,S,E01

Richiesta di lettura con i seguenti parametri:

- indirizzo slave: 9

- function code: 3 (lettura di holding register)

- registro modbus di partenza: 6

- numero di registri da leggere: 1

- tipo di dato: WORD (16bit)

- opzione: S trattare il dato come numero con segno

- destinazione: E01


AT#RTUR=123,4,8,3,D,,E14

Richiesta di lettura con i seguenti parametri:

- indirizzo slave: 123

- function code: 4 (lettura di input register)

- registro modbus di partenza: 8

- numero di dati da leggere: 3

- tipo di dato: DOUBLEWORD (32bit = 6 registri modbus da16bit)

- opzione: nessuna, dati composti prendendo due registri alla volta

- destinazione: E14 (occuperanno E14, E15, E16)

RICHIESTA SCRITTURA MODBUS RTU


Scrive dati con protocollo Modbus RTU sulla porta COM.


ComandO

AT#RTUW=<slaveAddr>,<functCode>,<Reg>,<data>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<slaveAddr>

INDIRIZZO DEL PERIFERICO MODBUS

1 ... 247


<functCode>

CODICE FUNZIONE MODBUS

5  : SCRIVE COIL

6  : SCRIVE 1 HOLDING REGISTER

16 : SCRIVE 2 HOLDING REGISTERS



<Reg>

REGISTRO DAL QUALE INIZIARE LA LETTURA

0 ... 65535


<data>

VALORE DA SCRIVERE, PUò INCLUDERE TAG

0|1: PER COIL

0...65535: PER WORD

0...4294967294: PER DOUBLE


AT#RTUW=3,5,2,1

Richiesta di scrittura con i seguenti parametri:

- indirizzo slave: 3

- function code: 5 (scrittura singolo coil)

- registro modbus di scrittura: 2

- dato da scrivere: 1 (setta il coil)


AT#RTUW=77,6,3456,$V11

Richiesta di scrittura con i seguenti parametri:

- indirizzo slave: 77

- function code: 6 (scrittura holding register)

- registro modbus di scrittura: 3456

- dato da scrivere: valore della variabile "var1" ($V11)


AT#RTUW=207,16,521,$E30

Richiesta di scrittura con i seguenti parametri:

- indirizzo slave: 207

- function code: 16 (scrittura di 2 holding registers per un totale di 32 bit)

- registro modbus di scrittura: 521

- dato da scrivere: contenuto di E30 ($E30)


INVIA A DISPOSITIVO LAN


Invia un messaggio a un dispositivo, identificato con WebID, che condivide la stessa rete locale (LAN).


ComandO

AT#DLAN=<webid>,<text>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<webid>

IDENTIFICATIVO DEL DISPOSITIVO REMOTO


<text>

TESTO DEL MESSAGGIO, PUò INCLUDERE TAG


Per riprodurre il tono 1 sul dispositivo identificato con WebID 3xc11b all'interno della stessa LAN, il testo deve includere la password del dispositivo remoto perché il comando sia eseguito:

AT#DLAN=3xc11b,"0000 at#spk=1"

OK

INVIA A DISPOSITIVO WAN


Invia un messaggio a un dispositivo remoto, identificato con WebID, tramite il server SMM, che deve essere attivo e raggiungibile.


ComandO

AT#DWAN=<webid>,<text>

RIsposTA

OK

COMANDO ACCETTATO


ERROR

COMANDO RIFIUTATO

PARAMETRI

<webid>

IDENTIFICATIVO DEL DISPOSITIVO REMOTO


<text>

TESTO DEL MESSAGGIO, PUò INCLUDERE TAG


Per attivare per 3 secondi l'uscita 4 del dispositivo remoto identificato da WebId 3wa59c, il testo deve includere la password del dispositivo remoto perché il comando sia eseguito:

AT#DWAN=3wa59c,"0000 out4=1,3"

OK


Per trasferire il valore medio misurato dall'ingresso analogico 2 (A22) memorizzandolo nella variabile X del dispositivo remoto identificato da WebId 3wa59c, il testo deve includere la password del dispositivo remoto perché il comando sia eseguito:

AT#DWAN=3wa59c,"0000 varX=$A22"

OK


Per l'invio di comandi ad AviorEco che lavorano in VPN utilizzare le API:

AT#HTTP=POST,www.mobikey.eu/cmd/T/3wa59c/pwd/0000,"out1=1"

OK