Translatorer för datadelning
En datadelningstranslator flyttar data från enheten den körs på till en annan enhet i Yggio. Värdet
skrivs till målenheten genom additionalDeviceUpdates i stället för att lagras lokalt, så att en
enhets avläsning kan dyka upp på en annan.
Enheten måste ha skrivrättigheter till målet. Adresseringen sker med identifierare: secret, imei,
devEui, tag eller serialNumber, valda med targetIdentifierField och angivna i
targetIdentifierValue.
Varför vidarebefordra data alls
Två helt olika problem, båda lösta genom att flytta data i sidled.
Att bygga en enhet som inte finns. Vissa beräkningar behöver indata från flera sensorer samtidigt. En byggnads energieffektivitet behöver energi från en mätare, inomhustemperatur medelvärdesbildad över rum, och en utomhustemperatur från något helt annat håll. Ingen enskild enhet rapporterar allt det. Vidarebefordran samlar värdena på en gemensam nod, och analys- eller beräkningstranslatorn körs sedan där, på en enhet sammansatt av en hel installation snarare än av en sensor.
Att skilja konnektivitet från innehåll. Den som driver nätet behöver se att en enhet är uppkopplad
och levererar. Det är inte samma sak som att få läsa vad den skickade. Om payloaden är medicinsk data
får driftteamet inte se den. forward-encoded-data delar de två: den råa framen kommer in på en nod
operatören kan övervaka, lämnas till slutanvändarens egen nod för att avkodas där, och tas sedan bort
från källan, där den inte kan återskapas.
Translatorerna
| Translator | Vad den flyttar | Noteringar |
|---|---|---|
forward-value | Ett kanoniskt fält, namngivet i forwardField | Varje katalogfält är deklarerat i den här translatorns spec, så vilket kanoniskt fältnamn som helst accepteras. Standard temperature |
forward-values | Flera fält samtidigt, listade i forwardFields | Kommaseparerade, och varje post får vara källa:mål för att byta namn vid ankomst, till exempel temperature,relativeHumidity:rh. Värdena landar inuti ett enda measurements-objekt, vilket är det som släpper igenom icke-kanoniska och enhetsspecifika namn |
forward-encoded-data | Den råa, oavkodade framen | Körs som huvudtranslator på källnoden, inte kedjad: den avkodar inte, den vidarebefordrar payloaden och rensar den. Enhetens riktiga avkodare bor på den mottagande noden |
forward-value och forward-values är kedjade och körs ovanpå enhetens egen translator och läser
fält den redan har avkodat.
Att gruppera vidarebefordrade värden
När flera enheter vidarebefordrar till en gemensam nod behöver mottagaren kunna skilja dem åt.
forward-values kan nästla en omgång under en nyckel:
groupNamelägger värdena undermeasurements[groupName], en fast etikett du väljer.groupBySourceNameanvänder den sändande enhetens eget namn i stället, så att en translator på mottagaren kan känna igen vilken nod som skickade vad och hantera var och en därefter. Den åsidosättergroupName.
Sändare och mottagare delar den här formen som ett kontrakt, så bestäm den en gång och håll båda ändarna i takt.
Parametrar
| Parameter | Syfte |
|---|---|
targetIdentifierField | Vilken identifierare som adresserar målet: secret, imei, devEui, tag eller serialNumber. Standard secret |
targetIdentifierValue | Målenhetens identifierare. Obligatorisk, och det finns ingenstans att skicka data utan den |
forwardField | Endast forward-value. Det kanoniska fält som ska vidarebefordras. Standard temperature |
forwardFields | Endast forward-values. Kommaseparerad lista, varje post källa eller källa:mål. Translatorparametrar stödjer ännu inte arrayer, vilket är varför det är en lista i en sträng |
groupName, groupBySourceName | Endast forward-values. Nästla omgången under en fast nyckel, eller under den sändande enhetens namn |
Alla tre sätter errorMessage när målet inte är konfigurerat eller det inte finns något att
vidarebefordra.
Kedjning
Vidarebefordran är normalt sista steget på den sändande enheten och första indata till en kedja på den mottagande:
Sensorer → forward-values → gemensam nod →
analytics-building-energy-efficiency →
set-alarm-custom
Sensorerna bidrar med sina avläsningar, den gemensamma noden beräknar den siffra ingen enskild enhet kunde, och larmet på slutet rapporterar om den som vilket annat fält som helst.
För det fullständiga A–Ö-registret över alla translatorer, se översikten över translatorer.