Klient HTTP¶
Strona Klient HTTP umożliwia skonfigurowanie okresowego wysyłania żądań HTTP, a także żądań HTTP do wykorzystania w funkcji Zdarzenia.
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 formatXXX
– 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, UAC2
dla IAC3
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).
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
.