Przejdź do treści

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 temat prefix/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ści 0-4), np. 0,1,2,3,4
  • B - określenie czasu przełączenia w postaci tX, 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ści 0-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ści 0-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łkowita 0-4
out[A]=[B]
  • A - numer wyjścia, liczba całkowita 0-4
  • B - stan do ustawienia, liczba całkowita 0-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łkowita 0-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ści 1-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ści 1-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łkowita 0-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łkowita 0-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łkowita 1-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łkowita 0-65535 (dla 0 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 cyfr 0-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łkowita 0-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 do sleep=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 cyfr 0-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ślnie internet
  • B - nazwa użytkownika, domyślnie puste
  • C - 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 numeru 1-4
  • B - numer telefonu, ciąg od 7 do 15 cyfr (zalecane stosowanie formatu międzynarodowego E.164 z pominięciem początkowego +) Pusty parametr B powoduje usunięcie wartości zapisanej na wskazanej pozycji.

Odczyt wartości:

acnumber?[A]
  • A - pozycja numeru 1-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, liczba 1-20 (lista wejść w monitoron)
  • B - określa czy ustawienie dla przekroczenia progu w górę czy też w dół, cyfra 0-1
  • C - tekst powiadomienia, ciąg do 31 znaków

Odczyt wartości (oba teksty [TEKST]@[TEKST]):

desanalog?[A]
  • A - numer powiązanego odczytu, liczba 1-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ści 1-20, lista pozycji poniżej), np. 1,2,3,4 lub 1

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ści 1-20, lista pozycji w monitoron), np. 1,2,3,4 lub 1

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, liczba 1-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, liczba 1-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, liczba 1-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, liczba 1-20 (lista wejść w monitoron)
  • B - wybór akcji, liczba całkowita 0-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, liczba 1-20 (lista wejść w monitoron)
  • B - wybór akcji, liczba całkowita 0-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, liczba 1-20 (lista wejść w monitoron)
  • B - numer wyjścia, liczba całkowita 0-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 numeru 1-100
  • B - numer telefonu, ciąg od 7 do 15 cyfr (zalecane stosowanie formatu międzynarodowego E.164 z pominięciem początkowego +) Pusty parametr B powoduje usunięcie wartości zapisanej na wskazanej pozycji.

Odczyt wartości:

number?[A]
  • A - pozycja numeru 1-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]
  • A - treść polecenia do wykonania, dostępne reboot, on i off (tylko w wariancie ustawiajacym)

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łkowita 0-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łkowita 0-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łkowita 0-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łkowita 1-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ści 0-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łkowita 0-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łkowita 0-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łkowita 0-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łkowita 0-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łkowita 0-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 pozycji 0-19
  • B - określa czy pozycja jest aktywna, 0-1 (wyłączona/włączona)
  • C - numer wyjścia OUT 0-4
  • D - stan wyjścia do ustawienia 0-1 (wyłączone/włączone)
  • E - dni tygodnia, suma wartości dla wybranych dni (liczba 0-127): 1 - poniedziałek, 2 - wtorek, 4 - środa, 8 - czwartek, 16 - piątek, 32 - sobota, 64 - niedziela
  • F - godzina działania w formacie hh:mm:ss, np. 10:54:10
sched?[A]
  • A - numer pozycji 0-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 karty
    • sim ready=1 - karta OK
  • net

    • net=0,Y - niezalogowany do sieci
    • net=1,Y - zalogowany do sieci
    • net=2,Y - zalogowany do sieci, połączenie GPRS/LTE
    • net=X,0 - niezalogowany do sieci (odczyt z modemu)
    • net=X,1 - zalogowany do sieci (odczyt z modemu)

    Wartości X i Y powinny się pokrywać z wyjątkiem net=2,1.

  • mqtt_conn

    • mqtt_conn=0 - brak połączenia MQTT
    • mqtt_conn=1 - aktywne połączenie MQTT
  • mqtt_send

    • mqtt_send=0 - nie jest w trakcie wysyłania danych po MQTT
    • mqtt_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łkowita 1-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łkowita 1-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 ~.