Căutare
MENU
  • Atingeți Aplicații Acasă
  • Expressions
  • Arhitectura sistemului după tipul de proiect
  • Utilizatori și permisiuni
  • Configurarea Packet parser

    În Setări Hardware selectați Adăugați o nouă interfață și alegeți Packet parser .

    Există două posibilități de adăugare a dispozitivelor. Mai întâi este să adăugați manual modulul și apoi dispozitivele. Al doilea este să adăugați întregul set din șablon. Pentru a adăuga dispozitive din șablon, urmați capitolul Configurarea Packet parser utilizând șabloane predefinite .

    Adăugați modul

    Modulul reprezintă dispozitivul fizic cu adresa IP sau numele gazdei, definiția accesului și alți parametri comuni. După adăugarea și configurarea modulului este posibil să adăugați dispozitive, care sunt implementate pe dispozitiv fizic. Faceți clic pe ADAUGĂ MODUL și setați mai întâi numele gazdei sau adresa IP:

    Faceți clic pe OK și introduceți calea rădăcinii. Calea rădăcină este calea obișnuită utilizată de toate dispozitivele din modul. Cea mai simplă cale rădăcină este un caracter slash: '/'

    Faceți clic pe OK pentru a accesa setările serviciului modulului.

    Setările serviciului modulului

    Setările serviciului modulului sunt împărțite în grup de proprietăți.

    Variabile de dispozitiv

    Lista variabilelor acceptate pentru fiecare dispozitiv este afișată în grupul Variabile dispozitiv. Numele scurte ale variabilelor afișate în partea dreaptă sunt utilizate în analiza definiției valorii dispozitivului, a definițiilor de formatare a ieșirii sau în calcul.

    Autentificare

    În cazul în care este necesară autentificarea, completați Utilizatorul și parola și selectați tipul de autentificare. Suportate sunt acum tipuri de autentificare de bază și digest.

    Setari de retea

    În cazul în care completați adresa IP sau numele de gazdă și calea rădăcină corectă în timpul adăugării modulului, acești parametri sunt acum setați corect. Unele API API necesită un port 80 implicit. În acest caz, modificați Portul în aceste setări. În cazul în care, după fiecare comandă, conexiunea trebuie închisă, lăsați parametrii „Rămâneți conectați” în starea oprită. Când este posibil să mențineți conexiunea în viață între comenzi, setați acest parametru la activat. Alegeți tipul de conexiune între http și https (securizat).

    Definiții pentru lectură

    Modulul poate defini direct parametrii de citire pentru a umple valorile dispozitivelor.

    „Interval de sondaj intern” este utilizat pentru a defini cât de des ar trebui să fie interogate valorile dispozitivului. În cazul în care utilizați dispozitivul în rețeaua locală, se recomandă utilizarea 2500ms. Cel mai scurt interval este de 500 ms. În cazul în care există un dispozitiv utilizat de pe internet - de exemplu informații meteorologice, cum ar fi temperatura aerului pentru unele orașe - se recomandă utilizarea unui interval lung de sondare (cel puțin minute sau oră) pentru a nu fi dezactivat de administratorul paginii din cauza politicii de spam.

    Solicitarea HTTP constă din adresa URL, anteturi speciale și în cazul în care este o cerere POST, de asemenea, de la corpul solicitării. Adresa URL este alcătuită din tipul de conexiune (http / https) nume de gazdă sau adresă IP, port, cale rădăcină și cale relativă - în acest caz definită în proprietatea Calea citire. Exemplu pentru cererea http dacă calea rădăcină este doar /, portul este 1400 și calea relativă este read_switch:

    http://192.168.0.1:1400/read_switch

    Dacă „Metoda de citire http” nu este definită, se folosește metoda GET.

    Există posibilitatea directă în modul de definire a valorilor de analiză din răspunsul primit la variabilele dispozitivului sau variabilele virtuale predefinite.

    Utilizarea variabilei în definițiile de analiză a răspunsului necesită includerea numelui variabilei cu caractere $. De exemplu, numele variabilei Vl1 trebuie utilizat ca $ Vl1 $.

    De exemplu, dacă avem răspuns în acest format JSON:

    {

    "name":null,

    "ison":false,

    }

    și vrem să analizăm răspunsul pentru a comuta. Valoarea răspunsului este booleană adevărată / falsă după numele „ison”. Trebuie să definim variabila virtuală de tip boolean (în acest caz este Vl2 - variabilele virtuale vor fi explicate mai târziu) și primim răspunsul la această variabilă mai întâi definind parametrul „Răspuns analizat” astfel:

    Textul „ison”: $ Vl2 $ înseamnă că vrem să găsim exact șirul „ison”: iar când îl vom găsi, vom interpreta următoarele caractere ca variabilă booleană (sunt posibile valori adevărate / false). Vom avea valoarea acum în variabila virtuală - dar vrem să o avem în variabila dispozitiv - deci în dispozitiv este necesar să definim calculul citirii care va consta doar din variabila Vl2. Tipul variabilei este transferat automat la tipul variabilei dispozitivului - în acest caz 0/1. Pentru mai multe informații, consultați capitolul Parse Definitions.

    În proprietățile „ReadPath” și „Body for reading” este posibil să se utilizeze referința la variabilă - fie variabilă de dispozitiv, fie variabilă virtuală. Variabila la care se face referire este din nou textul de definiție inclus cu $ la început și la sfârșit. Cu excepția acestui lucru, este posibilă și utilizarea definițiilor de format special după numele variabilei. Vă rugăm să consultați capitolul Definiții format.

    După definirea a cel puțin „Calea de citire”, este posibilă testarea compoziției cererii, trimiterea către dispozitiv, primirea răspunsului și, de asemenea, definirea valorilor de analiză și efectuarea calculelor. Faceți clic pe „Cerere de testare” și obțineți, de exemplu, următorul răspuns:

    Există informații despre CEREREA compusă, decât răspunsul după RĂSPUNS, dacă există unele variabile analizate, acestea sunt afișate după VARIABILE, iar dacă există FORMULE definite, calculul său este afișat după FORMULE.

    Desigur, este posibil să existe o greșeală în compoziția URL - într-un astfel de caz, răspunsul serverului web cu eroarea (404) nu a fost găsit:

    Dacă adresa IP sau numele de gazdă sunt setate greșit, astfel încât dispozitivul să nu poată fi accesat deloc, atunci solicitarea se termină după expirare și răspunsul testului este astfel:

    Definiții pentru scriere

    Ca și în citirea definițiilor, URL-ul pentru scriere este compus din părți definite anterior, iar calea relativă este luată din proprietatea „Calea de scriere”. Din nou, este posibil să se definească anteturile personalizate și să se solicite corpul. De asemenea, metoda de scriere http poate fi setată aici. Este posibil să utilizați cererea de testare pentru a trimite valorile reale ale dispozitivului către dispozitiv și pentru a verifica răspunsul.

    Variabilele pot fi menționate în proprietățile „Calea de scriere” și „Corpul pentru scriere”.

    Proprietatea „Corp pentru scriere” este utilizată în cazul metodei POST http.

    Pagina de bază a modulului

    Reveniți din setările serviciului modulului - salvați proprietățile dacă este modificat. Faceți clic pe modulul definit pentru a deschide pagina modulului:

    Proprietățile de bază sunt afișate la începutul paginii - deci este posibil să o modificați direct aici. Din pagina modulului puteți naviga la setările serviciului modulului. În această pagină este posibil să adăugați variabile virtuale. Din această pagină este posibil să adăugați dispozitive la modul.

    Variabile virtuale

    Variabilele virtuale sunt folosite pentru a transforma valorile speciale definite în șir, boolean sau caracter în valorile dispozitivului TapHome sau pentru a face calcule. Pentru a adăuga o variabilă virtuală, faceți clic pe „Adăugați o variabilă virtuală”

    Selectați tipul de variabilă pe care doriți să o adăugați.

    Tip variabilă Număr

    Tipul variabilei Number este utilizat pentru a defini variabila care stochează valori numerice - fie numere întregi, fie numere cu zecimale.

    Șir de tip variabil

    Șirul de tip variabil este utilizat pentru a stoca text fără spații albe. De exemplu, dacă la cerere valorile dispozitivului așteptate sunt activate / oprite, dar în TapHome sunt definite ca 0/1 este necesar să se calculeze variabila virtuală de tip șir și apoi să trimită valoarea din această variabilă. Pentru calcularea numărului în șir se poate utiliza formula SWITCH:

    SWITCH(St2, 0, "off", 1, "on","off")

    Șirurile din definiția calculului trebuie să fie închise în apostrofe.

    Aceasta va scoate șirul în funcție de valoarea variabilei dispozitivului St2. Ieșirea va fi „dezactivată” pentru valoarea 0 și „activată” pentru valoarea 1. Valoarea implicită este „dezactivată”. Pentru mai multe informații, consultați Expresii

    Tip variabil Caracter

    Tipul variabilă Caracterul poate fi utilizat pentru a genera valori binare. Când o astfel de variabilă este utilizată în referința formatului de ieșire, valorile sale sunt plasate direct în șir. De exemplu, să presupunem că dorim să ieșim valoarea codată binară a dimmerului la doi octeți ca 0..1000 corespunzător la 0..100%. În TapHome, valoarea dimmerului este codificată de la 0.000 la 1.000, reprezentând 0..100%. Vom defini două variabile virtuale de tip caracter Vl1 și Vl2. Șirul binar de ieșire ar trebui, de exemplu, să înceapă cu STING ST și să se termine cu caractere CR LF (hexazecimal 0x0D 0x0A). După caracterul de pornire ar trebui să fie referința comenzii 0x05 și identificarea dispozitivului 0xFE 0x1C urmată de cei doi octeți reprezentând valoarea mai scăzută. Șirul de ieșire trebuie definit astfel:

    ST \ x05 \ xFE \ x1C $ Vl1 $$ Vl2 $ \ x0D \ x0A

    După definirea șirului de ieșire, vor fi activate două calcule - pentru Vl1 și Vl2. Aceste calcule trebuie definite după cum urmează (valoarea dispozitivului este stocată în variabila dispozitivului Dm3):

    Calculul pentru VL1: ((dm3 1000.0) > > 8) Calcul pentru Vl2: ((Dm3 1000.0) & 0xFF)

    Primul calcul utilizează schimbarea de biți pentru 8 biți spre dreapta - deci numai variabilele 8..15 de la numărul de doi octeți sunt stocate în variabila Vl1. Al doilea calcul folosește binarul și operația pentru a lua doar 0..7 biți la variabila Vl2. Pentru mai multe informații, consultați Expresii

    Ordinii octeți în acest caz sunt așa numiți mari endian. În cazul în care este utilizat un mic endian pentru codificare, vă rugăm să modificați ordinea variabilelor din șirul de ieșire.

    O ordonare big-endian plasează primul octet cel mai semnificativ și ultimul octetul cel mai puțin semnificativ, în timp ce o ordonare little-endian face contrariul. De exemplu, luați în considerare numărul hexazecimal nesemnat 0x1234, care necesită cel puțin doi octeți pentru a reprezenta. Într-o ordonare big-endian ar fi 12 34, în timp ce într-o ordonare little-endian, octeții ar fi aranjați 34 12.

    După adăugarea variabilelor virtuale se afișează lista sa:

    Când faceți clic pe orice variabilă virtuală, se afișează dialogul Ștergere:

    Setările serviciului de dispozitive.

    Dispozitivele au parametri similari cu modulul care poate fi utilizat pentru citirea și scrierea definițiilor. Dacă definiția dispozitivului pentru citire și scriere nu este definită, se utilizează definițiile modulului. Acest lucru este foarte util dacă cererea ar trebui să fie formată din valori de la mai multe dispozitive și trebuie completată în modul.

    Calculul citirii și calculele de scriere sunt întotdeauna definite în dispozitiv. Pentru detalii despre calcule, consultați Expresii.

    Calculul citirii

    Această ieșire de calcul este întotdeauna variabila dispozitivului. Dacă dispozitivul are o singură variabilă de dispozitiv utilizabilă - cum ar fi Comutatorul are doar starea comutatorului, atunci există numele variabilei care nu este utilizată din nou în definiție și există doar numele proprietății „Calcul de citire”. În cazul dispozitivelor care au mai multe variabile de ieșire - cum ar fi termostatul care are temperatura dorită și, de asemenea, temperatura reală, numele variabilei este utilizat după calculul citirii:

    Scrierea calculelor

    Calculele de scriere sunt întotdeauna definite pentru variabilele care sunt utilizate fie în „Calea de scriere”, fie în proprietățile „Corp pentru scriere”. Când se editează o nouă valoare a uneia dintre aceste proprietăți, calculul variabilei este adăugat automat:

    Analizați definițiile.

    În proprietățile definițiilor de analiză dorim să citim textul din răspuns și să îl convertim în valori variabile. Este necesar să se definească de unde ar trebui să înceapă analiza variabilelor. De obicei, este suficient să scrieți textul cu definiție variabilă care a precedat textul variabilei. Am explicat deja acest lucru într-un exemplu simplu - răspuns JSON:

    {

    "name":null,

    "ison":false,

    }

    Când vrem să analizăm valoarea falsă după textul „ison”: definiția analizei ar trebui definită astfel:

    "ison": $ Vl2 $

    În acest caz, variabila Vl2 ar trebui să fie o variabilă virtuală de tip boolean, pentru a accepta corect valorile adevărat / fals.

    Ce trebuie făcut în cazul în care avem un răspuns mai complicat - unde textul „ison”: este definit în multe locuri, dar este precedat de definiții de nume care pot defini exact de unde începe definiția.

    În exemplul următor sunt definiți mai mulți parametri în răspunsul JSON - pentru a arăta cum se extrage valoarea corectă.

    {

    "name":relay_0,

    "timer":null,

    "ison":false,

    }

    {

    "name":relay_1,

    "timer":null,

    "ison":false,

    }

    De exemplu, vrem să analizăm valoarea relay_1 - deci vrem să începem să citim în poziția în care numele este definit ca relay_1. Dar după această definiție sunt definiți mai mulți parametri, valoare pe care nu o cunoaștem exact - așa că vrem doar să omitem acest text până la „ison”: definiție. Definiția analizei ar trebui definită astfel:

    „Nume”: releu_1 ... „ison”: $ Vl2 $

    Există mai întâi textul care definește numele relei_1 exact și după acesta sunt trei puncte urmate de același text ca înainte, care a precedat începutul textului variabilei și apoi referința variabilei.

    Cele trei puncte „...” din definițiile analizei pot fi utilizate între două definiții de text pentru a omite textul dintre.

    Valoarea analizată este convertită la tipul de variabilă de referință.

    Variabilele dispozitivului TapHome sunt întotdeauna de tip numeric.

    Valoarea comutatorului poate fi 0/1.

    Valorile comutatorului cu mai multe valori încep de la 0 și crește cu 1 la fiecare valoare definită următoare.

    Valorile analogice sunt definite ca procente de la 0 la 1 cu câte zecimale este necesar. De exemplu, 29% înseamnă 0,29. Valorile senzorilor sunt în unități metrice. Temperaturi în grade C. Viteza vântului în km / h. Precipitații în mm / m2.

    Definiții de format

    Numele variabilei din definițiile de ieșire trebuie să fie inclus în $ caractere. După numele variabilei și înainte de sfârșitul caracterului $ se poate scrie definiția formatului.

    $ Vl1, xxx: Fppp $

    xxx ... Este întotdeauna definit după caracterul virgulă. Definește lățimea șirului care este inserat în șirul rezultat. Dacă xxx este pozitiv, reprezentarea șirului variabilei este aliniată la dreapta. Dacă reprezentarea șirului variabilei are mai mult de xxx caractere, totuși, lățimea câmpului preferat este ignorată și întregul șir este inserat în șirul rezultat. Pentru a alinia șirurile într-un câmp, prefați lățimea câmpului cu un semn negativ.

    F ... Caracter specificator de format - este întotdeauna definit după punct dublu.

    ppp ... număr opțional - specificator de precizie - pentru caractere de format special. Înțelesul este în funcție de caracterul special folosit.

    Especificatorul de format al punctului fix ("F")

    Specificatorul de format cu punct fix ("F") convertește un număr într-un șir de formă "-ddd.ddd ..." în care fiecare "d" indică o cifră (0-9). Șirul începe cu un semn minus dacă numărul este negativ.

    Specificatorul de precizie indică numărul dorit de zecimale. Dacă se omite specificatorul de precizie, toate punctele zecimale utilizate sunt scrise în șir.

    Exemple de formatare:

    1234.567 (":F") -> 1234.57

    1234 (":F1") -> 1234.0

    -1234.56 (":F4") -> -1234.5600

    Specificatorul de format exponențial („E”)

    Specificatorul de format exponențial ("E") convertește un număr într-un șir de formă "-d.ddd ... E + ddd" sau "-d.ddd ... e + ddd", unde fiecare "d" indică o cifră (0-9). Șirul începe cu un semn minus dacă numărul este negativ. Exact o cifră precedă întotdeauna punctul zecimal.

    Specificatorul de precizie indică numărul dorit de cifre după punctul zecimal. Dacă se omite specificatorul de precizie, se folosește o valoare implicită de șase cifre după punctul zecimal.

    Cazul specificatorului de format indică dacă prefixul exponentului cu un „E” sau un „e”. Exponentul constă întotdeauna dintr-un semn plus sau minus și minimum trei cifre. Exponentul este umplut cu zerouri pentru a atinge acest minim, dacă este necesar.

    Exemple de formatare:

    1052.0329112756 (":E") -> 1.052033E+003

    1052.0329112756 (":e2") -> -1.05e+003

    Exemplu de formatare, inclusiv definiția lățimii:

    Vl1 = 1794.68235

    $Vl1,12:E3$ $Vl1,12:F4$ => ' 1.795E+003 1794.6824'

    $Vl1,-12:E3$ $Vl1,-12:F4$ => '1.795E+003 1794.6824 '

    Especificatorul de format hexadecimal („X”)

    Specificatorul de format hexazecimal („X”) convertește un număr într-un șir de cifre hexazecimale. Carcasa specificatorului de format indică dacă se utilizează caractere majuscule sau mici pentru cifre hexazecimale mai mari de 9. De exemplu, utilizați „X” pentru a produce „ABCDEF” și „x” pentru a produce „abcdef”. Acest format este acceptat numai pentru tipurile numerice, iar numărul este utilizat ca număr întreg fără nicio rotunjire.

    Specificatorul de precizie indică numărul minim de cifre dorit în șirul rezultat. Dacă este necesar, numărul este completat cu zerouri la stânga pentru a produce numărul de cifre dat de specificatorul de precizie.

    Exemple de formatare:

    3567.7 (“:X4:) → 0DEF