A Packet parser konfigurálása
A Beállítások → Hardver 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 Packet parser 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