Keresés
MENU
  • TapHome Apps
  • Kifejezések
  • Rendszer-architektúra projekttípusonként
  • Felhasználók és engedélyek
  • A Packet parser konfigurálása

    A BeállításokHardver válassza a Új felület hozzáadása majd válassza a Packet parser.

    Két lehetőség van az eszközök hozzáadására. Először manuálisan kell hozzáadni a modult, majd az eszközöket. A második az egész készlet hozzáadása a sablonból. Eszközök hozzáadásához kövesse a [ A Packet parser előre definiált sablonok segítségével ] fejezetet (https://taphome.com/support/454000658).

    Modul hozzáadása

    A modul a fizikai eszközt képviseli IP-címmel vagy gazdagépnévvel, hozzáférés-meghatározással és egyéb általános paraméterekkel. A modul hozzáadása és konfigurálása után lehetőség van eszközök hozzáadására, amelyek fizikai eszközön valósulnak meg. Kattintson az ADD MODUL gombra, és először állítsa be a gazdagép nevét vagy IP-címét:

    Kattintson az OK gombra, és írja be a gyökér elérési útját. A gyökérút a modul összes eszközének általánosan használt út. A legegyszerűbb gyökérút egy perjel karakter: '/'

    Kattintson az OK gombra a modulszolgáltatás beállításainak eléréséhez.

    Modul szolgáltatás beállításai

    A modul szolgáltatás beállításait tulajdonságok csoportjára osztják.

    Device Variables

    Az egyes eszközök által támogatott változók listája az Eszközváltozók csoportban jelenik meg. A jobb oldalon látható változó rövid név használható az eszközérték meghatározásának elemzéséhez, a kimeneti formázási meghatározásokhoz vagy a számításhoz.

    Hitelesítés

    Amennyiben szükséges hitelesítés, töltse ki a Felhasználót és a jelszót, és válassza ki a hitelesítési típust. A támogatott ma már az alapvető és az emésztéses hitelesítési típusok.

    Hálózati beállítások

    Ha a modul hozzáadása közben kitölti a helyes IP-címet, gazdagépnevet és gyökérútvonalat, akkor ez a paraméter helyesen van beállítva. Néhány http api eltér az alapértelmezett 80 porttól. Ebben az esetben módosítsa a Port beállítást ebben a beállításban. Abban az esetben, ha minden egyes parancs után a kapcsolatot le kell zárni, hagyja a 'Maradjon kapcsolatban' paramétereket ki állapotban. Ha lehetséges a kapcsolatok közötti kapcsolat életben tartása, kapcsolja be ezt a paramétert. Válassza a kapcsolat típusát a http és a https (biztonságos) között.

    Meghatározások az olvasáshoz

    A modul közvetlenül meghatározhatja az olvasási paramétereket az eszközök értékének kitöltésére.

    A „Belső lekérdezési időköz” meghatározza az eszközértékek lekérdezésének gyakoriságát. Abban az esetben, ha a készüléket helyi hálózatban használja, javasolt 2500 ms használata. A legrövidebb időköz 500ms. Ha használt internetes eszközt használnak - például meteorológiai információkat, mint például a városok léghőmérséklete - javasoljuk, hogy használjon hosszú lekérdezési intervallumot (legalább perc vagy óra), hogy az oldal adminisztrátora ne tiltsa le a spamszabályok miatt.

    A Http kérés URL címet, speciális fejléceket és POST kérés esetén is a kérés testületét tartalmazza. Az URL-címet a kapcsolat típusa (http / https) gazdagépneve vagy IP-címe, portja, gyökér útvonala és relatív elérési útja határozza meg - ezt az esetet az Olvasási út tulajdonsága határozza meg. Példa a http kérésre, ha a gyökér elérési útja éppen /, a port értéke 1400, és a relatív elérési út read_switch:

    http://192.168.0.1:1400/read_switch

    Ha a 'Olvassa el a http-módszert' nincs meghatározva, akkor a GET-módszert használja.

    A modul által definiált elemzés közvetlenül lehetséges a kapott válaszoktól az eszközváltozókig vagy az előre meghatározott virtuális változókig.

    A változó használata a válaszdefiníciós definíciókban megköveteli a változó nevét $ karakterekkel. Például a Vl1 változónevet kell használni $ Vl1 $ -ként.

    Például, ha JSON formátumban válaszolunk így:

    {

    "name":null,

    "ison":false,

    }

    és szeretnénk elemezni a választ a váltáshoz. A válasz értéke logikai igaz / hamis az „ison” név után. Meg kell határoznunk a logikai típusú virtuális változót (ebben az esetben Vl2 - a virtuális változókat később megmagyarázzuk), és először meg kell kapnunk erre a változóra a választ a „Válasz elemzése” paraméter meghatározásával:

    Az "ison" szöveg: $ Vl2 $ azt jelenti, hogy pontosan meg akarjuk találni az "ison" karakterláncot: és amikor megtaláltuk, a következő karaktereket logikai változóként értelmezzük (valódi / hamis értékek lehetséges). Az értéket most virtuális változóban fogjuk kapni - de azt akarjuk, hogy eszközváltozóban is legyen -, így az eszközben meg kell határozni az olvasási számítást, amely csak a Vl2 változóból áll. A változó típusa automatikusan átkerül az eszköz változó típusába - ebben az esetben 0/1. További információkért lásd a Meghatározások elemzése fejezetet.

    A „ReadPath” és a „Body for reading” tulajdonságokban a változóra való hivatkozás használható - akár eszközváltozó, akár virtuális változó. A hivatkozott változó definíciós szövegében ismét a $ elejére és végére van zárva. Ez kivételével speciális formátumdefiníciókat is lehet használni a változó neve után. Lásd a Format meghatározások fejezetet.

    A legalább az „Olvasási út” meghatározása után kipróbálható a kérés összetétele, küldés az eszközre, a válasz fogadása, és ha definiáltak is értelmezési értékek, és elvégezni a számításokat. Kattintson a „Tesztelési kérelem” elemre, és kap például a következő választ:

    Van információ az összeállított KÉRELEMről, mint a VÁLASZ utáni válaszról, ha vannak változókat elemezve, akkor VÁLTOZÓK után jelennek meg, és ha vannak FORMULOK, akkor a számítás a FORMULAS után jelenik meg.

    Természetesen előfordulhat, hogy hiba van az URL-összetételben - ilyen esetben a webszerver általában nem találja a hibát (404):

    Ha az IP-címet vagy a hostnevet helytelenül állították be, tehát az eszköz egyáltalán nem érhető el, akkor a kérelem az időtúllépés és a tesztválasz után befejeződik:

    Meghatározások az íráshoz

    Mint a definíciók olvasásakor, az írás URL-je a korábban meghatározott részekből áll, és a relatív út az 'Írási út' tulajdonságból származik. Megint meg lehet határozni az egyedi fejléceket és a kérés törzsét. A http írási módot itt is beállíthatja. A tesztkérés használatával elküldheti a készülék aktuális értékeit az eszközre, és ellenőrizheti a választ.

    A változókra hivatkozhatunk az 'Írás útja' és a 'Test írása' tulajdonságokban.

    A „test írására” tulajdonságot a POST http módszernél kell használni.

    A modul alaplapja

    Visszatérés a modul szolgáltatás beállításaiból - módosítsa a tulajdonságokat. Kattintson a megadott modulra a moduloldal megnyitásához:

    Az alaptulajdonságok az oldal elején jelennek meg - így itt közvetlenül módosíthatja. A moduloldalról navigálhat a modul szolgáltatás beállításaihoz. Ezen az oldalon hozzá lehet adni virtuális változókat. Ezen az oldalon lehet eszközöket felvenni a modulba.

    Virtuális változók

    A virtuális változókat arra használják, hogy a karakterláncban, logikai értékben vagy karakterben meghatározott speciális értékeket TapHome eszközértékekké alakítsák, vagy számításokat végezzenek. Virtuális változó hozzáadásához kattintson a „Virtuális változó hozzáadása” elemre.

    Válassza ki a hozzáadni kívánt változó típusát.

    Változó típusszám

    A változó típusa A szám olyan változó meghatározására szolgál, amely numerikus értékeket tárol - akár egész számokat, akár tizedes pontokkal megadott számokat.

    Változó típusú karakterlánc

    A változó típusú karakterlánc a szöveg szóköz nélküli tárolására szolgál. Például, ha kérésre a várt eszközértékek be- / kikapcsolnak, de a TapHome-ben 0/1-ben vannak megadva, ki kell számítani a karakterlánc típusú virtuális változót, majd elküldeni az értéket ebből a változóból. A karakterlánc számításához a SWITCH képletet lehet használni:

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

    A számításdefiníció sorozatait aposztrófokba kell csatolni.

    Ezzel kiadja a karakterláncot az St2 eszközváltozó értéke szerint. A kimenet kikapcsolt állapotban van 0 értéknél és 'be' értéknél 1 értéknél. Az alapértelmezett érték kikapcsolt állapotban van. További információ a Kifejezések részben található

    Változó típusú karakter

    A változó típusú karakter felhasználható bináris értékek kiadására. Ha egy ilyen változót használnak a kimeneti formátum referenciájában, akkor az értékeket közvetlenül a karakterláncba helyezik. Tegyük fel például, hogy a dimmer bináris kódolt értékét két bájtra szeretnénk kiadni 0..1000 értékben, ami 0..100% -nak felel meg. A TapHome-ban a dimmer érték 0,000 és 1,000 között van kódolva, ami a 0..100% -ot képviseli. Két karakter típusú virtuális változót definiálunk: Vl1 és Vl2. A kimeneti bináris karakterláncnak például ST betűvel kell kezdődnie, és CR LF karakterekkel kell végződnie (hexadecimális 0x0D 0x0A). A kezdés után a karakternek 0x05 parancsreferenciának és 0xFE 0x1C eszköz azonosításnak kell lennie, amelyet a dimmer értéket képviselő két bájt követ. A kimeneti karakterláncot a következőképpen kell meghatározni:

    ST \ X05 \ xFE \ X1c $ VL1 $$ VL2 $ \ x0D \ x0a

    A kimeneti karakterlánc meghatározása után két számítás lesz engedélyezve - a Vl1 és a Vl2 esetén. Ezeket a számításokat a következőképpen kell meghatározni (az eszköz értékét a Dm3 eszközváltozó tárolja):

    Számítás A VL1: ((dm3 1000,0) > > 8) Számítás a Vl2-re: ((Dm3 1000,0) és 0xFF)

    Az első számításhoz 8 bit jobbra történő biteltolást kell használni - tehát csak a két bájt számú 8..15 bit kerül a Vl1 változóra. A második számítás bináris és művelettel történik, hogy csak 0..7 bitet vegyen fel a Vl2 változóra. További információ a Kifejezések részben található

    A rendelési bájtok ebben az esetben az úgynevezett big endian. Ha a kódoláshoz litle endiant használnak, akkor változtassa meg a változók sorrendjét a kimeneti karakterláncban.

    A nagy endián rendelés a legjelentősebb bájtot az első, a legkevésbé jelentős bájtot pedig az utolsó, míg a kis endián rendelés az ellenkezőjét hajtja végre. Vegyük például a 0x1234 alá nem írt hexadecimális számot, amelynek megjelenítéséhez legalább két bájt szükséges. A nagy endián sorrendben 12 34 lenne, míg a kis endián sorrendben a byte 34 12 lesz.

    A virtuális változók hozzáadása után megjelenik a listája:

    Bármely virtuális változóra kattintva megjelenik a Törlés párbeszédpanel:

    Eszközök szolgáltatásbeállításai.

    Az eszközök hasonló paraméterekkel rendelkeznek, mint a modul, amelyek felhasználhatók a definíciók olvasására és írására. Ha az olvasás és írás eszközdefiníciója nincs meghatározva, akkor a moduldefiníciókat kell használni. Ez nagyon hasznos, ha a kérés számos eszköz értékeiből áll, és modulban kell kitölteni.

    Az olvasási kalkulációt és az írásos számításokat mindig az eszköz határozza meg. A számításokkal kapcsolatos részletekért lásd a kifejezéseket.

    Számítás olvasása

    Ez a számítási output mindig az eszköz változója. Ha az eszköznek csak egy használható eszközváltozója van - mint például a kapcsolónak csak a kapcsoló állapota, akkor a változó nevét a meghatározásban nem használják, és csak a „Reading számítás” tulajdonságnév létezik. Azoknál az eszközöknél, amelyeknél több kimeneti változó van - például a kívánt hőmérsékletet és a valós hőmérsékletet tartalmazó termosztáton - a változó nevét az Olvasás számítása után kell használni:

    Számítások írása

    Az írásbeli számításokat mindig meghatározzuk azoknak a változóknak, amelyeket az 'Írás útja' vagy a 'Test írása' tulajdonságokban használnak. Az egyik tulajdonság új értékének szerkesztésekor a változó számítása automatikusan hozzáadódik:

    A definíciók elemzése.

    Az elemzés-meghatározások tulajdonságai alatt a szöveget a válaszból kiolvassuk és változó értékekké konvertáljuk. Meg kell határozni, ahol a változó elemzésének kezdődnie kell. Általában elegendő, ha a változódefiníciós szöveg előtt írunk, amely megelőzte a változószöveget. Ezt már egy egyszerű példán magyarázzuk - JSON válasz:

    {

    "name":null,

    "ison":false,

    }

    Ha az „ison” szöveg után a hamis értéket akarjuk elemezni: az elemzés definícióját így kell meghatározni:

    "Easmon": $ VL2 $

    Ebben az esetben a Vl2 változónak logikai típusú virtuális változónak kell lennie, hogy helyesen fogadja el az igaz / hamis értékeket.

    Mi a teendő abban az esetben, ha bonyolultabb választ kapunk - ahol az „ison” szöveget sok helyen definiálják, de azt elnevezik a névdefiníciók, amelyek pontosan meghatározzák, hol kezdődik a meghatározás.

    A következő példában a JSON válaszban további paramétereket definiálunk - a megfelelő érték kinyerésének bemutatására.

    {

    "name":relay_0,

    "timer":null,

    "ison":false,

    }

    {

    "name":relay_1,

    "timer":null,

    "ison":false,

    }

    Például szeretnénk elemezni a relay_1 értéket - tehát azt a helyet szeretnénk kezdeni, ahol a név relé_1. De ezen meghatározás után további paramétereket határozunk meg, amelyek értékét nem tudjuk pontosan - tehát csak azt akarjuk kihagyni ezt a szöveget, amíg az „ison”: meghatározás nem lesz. Az elemzés definícióját így kell meghatározni:

    „Name”: relay_1 ...”Easmon”: $ VL2 $

    Először van egy szöveg, amely pontosan meghatározza a relay_1 nevet, és három pont után áll, amelyet ugyanaz a szöveg tartalmaz, mint korábban, amely a változó szöveg kezdete, majd a változó hivatkozása előtt volt.

    Az elemző definíciókban szereplő három "..." pont használható két szövegdefiníció között a szöveg közötti átugráshoz.

    Az elemzett értéket átalakítják a hivatkozott változó típusához.

    A TapHome eszközváltozók mindig numerikus típusúak.

    A kapcsoló értéke 0/1 lehet.

    A többértékű kapcsoló értéke 0-tól kezdődik, és minden egyes következő értéknél 1-rel lép fel.

    Az analóg értékeket százalékban definiáljuk 0-tól 1-ig, annyi tizedesjeggyel, amennyire szükség van. Például a 29% jelentése 0,29. Az érzékelők értéke metrikus egységekben van megadva. Hőmérséklet fokokban C. Szélsebesség km / h-ban. Csapadék mm / m2-ben.

    A definíciók formázása

    A változó nevét a kimeneti definíciókban $ karakterekkel kell ellátni. A változó neve és a vége előtt a $ karakter írható formátum meghatározásba.

    $ VL1, xxx: Fppp $

    xxx ... Mindig vessző karakter után definiálják. Meghatározza az eredménykarakterláncba beillesztett karakterlánc szélességét. Ha az xxx pozitív, akkor a változó karakterlánc-ábrázolása jobbra van igazítva. Ha azonban a változó karakterlánc-ábrázolása meghaladja az xxx karaktert, akkor az előnyben részesített mezőszélességet nem veszik figyelembe, és a teljes karakterláncot beillesztjük az eredmény karakterláncába. Ha egy mezőben a karakterláncokat balra szeretné igazítani, előzetesen be kell írnia a mező szélességét negatív jel.

    F ... A formátum specifikátor karakter - mindig kettős pont után kerül meghatározásra.

    ppp ... választható szám - precíziós specifikátor - speciális formátumú karakterekhez. Jelentése a használt speciális karakternek felel meg.

    A rögzített pont ("F") formátum meghatározó

    A fixpontos ("F") formátum-specifikátor egy számot "-ddd.ddd ..." formátumú karakterlánccá alakítja, ahol minden "d" egy számot (0-9) jelöl. A karakterlánc mínuszjellel kezdődik, ha a szám negatív.

    A precíziós mutató jelzi a kívánt tizedesjegyeket. Ha hiányzik a pontosság-meghatározó, akkor az összes használt tizedes pontot a karakterláncba írják.

    Formázási példák:

    1234.567 (":F") -> 1234.57

    1234 (":F1") -> 1234.0

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

    Az exponenciális ("E") formátum meghatározó

    Az exponenciális ("E") formátum-meghatározó egy számot "-d.ddd ... E + ddd" vagy "-d.ddd ... e + ddd" formátumú karakterlánkká alakít át, ahol minden "d" egy számjegy (0-9). A karakterlánc mínuszjellel kezdődik, ha a szám negatív. Pontosan egy számjegy mindig megelőzi a tizedes pontot.

    A precíziós meghatározó a tizedes pont utáni számjegyek kívánt számát jelzi. Ha hiányzik a pontosság-meghatározó, akkor a tizedes pont után hat számjegy alapértelmezett értékét kell használni.

    A formátum-meghatározó eset azt jelzi, hogy az exponenst előtagként „E” vagy „e” betűvel kell-e előtagolni. A kitevő mindig plusz vagy mínusz jelből és legalább három számjegyből áll. Az exponent nullákkal van kitöltve, hogy szükség esetén elérje ezt a minimumot.

    Formázási példák:

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

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

    Formázási példa szélesség-meghatározással együtt:

    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 '

    A Hexadecimális ("X") formátum meghatározó

    A hexadecimális ("X") formátum meghatározó számot konvertál hexadecimális számjegyek sorozatává. A formátum-meghatározó esete azt jelzi, hogy nagybetűket vagy kisbetűket kell használni a 9-nél nagyobb hexadecimális számjegyekhez. Például: „X” -nel állítsa be az „ABCDEF” -et, az „x” -el pedig „abcdef” -et. Ezt a formátumot csak numerikus típusok támogatják, és a szám egészben kerekítés nélkül kerül felhasználásra.

    A precíziós specifikátor jelzi a kívánt karakterek minimális számát az eredményül kapott karakterláncban. Szükség esetén a számot balra nullával kell feltölteni, hogy megkapja a pontosság-meghatározó által megadott számjegyeket.

    Formázási példák:

    3567.7 (“:X4:) → 0DEF