Przejdź do treści

Klient HTTP

Strona Klient HTTP umożliwia skonfigurowanie okresowego wysyłania żądań HTTP, a także żądań HTTP do wykorzystania w funkcji Zdarzenia.

Klient HTTP

Elementy strony

Formularz konfiguracji klienta HTTP zawiera pola:

  • włączenia funkcji wysyłania za pośrednictwem modułu GSM zamiast połączenia Ethernet
  • włącz cykliczne wysyłanie zapytań na pierwszy adres
  • okres wysyłania cyklicznego zapytania
  • adresy serwerów lub raczej adresy URL do zapytania (do 4), w formacie <host>:<port>/<ścieżka>

Konfiguracja klienta HTTP

Klient wysyła zapytania HTTP metodą GET na wskazany serwer i port co określony czas.

W zapytaniu można wstawić wartości z czujników przy pomocy specjalnego wyrażenia %XXAB, przy czym B jest tylko używane w OLED, a w kliencie HTTP pomijane. Więcej informacji na ten temat tutaj.

Przykładowe zapytanie HTTP GET do serwera thingspeak, zapisujące wartość z czujnika T1 na serwer

W pole Adres serwera wpisać:

api.thingspeak.com:80/update?api_key=H2PN0O35KRVRG6Q0&field1=%141

W efekcie na serwer wysyłany jest następujący tekst, w którym można zauważyć podstawienie wartości czujnika we wskazane miejsce:

update?api_key=H2PN0O35KRVRG6Q0&field1=26.3

Zapytanie można też wysłać ręcznie z poziomu przeglądarki internetowej bez udziału LK3 poprzez wklejenie/wpisanie poniższego tesktu w pasku wyszukiwania:

http://api.thingspeak.com/update?api_key=H2PN0O35KRVRG6Q0&field1=26.3

Pełna zawartość zapytania:

GET /update?api_key=H2PN0O35KRVRG6Q0&field1=26.3 HTTP/1.0
Host: api.thingspeak.com
Connection: close

Kody odczytów

Bieżące odczyty z czujników i wybrane parametry z urządzenia mogą być pobierane przy pomocy specjalnego formatu do zapytań klienta HTTP oraz wyświetlania na wyświetlaczu OLED.

Format dla klienta HTTP to %XXA, a dla OLED %XXAB (z dodatkowym parametrem B).

  • % – znak rozpoczynający specjalny format
  • XX – numer czujnika, koniecznie dwucyfrowa wartość (lista kodów poniżej)
  • A – dzielnik, zakres 0-3, pozwala dopasować miejsce po przecinku dla konkretnego odczytu, ponieważ wartości są zwracane w liczbach całkowitych

    • 0 – nie dziel wartości
    • 1 – podziel przez 10
    • 2 – podziel przez 100
    • 3 – podziel przez 1000

    Inny efekt dzielnika dla niektórych odczytów

    W przypadku niektórych zmiennych dzielnik A działa inaczej:

    • UPTIME:
      • 0 - wartość w sekundach
      • 1 - wartość w minutach
      • 2 - wartość w sekundach
      • 3 - wartość w godzinach
    • Time:
      • 0 - hh:mm:ss
      • 1 - hhmmss
    • Date:
      • 0 - yyyy-mm-dd
      • 1 - yyyymmdd

    Zalecane ustawienia dzielnika

    Dzielnik powinien przyjmować następujące wartości aby odczyty były w tym samym formacie jak na stronie:

    • 0 dla OUT, PWM, INPD, INPA_RAW, CO2
    • 1 dla T1, H1, DS, PM
    • 2 dla P1, INPA, VCC/VIN, TEMP
    • 3 dla POWER, ENERGY

    Dla DIFF1-3 wartość A zależnie od wybranych odczytów powinien wynosić 1, 2 lub 3.

  • B - obcinacz, zakres 0-9, skraca zapis o zadaną ilość znaków

Lista kodów odczytów

{
    "00": "INPA1",
    "01": "INPA2",
    "02": "INPA3",
    "03": "INPA4",
    "04": "INPA5",
    "05": "INPA6",
    "06": "VIN",
    "07": "INPA1_RAW",
    "08": "INPA2_RAW",
    "09": "INPA3_RAW",
    "10": "INPA4_RAW",
    "11": "INPA5_RAW",
    "12": "INPA6_RAW",
    "13": "TEMP",
    "14": "T1",
    "15": "H1",
    "16": "DS1",
    "17": "DS2",
    "18": "DS3",
    "19": "DS4",
    "20": "DS5",
    "21": "DS6",
    "62": "DS7",
    "63": "DS8",
    "22": "DIFF1",
    "23": "DIFF2",
    "81": "DIFF3",
    "35": "POWER1",
    "36": "POWER2",
    "37": "POWER3",
    "38": "POWER4",
    "39": "ENERGY1",
    "40": "ENERGY2",
    "41": "ENERGY3",
    "42": "ENERGY4",
    "43": "OUT0",
    "44": "OUT1",
    "45": "OUT2",
    "46": "OUT3",
    "47": "OUT4",
    "48": "OUT5",
    "49": "PWM0",
    "50": "PWM1",
    "51": "PWM2",
    "52": "PWM3",
    "53": "INPD1",
    "54": "INPD2",
    "55": "INPD3",
    "56": "INPD4",
    "65": "PM1.0",
    "57": "PM2.5",
    "66": "PM4.0",
    "58": "PM10.0",
    "59": "P1",
    "60": "CO2",
    "61": "UPTIME",
    "64": "IP",
    "67": "sdm1 (Voltage/Total system power)",
    "68": "sdm2 (Current/Import Energy since last reset)",
    "69": "sdm3 (Active power/Export Energy since last reset)",
    "70": "sdm4 (Apparent power/Total Energy)",
    "71": "sdm5 (Reactive power/Settable total Energy)",
    "72": "sdm6 (Power factor/Settable import Energy)",
    "73": "sdm7 (Phase angle/Settable export Energy)",
    "74": "sdm8 (Frequency/Import power)",
    "75": "sdm9 (Import active energy/Export power)",
    "76": "sdm10 (Export active energy/-)",
    "77": "sdm11 (Import reactive energy/-)",
    "78": "sdm12 (Export reactive energy/-)",
    "79": "sdm13 (Total active energy/-)",
    "80": "sdm14 (Total reactive energy/-)",
    "24": "DUX0",
    "26": "DUX1",
    "28": "DUX2",
    "30": "DUX3",
    "32": "DUX4",
    "34": "DUX5",
    "25": "DUX6",
    "27": "DUX7",
    "29": "DUX8",
    "31": "DUX9",
    "33": "DUX10",
}