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 LK4 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-6, VAR1-8, INPD1-4 (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, PWM, INPD (iDValue), CO2, TEMP (Board Temperature), HUM (Board Humidity)1
dla T1 (i2cTemp), H1 (i2cHum), DS, PM, VCC (Board Voltage)2
dla P1 (i2cPressure), INPA (iAValue)3
dla POWER, ENERGY, DIFF
Lista kodów odczytów¶
{
'000': 'VCC (Board Voltage)',
'001': 'TEMP (Board Temperature)',
'002': 'HUM (Board Humidity)',
'003': 'INPA1',
'004': 'INPA2',
'005': 'INPA3',
'006': 'DS1',
'007': 'DS2',
'008': 'DS3',
'009': 'DS4',
'010': 'DS5',
'011': 'DS6',
'012': 'DS7',
'013': 'DS8',
'014': 'T1',
'015': 'H1',
'016': 'P1',
'017': 'DIFF1',
'018': 'DIFF2',
'019': 'DIFF3',
'020': 'DIFF4',
'021': 'DIFF5',
'022': 'DIFF6',
'023': 'INPD1',
'024': 'INPD2',
'025': 'INPD3',
'026': 'INPD4',
'027': 'OUT1',
'028': 'OUT2',
'029': 'OUT3',
'030': 'OUT4',
'031': 'OUT5',
'032': 'OUT6',
'033': 'PWM1',
'034': 'PWM2',
'035': 'PWM3',
'036': 'PWM1 Duty',
'037': 'PWM2 Duty',
'038': 'PWM3 Duty',
'039': 'POWER1',
'040': 'POWER2',
'041': 'POWER3',
'042': 'POWER4',
'043': 'POWER5',
'044': 'POWER6',
'045': 'ENERGY1',
'046': 'ENERGY2',
'047': 'ENERGY3',
'048': 'ENERGY4',
'049': 'ENERGY5',
'050': 'ENERGY6',
'051': 'VAR1',
'052': 'VAR2',
'053': 'VAR3',
'054': 'VAR4',
'055': 'VAR5',
'056': 'VAR6',
'057': 'VAR7',
'058': 'VAR8',
'059': 'PM1.0',
'060': 'PM2.5',
'061': 'PM4.0',
'062': 'PM10.0',
'063': 'CO2',
'064': 'Distance sensor',
'065': 'IAQ',
'066': 'm1',
'067': 'm2',
'068': 'm3',
'069': 'm4',
'070': 'm5',
'071': 'm6',
'072': 'm7',
'073': 'm8',
'074': 'm9',
'075': 'm10',
'076': 'm11',
'077': 'm12',
'078': 'm13',
'079': 'm14',
'080': 'm15',
'081': 'm16',
'082': 'm17',
'083': 'm18',
'084': 'm19',
'085': 'm20',
'086': 'm21',
'087': 'm22',
'088': 'm23',
'089': 'm24',
'090': 'm25',
'091': 'm26',
'092': 'm27',
'093': 'm28',
'094': 'm29',
'095': 'm30',
'096': 'UPTIME',
'097': 'IP',
'098': 'Time',
'099': 'Date',
'100': 'Dew Point', // dodane w SW 1.06
}
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
(
%0141
- odczyt T1,%0151
- odczyt H1,%096
- 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
.