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 LTE zamiast połączenia Ethernet (opcja dostępna tylko z modułem LTE)
  • używanie podwójnego znaku % do wstawiania odczytów z urządzenia (pozwala na wprowadzanie znaku %)
  • używanie Digest Authentication (po próbie z Basic Authentication)
  • konfiguracja cyklicznego wysyłania
    • włączenie funkcji
    • okres wysyłania
    • adres URL do użycia w żądaniu
  • konfiguracja dla funkcji Zdarzenia (4 sekcje HTTP1-4)
    • adres URL do użycia przy spełnieniu warunku
    • adres URL do użycia gdy warunek przestaje być spełniony

Konfiguracja klienta HTTP

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

W zapytaniu można wstawić odczyty dostępne na urządzeniu za pomocą specjalnego wyrażenia %XXXA. Więcej informacji na ten temat tutaj.

Przykładowe zapytanie HTTP GET do serwera thingspeak z odczytem T1

W pole Adres serwera wpisać:

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

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 tcPDU poprzez wklejenie/wpisanie poniższego tekstu 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, wyświetlania na wyświetlaczu OLED, tekstów emaili oraz SMSów.

Format wstawiania odczytów to %XXXA, gdzie:

  • % – znak rozpoczynający specjalny format
  • XXX – numer czujnika, koniecznie trzycyfrowa wartość (lista kodów poniżej)
  • A – zakres 0-3, zwykle określa liczbę miejsc po przecinku, ale dla niektórych odczytów ma specjalne działanie

    • 0 – bez miejsc dziesiętnych
    • 1 – 1 miejsce dziesiętne
    • 2 – 2 miejsca dziesiętne
    • 3 – 3 miejsca dziesiętne

    Specjalne działanie parametru A dla wybranych odczytów

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

    • UPTIME:
      • 0 - wartość w sekundach
      • 1 - wartość w minutach
      • 2 - wartość w godzinach
      • 3 - wartość w formacie dd hh:mm:ss
    • Time:
      • 0 - hh:mm:ss
      • 1 - hhmmss
    • Date:
      • 0 - yyyy-mm-dd
      • 1 - yyyymmdd
    • OUT1-7, VAR1-8, INPD1-2 (tylko w OLED):
      • 0 - tekst 0 lub 1
      • 1 - graficzna reprezentacja stanu (0 to pusty kwadrat, 1 to pełny)

    Zalecane ustawienia parametru A

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

    • 0 dla OUT, INPD (iDValue)
    • 1 dla T1 (i2cTemp), H1 (i2cHum), DS, UAC
    • 2 dla IAC
    • 3 dla POWER, ENERGY, DIFF

Lista kodów odczytów

{
    '000': 'UAC',
    '001': 'IAC',
    '002': 'DS1',
    '003': 'DS2',
    '004': 'DS3',
    '005': 'DS4',
    '006': 'DS5',
    '007': 'DS6',
    '008': 'DS7',
    '009': 'DS8',
    '010': 'T1',
    '011': 'H1',
    '012': 'DIFF1',
    '013': 'DIFF2',
    '014': 'DIFF3',
    '015': 'DIFF4',
    '016': 'DIFF5',
    '017': 'DIFF6',
    '018': 'INPD1',
    '019': 'INPD2',
    '020': 'OUT1',
    '021': 'OUT2',
    '022': 'OUT3',
    '023': 'OUT4',
    '024': 'OUT5',
    '025': 'OUT6',
    '026': 'OUT7',
    '027': 'POWER1',
    '028': 'POWER2',
    '029': 'POWER3',
    '030': 'POWER4',
    '031': 'POWER5',
    '032': 'POWER6',
    '033': 'ENERGY1',
    '034': 'ENERGY2',
    '035': 'ENERGY3',
    '036': 'ENERGY4',
    '037': 'ENERGY5',
    '038': 'ENERGY6',
    '039': 'VAR1',
    '040': 'VAR2',
    '041': 'VAR3',
    '042': 'VAR4',
    '043': 'VAR5',
    '044': 'VAR6',
    '045': 'VAR7',
    '046': 'VAR8',
    '047': 'UPTIME',
    '048': 'IP',
    '049': 'Time',
    '050': 'Date',
    '051': 'Dew Point', // dodane w SW 1.14
}

Aktualna lista kodów odczytów jest dostępna na stronie urządzenia w sekcjach, w których może być wykorzystana: Klient HTTP, OLED, E-mail, Modem LTE. Wygląda ona jak poniżej (fragment ze strony Klient HTTP).

Klient HTTP - lista kodów odczytów

Wykorzystanie z kamerą Dahua

Klienta HTTP można wykorzystać do wysyłania danych do wyświetlenia na obrazie kamery Dahua, np. odczyty z czujników.

W tym celu należy skonfigurować klienta HTTP w następujący sposób:

  • zaznaczyć Użyj Digest Authentication
  • w sekcji Cykliczne wysyłanie

    • w polu URL wpisać

      http://<NAZWA_UŻYTKOWNIKA>:<HASŁO>@<ADRES_IP_KAMERY>:80/cgi-bin/configManager.cgi?action=setConfig&ChannelTitle[0].Name=<TEKST_DO_WYŚWIETLENIA>
      

      , np.

      http://admin:admin@192.168.1.14:80/cgi-bin/configManager.cgi?action=setConfig&ChannelTitle[0].Name=T %0101 H %0111|U %047
      

      (%0101 - odczyt T1, %0111 - odczyt H1, %047 - uptime).

    • zaznaczyć Włącz cykliczne wysyłanie

    • ustawić Okres wysyłania na 30 (im mniejsza wartość tym częstsze aktualizacje tekstu na widoku kamery)

W efekcie na widoku kamery będzie widoczny zadany tekst, który będzie aktualizowany co 30 sekund. Na obrazie poniżej jest przedstawiona omawiana funkcja na kamerze Dahua IPC-HFW5241T-ASE.

W razie gdy na kamerze jest włączony dostęp HTTPS (System > Safety > HTTPS), należy w URL użyć https zamiast http.

Dahua