Polecenia¶
GSM Kontrolerem można sterować za pomocą różnych poleceń opisanych w tej sekcji.
Pod nazwą każdego polecenia jest oznaczenie gdzie można go użyć:
- Console - Poprzez port szeregowy, przed wysłaniem pierwszego polecenia wymagane podanie kodu dostępu.
- SMS - Poprzez wysłanie polecenia w SMSie na numer karty włożonej do urządzenia, polecenie musi być zawsze poprzedzone kodem dostępu, np.
1234:reboot
. - MQTT - Poprzez wysłanie polecenia w wiadomości MQTT na temat poleceń urządzenia (połączenie prefixu i
/cmd
, np.prefix/cmd
, przy czym odpowiedzi odsyłane na tematprefix/cmdr
).
Wyjścia OUT¶
reboot¶
Console SMS MQTT
Przełącza wyjście/a na stan przeciwny na określony czas (poprzez parameter w poleceniu lub wartość domyślną), a następnie przywraca początkowy stan wyjścia.
Polecenie ma dwa warianty - jeden do włączenia funkcji i drugi do sprawdzenia jej stanu.
reboot=[A][B]
A
- sekwencja numerów wyjść rozdzielonych znakiem,
(wartości0-4
), np.0,1,2,3,4
B
- określenie czasu przełączenia w postacitX
, np.t10
- 10 sekund. Parametr jest opcjonalny i jeśli nie zostanie podany to będzie użyta wartość opcji time.
reboot?
Przykłady:
reboot=3,4
- przełącza wyjścia 3 i 4 na domyślny czas ustawiony przez komendę time.reboot=0,1,3t34
- przełącza wyjścia 0, 1 i 3 na czas 34 sekund.reboot?
- odczytuje aktualny stan funkcji dla wyjść.
on¶
Console SMS MQTT
Załącza wyjście/wyjścia.
on=[A]
A
- sekwencja numerów wyjść rozdzielonych znakiem,
(wartości0-4
), np.0,1,2,3,4
Przykłady:
on=1,2,3,4,0
- załącza wszystkie wyjścia.on=0
- załącza tylko wyjście 0.
off¶
Console SMS MQTT
Wyłącza załączone wyjście.
off=[A]
A
- sekwencja numerów wyjść rozdzielonych znakiem,
(wartości0-4
), np.0,1,2,3,4
Przykłady:
off=1,2
- wyłącza wyjście 1 i 2.
time¶
Console SMS MQTT
Ustawia domyślny czas, na jaki wyjście zostanie przełączone w funkcji reboot, wywołanej bez parametru t.
time=[A]
A
- czas w sekundach
Odczyt wartości:
time?
Przykłady:
time=5
- ustawia czas na 5 sekund.
out¶
Dodane w SW 1.11
Console SMS MQTT
Ustawia stan wyjścia. Polecenie ma dwa warianty - jeden do zmiany stanu na przeciwny a drugi do ustawiania konkretnego stanu (składnia obu wariantów poniżej).
out=[A]
A
- numer wyjścia, liczba całkowita0-4
out[A]=[B]
A
- numer wyjścia, liczba całkowita0-4
B
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości (zobacz też outs):
out?
Przykłady:
out=0
- przełącza wyjście OUT0 na stan przeciwny.out1=1
- włącza wyjście OUT1.out1=0
- wyłącza wyjście OUT1.
remouts¶
Console SMS MQTT
Ustawia zapamiętywanie stanów wyjść, aby zostały przywrócone przy ponownym włączeniu urządzenia.
remouts=[A]
A
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości:
remouts?
Przykłady:
remouts=1
- aktywuje funkcję.remouts=0
- dezaktywuje funkcję.
outs¶
Console SMS MQTT
Odczytuje stan wyjść. Komenda tylko do odczytu.
Wejścia cyfrowe¶
upinpd¶
Console SMS MQTT
Włącza Pull-Up na wejściu cyfrowym INPD1 lub INPD2. Gdy włączone, domyślny stan na wejściu to stan wysoki.
upinpd=[A]
A
- sekwencja numerów wejść cyfrowych rozdzielonych znakiem,
(wartości1-2
), np.0,1
Odczyt wartości (stan dla obu wejść [INPD1],[INPD2]
):
upinpd?
Przykłady:
upinpd=1,2
- wejścia INPD1 i INPD2 w trybie Pull-Up.upinpd?
- odczytuje obecny stan.
downinpd¶
Console SMS MQTT
Wyłącza Pull-Up na wejściach cyfrowych - domyślny stan na wejściu to stan niski.
downinpd=[A]
A
- sekwencja numerów wejść cyfrowych rozdzielonych znakiem,
(wartości1-2
), np.0,1
Przykłady:
downinpd=1,2
- wejścia INPD1 i INPD2 domyślnie w stanie niskim.
inpd¶
Console SMS MQTT
Odczytuje stan wejść cyfrowych (logicznych). Komenda tylko do odczytu.
Czujniki - Wbudowane¶
vinread¶
Console SMS MQTT
Odczytuje wartość VIN (napięcia zasilania). Komenda tylko do odczytu.
vbat¶
Console SMS MQTT
Odczytuje wartość VBAT (napięcia na baterii). Komenda tylko do odczytu.
temp¶
Console SMS MQTT
Odczytuje temperaturę modułu. Komenda tylko do odczytu.
Czujniki - 1-Wire¶
dsread¶
Console SMS MQTT
Odczytuje wartości z 8 czujników DS18B20. Komenda tylko do odczytu.
Czujniki - Wejścia analogowe¶
inpa2sensor¶
Console SMS MQTT
Wybiera obsługę czujnika na INPA2.
inpa2sensor=[A]
A
- numer funkcji wejścia INPA2, liczba całkowita0-12
(lista poniżej)
Odczyt wartości:
inpa2sensor?
Dostępne opcje:
0: Voltage 0-5V
1: ACS711EX 15A
2: ACS711EX 31A
3: ACS709 75A
4: R=0.1
5: R=0.05
6: R=0.01
7: LA100-P
8: ACS711LC 12.5A
9: ACS711LC 25A
10: ACS711LC 20A
11: WCS1800
12: WCS1800 # Dodane w 1.22
Przykłady:
inpa2sensor=1
- wybiera czujnik ACS711EX 15A.
inpa2calib¶
Console SMS MQTT
Ustawia wartość do kalibracji czujnika na INPA2.
inpa2calib=[A]
A
- liczba całkowita-32768 - 32767
Odczyt wartości:
inpa2calib?
Przykłady:
inpa2calib=20
inpa1read¶
Console SMS MQTT
Odczytuje wartość INPA1. Komenda tylko do odczytu.
inpa2read¶
Console SMS MQTT
Odczytuje wartość INPA2. Komenda tylko do odczytu.
Czujniki - Port szeregowy / Modbus¶
usartsensor¶
Console SMS MQTT
Wybiera obsługiwany moduł na porcie szeregowym.
usartsensor=[A]
-
A
- numer modułu, liczba całkowita0-4
Dostępne opcje:
- 0 - brak modułu
- 1 - Danfos EKC202C (modbus)
- 2 - MHZ16/19 CO2
- 3 - GMQ125 Ozon
- 4 - SDM72 (dodane w SW 1.17a)
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
usartsensor?
modbusid¶
Console SMS MQTT
Ustawia ID urządzenia Modbus podłączonego do portu szeregowego.
modbusid=[A]
A
- Modbus ID, liczba całkowita1-255
Odczyt wartości:
modbusid?
modbusread¶
Console SMS MQTT
Odczytuje dane z podłączonego modułu na Modbus.
coread¶
Console SMS MQTT
Odczytuje wartość z czujnika CO2.
ozonread¶
Console SMS MQTT
Odczytuje wartość z czujnika Ozonu.
Czujniki - I2C¶
pminterval¶
Dodane w SW 1.16
Console SMS MQTT
Ustawia czas co jaki będzie się budził czujnik SPS30 i wykonywał odczyty przez 20 sekund.
pminterval=[A]
A
- czas przerwy w sekundach przed pomiarem (20 sekundowym), liczba całkowita0-65535
(dla0
czujnik działa cały czas)
Odczyt wartości:
pminterval?
Przykłady:
pminterval=0
- czujnik działa cały czas.pminterval=20
- czujnik w trybie uśpienia przez 20 sekund, następnie wykonuje odczyty przez 20 sekund.
pmread¶
Dodane w SW 1.16
Console SMS MQTT
Odczytuje wartości z czujnika PM (SPS30).
tread¶
Console SMS MQTT
Odczytuje temperaturę z czujnika BME280/AM2320. Komenda tylko do odczytu.
hread¶
Console SMS MQTT
Odczytuje wilgotność z czujnika BME280/AM2320. Komenda tylko do odczytu.
pread¶
Console SMS MQTT
Odczytuje ciśnienie z czujnika BME280. Komenda tylko do odczytu.
Zarządzanie¶
code¶
Console SMS MQTT
Ustawia kod dostępu (1-4 znaki). Domyślnie 1234.
code=[A]
A
- ciąg od 1 do 4 cyfr0-9
Odczyt wartości:
code?
Przykłady:
code=1234
- ustawia kod 1234.
name¶
Console SMS MQTT
Ustawia nazwę urządzenia (1-31 znaków).
name=[A]
A
- nazwa urządzenia, ciąg od 1 do 31 znaków
Odczyt wartości:
name?
Przykłady:
name=restarter domowy
- ustawia nazwę restarter domowy
upgrade¶
Console SMS MQTT
Uruchamia tryb bootloadera do aktualizacji oprogramowania. Opis procedury aktualizacji dostępny tutaj.
settingsreset¶
Console SMS MQTT
Przygotowuje urządzenie do resetu ustawień, który będzie wykonany przy restarcie urządzenia, np. z polecenia restart.
restart¶
Console SMS MQTT
Restartuje urządzenie.
autorestart¶
Console SMS MQTT
Ustawia czas, po którym urządzenie automatycznie uruchomi się ponownie.
autorestart=[A]
A
- czas w godzinach, liczba całkowita0-255
(wartość0
wyłącza funkcję)
Odczyt wartości:
autorestart?
Przykłady:
autorestart=24
- ustawia restartowanie co 24 godziny.autorestart=0
- dezaktywuje funkcję.
sleep¶
Dodane w SW 1.15
Console SMS MQTT
Włącza funkcję oszczędzania energii.
Przykłady:
sleep=0
- 20mA (średni pobór prądu z baterii Li-Po 7.4V) - pełna funkcjonalność, połączenie MQTT z keepAlive=60.sleep=1
- 13mA - pełna funkcjonalność, połączenie MQTT z keepAlive=60, w porównaniu dosleep=0
modem jest wprowadzany w stan niskiego poboru, ale normalnie pracuje.sleep=3
- 5mA - procesor wstrzymany, brak połączenia MQTT, tylko odbieranie SMSów z komendami i połączeń wzdzwanianych.
Uwaga
Przy zasilaniu bezpośrednio (z pominięciem przetwornicy) z Li-Po 3.7V, prądy są jeszcze mniejsze, ale przy pewnym rozładowaniu baterii jest problem z załączeniem przekaźnika. W takich aplikacjach trzeba by było wymienić przekaźnik na 3.3V.
Modem¶
pin¶
Console SMS MQTT
Ustawia 4 cyfrowy PIN do karty SIM, jeśli karta wymaga podania PINu. Trzeba ustawić taki PIN jak ma ustawiona karta. Komenda nie zmienia PINu na samej karcie.
pin=[A]
A
- ciąg 4 cyfr0-9
Odczyt wartości:
pin?
gprsapn¶
Console SMS MQTT
Ustawia APN, nazwę użytkownika i hasło dla połączeń GPRS.
gprsapn="[A]","[B]","[C]"
A
- APN, domyślnieinternet
B
- nazwa użytkownika, domyślnie pusteC
- hasło, domyślnie puste
Odczyt wartości:
gprsapn?
Przykłady:
gprsapn="internet","user","paswd"
- ustawia APN internet, użytkownika user, hasło paswd.gprsapn="internet","",""
- ustawia APN internet, pustą nazwę i hasło.
cusd¶
Console SMS MQTT
Uruchamia kod USSD i zwraca odpowiedź.
Przykłady:
cusd=*100#
- pokazuje stan konta na karcie operatora PLUS GSM.
signal¶
Console SMS MQTT
Odczytuje siłę sygnału GSM.
imei¶
Console SMS MQTT
Odczytuje IMEI modemu GSM.
debugmodem¶
Console SMS MQTT
Włącza wypisywanie na konsoli wszystkich informacji z modemu GSM.
Zdarzenia¶
acnumber¶
Console SMS MQTT
Ustawia numery, które mają otrzymywać powiadomienia SMS ze zdarzeń. Maksymalnie 4 pozycje.
acnumber=[A]:[B]
A
- pozycja numeru1-4
B
- numer telefonu, ciąg od 7 do 15 cyfr (zalecane stosowanie formatu międzynarodowego E.164 z pominięciem początkowego+
) Pusty parametrB
powoduje usunięcie wartości zapisanej na wskazanej pozycji.
Odczyt wartości:
acnumber?[A]
A
- pozycja numeru1-4
Przykłady:
acnumber=1:666777888
- ustawia podany numer telefonu na pozycji pierwszej.acnumber?1
- odczytuje numer z pozycji pierwszej.
desanalog¶
Console SMS MQTT
Ustawia tekst SMSa dla zdarzenia przy przekroczeniu ustawionego progu w górę lub w dół (w przypadku wejść cyfrowych to odpowiednio stan wysoki i niski).
desanalog=[A]:[B]:[C]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)B
- określa czy ustawienie dla przekroczenia progu w górę czy też w dół, cyfra0-1
C
- tekst powiadomienia, ciąg do 31 znaków
Odczyt wartości (oba teksty [TEKST]@[TEKST]
):
desanalog?[A]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)
Przykłady:
desanalog=1:0:tekstPrzyUP
- ustawia tekst SMSa przy przejściu przez próg w górę, dla VIN.desanalog=1:1:tekstPrzyDOWN
- ustawia tekst SMSa przy przejściu przez próg w dół, dla VIN.
monitoron¶
Console SMS MQTT
Aktywuje monitorowanie danego wejścia (lista pozycji poniżej).
monitoron=[A]
A
- sekwencja numerów wejść rozdzielonych znakiem,
(wartości1-20
, lista pozycji poniżej), np.1,2,3,4
lub1
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
monitoron?
Lista wejść do monitorowania:
1: VIN # pomiar napięcia zasilania, dzielnik 100
2: VBAT # pomiar napięcia na baterii, dzielnik 100
3: INPA1 # pomiar na wejściu analogowym 1, dzielnik 100
4: INPA2 # pomiar na wejściu analogowym 2 - tutaj mogą być podpięte rożne sensory (zobacz komendę inpa2sensor), dzielnik 100
5: TEMP # pomiar temperatury płytki, dzielnik 1
6: T1 # pomiar temperatury z czujnika BME280, dzielnik 10
7: H1 # pomiar wilgotności z czujnika BME280, dzielnik 10
8: HX711 # pomiar z wagi
9: DIFF # pomiar z różnicy wybranych wejść, dzielnik 10
10: DS1 # pomiar z czujnika DS18B20, dzielnik 10
11: DS2 # pomiar z czujnika DS18B20, dzielnik 10
12: DS3 # pomiar z czujnika DS18B20, dzielnik 10
13: DS4 # pomiar z czujnika DS18B20, dzielnik 10
14: DS5 # pomiar z czujnika DS18B20, dzielnik 10
15: DS6 # pomiar z czujnika DS18B20, dzielnik 10
16: DS7 # pomiar z czujnika DS18B20, dzielnik 10
17: DS8 # pomiar z czujnika DS18B20, dzielnik 10
18: P1 # pomiar ciśnienia z czujnika BME280, dzielnik 100
19: INPD1 # wejście logiczne/cyfrowe 1, dzielnik 1
20: INPD2 # wejście logiczne/cyfrowe 2, dzielnik 1
Uwaga
Pomiar 9 (DIFF) nie działa prawidłowo i jest w trakcie rozwoju.
Przykłady:
monitoron=1,2,3,4
- włącza monitorowanie wejść 1, 2, 3, 4.monitoron=1
- włącza monitorowanie wejścia 1 - VIN.monitoron?
- zwraca informację, które wejścia są monitorowane.
monitoroff¶
Console SMS MQTT
Wyłącza monitorowanie danego wejścia.
monitoroff=[A]
A
- sekwencja numerów wejść rozdzielonych znakiem,
(wartości1-20
, lista pozycji w monitoron), np.1,2,3,4
lub1
Przykłady:
monitoroff=1,2
- wyłącza monitorowanie wejścia 1, 2, czyli VIN, VBAT.
vinset¶
Console SMS MQTT
Ustawia wartość dla danego wejścia po której przekroczeniu w górę lub w dół (wraz z histerezą) będzie wykonana akcja. Wartości wpisujemy w liczbach całkowitych (bez przecinków), np. dla VIN równe 12.30V wpisujemy 1230, dla DS1 równe 28.7 wpisujemy 287.
vinset=[A]:[B]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)B
- wartość referencyjna, liczba całkowita
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
vinset?
Przykłady:
vinset=1:1230
- wartość 12.30V dla VIN.vinset=10:287
- wartość 28.7C dla DS1.vinset?
- pokazuje wartości ustawione dla wszystkich wejść.
vinhis¶
Console SMS MQTT
Ustawia histerezę dla danego wejścia. Wartości należy podawać w liczbach całkowitych, np. dla VIN 1.00V wartość 100. Dzielniki są opisane w liście wejść w monitoron.
vinhis=[A]:[B]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)B
- wartość histerezy, liczba całkowita
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
vinhis?
Przykłady:
vinhis=1:100
- wartość 1.00V dla VIN.vinhis=10:10
- wartość 1.0C dla DS1.
vindelay¶
Console SMS MQTT
Ustawia opóźnienie po którym zadziała akcja na danym zdarzeniu, jeśli nie ustąpi stan jego przekroczenia. Dla wartości 0 brak opóźnienia. Służy do eliminacji niepotrzebnych powiadomień jak sygnał zmienia się tylko na akceptowalny przez nas czas. Np. temperatura spadła poniżej zadanej ale tylko na 30 sekund, a później wróciła, jeśli czas vindelay był ustawiony na więcej niż 30 sekund nie dostaniemy powiadomienia SMS lub akcji na wyjściach.
vindelay=[A]:[B]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)B
- wartość opóźnienia w sekundach, liczba całkowita
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
vindelay?
Przykłady:
vindelay=1:5
- ustawia 5 sekundowe opóźnienie akcji dla VIN.vindelay=1:0
- usuwa opóźnienie akcji dla VIN.
vinupout¶
Console SMS MQTT
Wybór akcji przy przekroczeniu progu vinset w górę.
vinupout=[A]:[B]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)-
B
- wybór akcji, liczba całkowita0-25
Dostępne akcje:
- 1 - wysyła SMSa o treści ustawionej komendą desanalog.
- 2 - ustawia wyjście (wybrane komendą vinoutset) jak przy komendzie reboot, czyli załącza na określony czas.
- 4 - załącza wyjście (wybrane komendą vinoutset) jak przy komendzie on.
- 8 - wyłącza wyjście (wybrane komendą vinoutset) jak przy komendzie off.
- 16 - wysyła przez MQTT aktualną wartość zdarzenia.
Aby wybrać więcej niż jedną akcję, należy wpisać sumę wybranych pozycji. Przykładowo dla SMS i reboot wpisujemy 3, dla SMS i on wpisujemy 5, dla SMS i off wpisujemy 9.
Należy wybrać najwyżej jedną z opcji kontrolujących wyjście: on/off/reboot.
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
vinupout?
Przykłady:
vinupout=1:1
- ustawia akcję SMS dla VIN.
vindownout¶
Console SMS MQTT
Wybór akcji przy przekroczeniu progu vinset w dół.
vindownout=[A]:[B]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)-
B
- wybór akcji, liczba całkowita0-25
Dostępne akcje jak w vinupout.
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
vindownout?
Przykłady:
vindownout=1:1
- ustawia akcję SMS dla VIN.
vinoutset¶
Console SMS MQTT
Wybór wyjścia, które będzie podlegało akcji reboot, on, off.
vinoutset=[A]:[B]
A
- numer powiązanego odczytu, liczba1-20
(lista wejść w monitoron)-
B
- numer wyjścia, liczba całkowita0-4
Dostępne wyjścia:
- 0 - OUT0 przekaźnik na płytce
- 1 - OUT1 wyjście 1 na płytce expandera
- 2 - OUT2 wyjście 2 na płytce expandera
- 3 - OUT3 wyjście 3 na płytce expandera
- 4 - OUT4 wyjście 4 na płytce expandera
Odczyt wartości (sekwencja par [NUMER]-[STAN]
rozdzielonych ,
):
vinoutset?
Przykłady:
vinoutset=1:0
- ustawia wyjście OUT0 do akcji dla VIN.
Funkcja call¶
number¶
Console SMS MQTT
Ustawia jeden ze 100 numerów telefonu, które będą mogły wywoływać funkcję call po zadzwonieniu na numer GSM Kontrolera.
number=[A]:[B]
A
- pozycja numeru1-100
B
- numer telefonu, ciąg od 7 do 15 cyfr (zalecane stosowanie formatu międzynarodowego E.164 z pominięciem początkowego+
) Pusty parametrB
powoduje usunięcie wartości zapisanej na wskazanej pozycji.
Odczyt wartości:
number?[A]
A
- pozycja numeru1-100
Przykłady:
number=1:666777888
- ustawia podany numer telefonu na pozycji pierwszej.number?1
- odczytuje numer z pozycji pierwszej.
call¶
Console SMS MQTT
Ustawia akcję dla funkcji call, czyli przy dzwonieniu na numer urządzenia.
call=[A]
Odczyt wartości:
call?
Przykłady:
call=reboot=1,2t3
- przy dzwonieniu będzie wywoływana funkcja reboot z zadanymi parametrami.call=on
- akcja załączania wyjścia 0.call=off
- akcja wyłączania wyjścia 0.
W SW 1.27 dodano funkcję wysyłania numeru dzwoniącego po MQTT na temat prefix/callnum
. Numer musi być autoryzowany - dodany do listy poleceniem number.
HTTP¶
httpurl¶
Console SMS MQTT
Ustawia URL, na który ma być wysyłane zapytanie HTTP GET. Można w nim wstawiać odczyty z czujników za pomocą #XX, gdzie XX to numer odpowiadający odczytowi (lista dostępna w opisie mqttselect). Zapytanie jest zawsze wysyłane na port 80.
httpurl=[A]
A
- uproszczony URL zapytania w formacie[DOMENA LUB IP][ŚCIEŻKA]
Odczyt wartości:
httpurl?
Przykłady:
httpurl=api.thingspeak.com/update?key=H2PN0O35KRVRG6Q0&field1=#5&field2=#6
- zapytanie do serwisu thingspeak z odczytami VIN i VBAT.
httpsend¶
Console SMS MQTT
Wysyła zapytanie HTTP GET na adres URL wpisany w httpurl.
httpautosend¶
Console SMS MQTT
Ustawia okres wysyłania zapytań HTTP GET httpurl.
httpautosend=[A]
A
- okres wysyłania w sekundach, liczba całkowita0-65535
(wartość0
wyłącza funkcję)
Odczyt wartości:
httpautosend?
Przykłady:
httpautosend=15
- wysyłanie co 15 sekund. Minimalna wartość to 10 sekund, w razie wpisania mniejszej od 10 ale większej od 0 będzie ustawione 10.httpautosend=0
- wyłączenie wysyłania.
MQTT¶
mqttserver¶
Console SMS MQTT
Ustawia adres serwera MQTT, akceptowana wartość to domena lub adres IP.
mqttserver=[A]
A
- adres serwera MQTT - domena lub adres IP
Odczyt wartości:
mqttserver?
Przykłady:
mqttserver=mqtt.ats.pl
mqttport¶
Console SMS MQTT
Ustawia port serwera MQTT.
mqttport=[A]
A
- port serwera MQTT
Odczyt wartości:
mqttport?
Przykłady:
mqttport=1883
tls¶
Dodane w SW 1.29
Console SMS MQTT
Określa czy połączenie MQTT ma korzystać z szyfrowania lub nie. Do wersji SW 1.29 użycie szyfrownaia zależało od wartości mqttport - dla portów poniżej 8000
połączenie nie bylo szyfrowane.
tls=[A]
A
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości:
tls?
Przykłady:
tls=1
- włącza obsługę szyfrowania
mqttuser¶
Console SMS MQTT
Ustawia nazwę użytkownika do uwierzytelnienia przy połączeniu MQTT.
mqttuser=[A]
A
- nazwa użytkownika, ciąg znaków
Odczyt wartości:
mqttuser?
Przykłady:
mqttuser=user
mqttpass¶
Console SMS MQTT
Ustawia hasło do uwierzytelnienia przy połączeniu MQTT.
mqttpass=[A]
A
- hasło, ciąg znaków
Odczyt wartości:
mqttpass?
Przykłady:
mqttpass=pass
mqttkeepalive¶
Console SMS MQTT
Ustawia parametr KeepAlive dla połączenia MQTT. Zwykle powinien mieć taką samą wartość jak mqttsend.
mqttkeepalive=[A]
A
- wartość KeepAlive, liczba całkowita
Odczyt wartości:
mqttkeepalive?
Przykłady:
mqttkeepalive=300
mqttid¶
Console SMS MQTT
Ustawia prefix tematów MQTT - definiuje na jakie tematy będą wysyłane odczyty oraz na jakim temacie kontroler będzie nasłuchiwał na polecenia i odsyłał odpowiedzi (mqttid/cmd
, mqttid/cmdr
).
mqttid=[A]
A
- prefix tematów MQTT, ciąg znaków
Odczyt wartości:
mqttid?
Przykłady:
mqttid=prefix/qwe
mqttsend¶
Console SMS MQTT
Ustawia okres wysyłania odczytów po MQTT wybranych przez mqttselect.
mqttsend=[A]
A
- okres wysyłania w sekundach, liczba całkowita0-65535
(wartość0
wyłącza funkcję)
Odczyt wartości:
mqttsend?
Przykłady:
mqttsend=300
- ustawia okres na 300s.
mqttread¶
Console SMS MQTT
Ustawia ilość odczytów do wysłania w wiadomości MQTT co mqttsend. Domyślnie to 1 - pojedynczy odczyt w wiadomości, maksymalnie 12. Dla wartości większej niż 1 wiadomość będzie zawierać zadaną ilość odczytów, zapisanych w formacie [odczyt1,odczyt2]
(pomiary wykonywane co mqttsend/mqttread
, a wysyłanie co mqttsend
).
mqttread=[A]
A
- ilość odczytów w jednej wiadomości, liczba całkowita1-12
Odczyt wartości:
mqttread?
mqttselect¶
Console SMS MQTT
Wybiera, które odczyty mają być wysyłane cyklicznie po MQTT. Ustawianie działa na zasadzie przełączenia, tj. podane pozycje sa włączane gdy były wyłączone lub wyłączane gdy były włączone.
Lista odczytów:
0: vin_adc
1: vbat_adc
2: inpa1_adc
3: inpa2_adc
4: temp_adc
5: vin
6: vbat
7: inpa1
8: inpa2
9: temp
10: t1
11: h1
12: hx711
13: diff
14: ds1
15: ds2
16: ds3
17: ds4
18: ds5
19: ds6
20: ds7
21: ds8
22: inpd1i
23: inpd2i
24: uptime
25: p1
26: signal
27: inpd1
28: inpd2
29: co2
30: ozon
31: pm1 # dodane w SW 1.16
32: pm2 # dodane w SW 1.16
33: pm4 # dodane w SW 1.16
34: pm10 # dodane w SW 1.16
35: se1 # dodane w SW 1.17a
36: se2 # dodane w SW 1.17a
37: se3 # dodane w SW 1.17a
38: se4 # dodane w SW 1.17a
39: se5 # dodane w SW 1.17a
40: se6 # dodane w SW 1.17a
41: se7 # dodane w SW 1.17a
42: se8 # dodane w SW 1.17a
43: se9 # dodane w SW 1.17a
44: se10 # dodane w SW 1.17a
mqttselect=[A]
A
- sekwencja numerów odczytów rozdzielonych znakiem,
(wartości0-44
, lista powyżej), np.0,1,2,3,4
. Stan wybranych odczytów jest zmieniany na przeciwny - aktywowane lub dezaktywowane.
Odczyt wartości:
mqttselect?
Przykłady:
mqttselect=1,2,3
- zmienia stan funkcji dla pozycji 1, 2 i 3.
mqtttest¶
Console SMS MQTT
Wysyła jednorazowo dane wybrane przez mqttselect po MQTT.
mqttbackup¶
Console SMS MQTT
WIP
W razie braku zasięgu, zapisuje w pamieci dane do wysłania, tak by przy odnowieniu połączenia wysłać zebrane dane w kilku pakietach.
mqttbackup=[A]
A
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości:
mqttbackup?
Przykłady:
mqttbackup=1
- aktywuje funkcję.mqttbackup=0
- dezaktywuje funkcję.
mqttconfigdone¶
Console SMS MQTT
Określa czy konfiguracja MQTT została wykonana. W razie łączenia z brokerem innym niż mqtt.ats.pl należy ustawić na 1 i ustawić parametry połączenia MQTT innymi poleceniami.
mqttconfigdone=[A]
A
- stan do ustawienia, liczba całkowita0-1
(1
- konfiguracja MQTT wykonana, do połączenia używane dane w mqttserver, itp.)
Odczyt wartości:
mqttconfigdone?
Przykłady:
mqttconfigdone=1
- zatwierdza, że konfiguracja MQTT wykonana - po restarcie będzie się próbował połączyć używając mqttserver, itp..mqttconfigdone=0
- po restarcie będzie się łączył z konfiguracyjnym serwerem mqtt.ats.pl.mqttconfigdone?
- odczytuje stan flagi.
SMS¶
smssend¶
Console SMS MQTT
Wysyła SMS na wskazany numer telefonu.
smssend=[A]:[B]
A
- numer telefonu (od 7 do 15 cyfr)B
- treść wiadomości
Przykłady:
smssend=123456789:hello
- wysła SMS o treści hello na numer 123456789.
smsread¶
Console SMS MQTT
Włącza wypisywanie na konsoli odbieranych SMSów.
smsread=[A]
A
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości:
smsread?
Przykłady:
smsread=1
- włącza wypisywanie.smsread=0
- wyłącza funkcję.
authsms¶
Console SMS MQTT
Włącza sprawdzanie czy numer telefonu, z którego przyszedł SMS z poleceniem jest na liscie zaufanych numerów (number). Gdy funkcja jest wyłączona (domyślny stan), każdy może wysłać polecenie jeśli zna kod dostępu (code) i numer karty w urządzeniu.
authsms=[A]
A
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości:
authsms?
Przykłady:
authsms=1
- aktywuje funkcję.authsms=0
- dezaktywuje funkcję.
smsconfirm¶
Console SMS MQTT
Włącza wysyłanie SMSa zwrotnego po komendach. Domyślnie włączone - wartość 1.
Możliwe odpowiedzi to:
sets ok
,set ok
- pomyślnie przyjęte polecenie.no arguments
- brak wymaganych parametrów dla polecenia.wrong arguments
- niewłaściwe wartości parametrów polecenia.wrong command
- polecenie nie istnieje.- w przypadku poleceń odczytu w odpowiedzi są żądane informacje.
smsconfirm=[A]
A
- stan do ustawienia, liczba całkowita0-1
Odczyt wartości:
smsconfirm?
Przykłady:
smsconfirm=1
- aktywuje potwierdzenia SMS.smsconfirm=0
- dezaktywuje potwierdzenia SMS.
Harmonogram¶
sched¶
Dodane w SW 1.30
Console SMS MQTT
Zapisuje lub odczytuje ustawienia harmonogramu. Umożliwia sterowanie wyjściami OUT w zadanych godzinach w cyklu tygodniowym. Można ustawić maksymalnie 20 wpisów, które będą włączać lub wyłączać wyjście o określonej godzinie w wybrane dni tygodnia.
Polecenie ma dwa warianty (do zapisu i do odczytu):
sched=[A]:[B]*[C]*[D]*[E]*[F]
A
- numer pozycji0-19
B
- określa czy pozycja jest aktywna,0-1
(wyłączona/włączona)C
- numer wyjścia OUT0-4
D
- stan wyjścia do ustawienia0-1
(wyłączone/włączone)E
- dni tygodnia, suma wartości dla wybranych dni (liczba0-127
):1
- poniedziałek,2
- wtorek,4
- środa,8
- czwartek,16
- piątek,32
- sobota,64
- niedzielaF
- godzina działania w formaciehh:mm:ss
, np.10:54:10
sched?[A]
A
- numer pozycji0-19
Przykłady:
sched=0:1*0*1*127*9:38:11
- ustawia i aktywuje wpis harmonogramu na pozycji 0, który włączy wyjscie OUT0 o 9:38:11 każdego dnia tygodnia.sched=0:0*0*0*0*0:0:0
- usuwa i dezaktywuje wpis harmonogramu na pozycji 0.sched?0
- odczytuje ustawienie harmonogramu na pozycji 0 (0-19
).
clock¶
Dodane w SW 1.30
Console SMS MQTT
Odczytuje czas i wypisuje go na konsoli.
Inne¶
version¶
Console SMS MQTT
Pokazuje aktualną wersję sprzętu (HW) i oprogramowania (SW). Komenda tylko do odczytu.
uptime¶
Console SMS MQTT
Pokazuje ilość czasu jaka upłynęła od włączenia urządzenia. Komenda tylko do odczytu.
status¶
Dodane w SW 1.23
Console SMS MQTT
Zwraca informacje o stanie urządzenia, takie jak stan połączenia z siecią, stan połączenia MQTT i zliczone błędy modemu.
Przykłady:
status
- wywołanie bez parametrów z przykładową odpowiedziąsim ready=1,net=2,1,mqtt_send=0, mqtt_con=1,err=0
.
Opis odpowiedzi:
-
sim ready
sim ready=0
- problem z kartą lub PINem do kartysim ready=1
- karta OK
-
net
net=0,Y
- niezalogowany do siecinet=1,Y
- zalogowany do siecinet=2,Y
- zalogowany do sieci, połączenie GPRS/LTEnet=X,0
- niezalogowany do sieci (odczyt z modemu)net=X,1
- zalogowany do sieci (odczyt z modemu)
Wartości
X
iY
powinny się pokrywać z wyjątkiemnet=2,1
. -
mqtt_conn
mqtt_conn=0
- brak połączenia MQTTmqtt_conn=1
- aktywne połączenie MQTT
-
mqtt_send
mqtt_send=0
- nie jest w trakcie wysyłania danych po MQTTmqtt_send=1
- jest w trakcie wysyłania danych po MQTT, stan powinien występować bardzo krótko (do kilku sekund), dłuższe czasy oznaczają problemy z wysyłaniem
-
err
- licznik błędów zwracanych przez modem, po zliczeniu 6 moduł jest restartowany
adcprint¶
Console SMS MQTT
Wyświetla stany poszczególnych wejść co 2 sekundy na konsoli.
Przykłady:
adcprint=1
- wyświetla wartości z VIN, PT1000, INPA1, INPA2, DTHT (DHT temperatura), DTHH (DHT wilgotność), dla napięcia do uzyskania wyniku w Voltach wartość trzeba podzielić przez 100, dla PT1000 i DHT podzielić przez 10.adcprint=2
- wyświetla wartości bezpośrednio z 12 bitowego przetwornika dla wejść analogowych VIN, PT1000, INPA1, INPA2 (bez żadnych przeliczeń na napięcie jak wyżej), wartości mogą się zmieniać od 0 do 4096, w zależności od wielkości mierzonego napięcia, np. dla INPA1 - dla 0 Voltów będzie wartość 0, dla 35V będzie zbliżona do 4096, dla INPA2 - dla 0 woltów będzie 0, dla 3,3V będzie zbliżona do 4096.adcprint=3
- wyświetla wartości z czujników DS18B20, wynik trzeba podzielić przez 10.adcprint=0
- wyłącza wyświetlanie wyżej wymienionych wartości.
help¶
Console SMS MQTT
Wyświetla listę dostępnych komend na konsoli.
inpread¶
Console SMS MQTT
Odczytuje wartości z czujników.
Przykładowa odpowiedź:
inpread=0,2,1709,4095,1744,2395,450,0,0,34,64936,64936,-1,-2,-600,-600,-600,-600,-600,-600,-600,-600,0,0,115,-600,-520,1,1,0,0,0,0,0,0,0,0,0,0,0,0
Zawartość odpowiedzi:
adc[0],adc[1],adc[2],adc[3],adc[4],VIN,VBAT,INP1A,INP2A,TEMP,T1,H1,HX711,DIFF,DS1,DS2,DS3,DS4,DS5,DS6,DS7,DS8,inpd1i_licznik,inpd2i_licznik,uptime,P1,signal,INP1D_bb,INP2D_bb,REBOOT_Flaga.bits.b0,REBOOT_Flaga.bits.b1,REBOOT_Flaga.bits.b2,REBOOT_Flaga.bits.b3,REBOOT_Flaga.bits.b4,ON_Flaga.bits.b0,ON_Flaga.bits.b1,ON_Flaga.bits.b2,ON_Flaga.bits.b3,ON_Flaga.bits.b4,MHZ16,OZON
Uwagi do odpowiedzi:
REBOOT_Flaga.bits.bx
- wskazuje czy wyjście jest akurat w trakcie funkcji reboot (w trakcie wartość 1).On_Flaga.bits.bx
- stan wyjścia (1 - włączone, 0 - wyłączone).MHZ16
- odczyt CO2.OZON
- odczyt czujnika ozonu.
setread¶
Console SMS MQTT
Odczytuje ustawienia urządzenia, zaleznie od parametru odczytywane są inne ustawienia.
setread=[A]
A
- wybór grupy parametrów do odczytu, liczba całkowita1-2
(szczegóły w przykładach poniżej)
Przykłady:
setread=1
- zwraca 155 pozycji rozdzielonych ~: version, name, code, pin, time, call, monitor (liczba, której kolejne 20 bitów w zapisie binarnym odpowiadają odczytom do zdarzeń monitoron), apn, httpURL, httpAutoSend, upinpd (INPD1), upinpd (INPD2), mqttPeriod (okres wysyłania), mqttHost, mqttPrefix, mqttConfigDone, mqttPort, mqttKeepalive, mqttRead, mqttSelect (32 młodsze bity mqttselect), mqttUsername, mqttPassword, mqttBackup, authSMS, smsConfirm, autoRestart, inpa2Sensor, inpa2Calib, remouts, acnumbers (4 kolejne pozycje), actionValue (próg do zdarzenia, 20 kolejnych pozycji), actionHist (histereza do zdarzenia, 20 kolejnych pozycji), actionOn (akcja przy przekroczeniu progu w górę, 20 kolejnych pozycji), actionOff (akcja przy przekroczeniu progu w dół, 20 kolejnych pozycji), actionOutput (wyjście powiązane z zdarzeniem, 20 kolejnych pozycji), actionDelay (opóźnienie vindelay do zdarzenia, 20 kolejnych pozycji), imei, mqttSelect (32 starsze bity mqttselect).setread=2
- 40 pozycji rozdzielonych ~: textOn, textOff (20 par, tekst dla zdarzeń - przy przejściu w górę i w dół).
setread=1
- zwraca 154 pozycje rozdzielonych ~: version, name, code, pin, time, call, monitor (liczba, której kolejne 20 bitów w zapisie binarnym odpowiadają odczytom do zdarzeń monitoron), apn, httpURL, httpAutoSend, upinpd (INPD1), upinpd (INPD2), mqttPeriod (okres wysyłania), mqttHost, mqttPrefix, mqttConfigDone, mqttPort, mqttKeepalive, mqttRead, mqttSelect (liczba, której 31 kolejnych bitów w zapisie binarnym odpowiada z mqttselect), mqttUsername, mqttPassword, mqttBackup, authSMS, smsConfirm, autoRestart, inpa2Sensor, inpa2Calib, remouts, acnumbers (4 kolejne pozycje), actionValue (próg do zdarzenia, 20 kolejnych pozycji), actionHist (histereza do zdarzenia, 20 kolejnych pozycji), actionOn (akcja przy przekroczeniu progu w górę, 20 kolejnych pozycji), actionOff (akcja przy przekroczeniu progu w dół, 20 kolejnych pozycji), actionOutput (wyjście powiązane z zdarzeniem, 20 kolejnych pozycji), actionDelay (opóźnienie vindelay do zdarzenia, 20 kolejnych pozycji), imei.setread=2
- 40 pozycji rozdzielonych ~: textOn, textOff (20 par, tekst dla zdarzeń - przy przejściu w górę i w dół).
numread¶
Console SMS MQTT
Odczytuje numery autoryzowane do funkcji call.
numread=[A]
A
- liczba całkowita1-2
,1
- numery z pozycji 1-50,2
- numery z pozycji 51-100
Przykłady:
numread=1
- numery z pozycji 1-50, rozdzielone ~.numread=2
- numery z pozycji 51-100, rozdzielone ~.