Megosztás a következőn keresztül:


Adatok külső átalakítása az IoT Centralhoz

Az IoT-eszközök különböző formátumban küldenek adatokat. Ha az eszközadatokat az IoT Central-alkalmazással szeretné használni, előfordulhat, hogy a következő átalakítást kell használnia:

  • Az adatok formátumának kompatibilitása az IoT Central-alkalmazással.
  • Egységek konvertálása.
  • Új metrikák kiszámítása.
  • Bővítse az adatokat más forrásokból.

Ez a cikk bemutatja, hogyan alakíthatja át az eszközadatokat az IoT Centralon kívül bejövő vagy kimenő forgalom esetén.

Feljegyzés

Az IoT Central belsőleg is átalakíthatja az adatokat, így további információt az IoT Centralba való bejövő forgalom telemetriájának leképezése és az adatok átalakítása az IoT Central-alkalmazáson belül az exportáláshoz.

Az alábbi diagram az átalakításokat tartalmazó adatok három útvonalát mutatja be:

A bejövő és kimenő adatátalakítási útvonalak összegzése

Az alábbi táblázat három példaátalakítási típust mutat be:

Átalakítás Leírás Példa Jegyzetek
Üzenetformátum JSON-üzenetekké alakítható vagy módosítható. CSV–JSON Bejövő forgalomnál. Az IoT Central csak az érték JSON-üzeneteket fogadja el. További információ: Telemetria, tulajdonság és parancs hasznos adatok.
Számítások Az Azure Functions által végrehajtható matematikai függvények . Egységváltás Fahrenheitből Celsius-ra. Alakítsa át a kimenő minta használatával, hogy kihasználhassa a méretezhető eszközök bejövő forgalmát az IoT Centralhoz való közvetlen kapcsolaton keresztül. Az adatok átalakításával IoT Central-funkciókat, például vizualizációkat és feladatokat használhat.
Üzenet bővítése A külső adatforrásokból származó dúsítások nem találhatók az eszköztulajdonságokban vagy a telemetriában. A belső bővítésekkel kapcsolatos további információkért lásd : IoT-adatok exportálása felhőbeli célhelyekre a Blob Storage használatával. Időjárási adatok hozzáadása az üzenetekhez az eszközök helyadataival. Alakítsa át a kimenő minta használatával, hogy kihasználhassa a méretezhető eszközök bejövő forgalmát az IoT Centralhoz való közvetlen kapcsolaton keresztül.

Előfeltételek

Az útmutató lépéseinek elvégzéséhez a következőkre van szüksége:

  • Aktív Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

  • Az egyéni alkalmazássablonból létrehozott IoT Central-alkalmazás . További információ: IoT Central-alkalmazás létrehozása és az alkalmazás ismertetése.

Adatátalakítás bejövő forgalom esetén

Az eszközadatok bejövő forgalomnál történő átalakításához két lehetőség közül választhat:

  • IoT Edge: IoT Edge-modul használatával átalakíthatja az adatokat az alsóbb rétegbeli eszközökről, mielőtt elküldené az adatokat az IoT Central-alkalmazásnak.

  • IoT Central eszközhíd: Az IoT Central eszközhíd más IoT-eszközfelhőket, például a Sigfoxot, a Részecske- és a The Things Network-et csatlakoztatja az IoT Centralhoz. Az eszközhíd egy Azure-függvény használatával továbbítja az adatokat, és testre szabhatja a függvényt az eszközadatok átalakításához.

Eszközadatok átalakítása az IoT Edge használatával

Adatátalakítás bejövő forgalomon az IoT Edge használatával

Ebben a forgatókönyvben egy IoT Edge-modul átalakítja az adatokat az alsóbb rétegbeli eszközökről, mielőtt továbbítanák azokat az IoT Central-alkalmazásnak. Magas szinten a forgatókönyv konfigurálásához a következő lépések szükségesek:

  1. IoT Edge-eszköz beállítása: IoT Edge-eszköz telepítése és kiépítése átjáróként, és az átjáró csatlakoztatása az IoT Central-alkalmazáshoz.

  2. Csatlakozás alsóbb rétegbeli eszközt az IoT Edge-eszközre: Csatlakozás alsóbb rétegbeli eszközöket az IoT Edge-eszközre, és kiépíteni őket az IoT Central-alkalmazásba.

  3. Eszközadatok átalakítása az IoT Edge-ben: Hozzon létre egy IoT Edge-modult az adatok átalakításához. Telepítse a modult az IoT Edge-átjáróeszközre, amely továbbítja az átalakított eszközadatokat az IoT Central-alkalmazásnak.

  4. Ellenőrzés: Adatok küldése egy alsóbb rétegbeli eszközről az átjáróra, és ellenőrizze, hogy az átalakított eszközadatok elérik-e az IoT Central-alkalmazást.

A következő szakaszokban ismertetett példában az alsóbb rétegbeli eszköz az alábbi formátumban küld JSON-adatokat az IoT Edge-átjáróeszköznek:

{
  "device": {
      "deviceId": "<downstream-deviceid>"
  },
  "measurements": {
    "temp": <temperature>,
    "pressure": <pressure>,
    "humidity": <humidity>,
    "scale": "celsius",
  }
}

Az IoT Edge-modullal átalakíthatja az adatokat, és átalakíthatja a hőmérsékleti értéket CelsiusFahrenheit az IoT Centralba való küldés előtt:

{
  "device": {
      "deviceId": "<downstream-deviceid>"
  },
  "measurements": {
    "temp": <temperature>,
    "pressure": <pressure>,
    "humidity": <humidity>,
    "scale": "fahrenheit"
  }
}

Kód tallózása

Az alábbi lépések bemutatják, hogyan állíthatja be és konfigurálhatja ezt a forgatókönyvet:

Az egyéni modul létrehozása

Ebben a forgatókönyvben az IoT Edge-eszköz egy egyéni modult futtat, amely átalakítja az adatokat az alsóbb rétegbeli eszközről. Az IoT Edge-eszköz üzembe helyezése és konfigurálása előtt a következő műveleteket kell elvégeznie:

  • Hozza létre az egyéni modult.
  • Adja hozzá az egyéni modult egy tárolóregisztrációs adatbázishoz.

Az IoT Edge-futtatókörnyezet egyéni modulokat tölt le egy tárolóregisztrációs adatbázisból, például egy Azure-tárolóregisztrációs adatbázisból vagy a Docker Hubból. Az Azure Cloud Shell tartalmazza a tárolóregisztrációs adatbázis létrehozásához, a modul létrehozásához és a modul regisztrációs adatbázisba való feltöltéséhez szükséges összes eszközt:

Tárolóregisztrációs adatbázis létrehozása:

  1. Nyissa meg az Azure Cloud Shellt , és jelentkezzen be az Azure-előfizetésbe.

  2. Válassza ki a Bash-rendszerhéjat .

  3. Futtassa a következő parancsokat egy Azure-tárolóregisztrációs adatbázis létrehozásához:

    REGISTRY_NAME="{your unique container registry name}"
    az group create --name ingress-scenario --location eastus
    az acr create -n $REGISTRY_NAME -g ingress-scenario --sku Standard --admin-enabled true
    az acr credential show -n $REGISTRY_NAME
    

    Jegyezze fel az értékeket és password az username értékeket, majd használja őket később. A parancs kimenetében csak az egyik jelszóra van szüksége.

Az egyéni modul létrehozása az Azure Cloud Shellben:

  1. Az Azure Cloud Shellben klónozza a modul forráskódját tartalmazó GitHub-adattárat:

    git clone https://github.com/iot-for-all/iot-central-transform-with-iot-edge
    
  2. Az egyéni modul létrehozásához futtassa a következő parancsokat az Azure Cloud Shellben:

    cd iot-central-transform-with-iot-edge/custommodule/transformmodule
    az acr build --registry $REGISTRY_NAME --image transformmodule:0.0.1-amd64 -f Dockerfile.amd64 .
    

    Az előző parancsok futtatása több percet is igénybe vehet.

IoT Edge-eszköz beállítása

Ez a forgatókönyv egy IoT Edge-átjáróeszköz használatával alakítja át az adatokat bármely alsóbb rétegbeli eszközről. Ez a szakasz azt ismerteti, hogyan hozhat létre IoT Central-eszközsablont az átjáróeszközhöz az IoT Central-alkalmazásban. Az IoT Edge-eszközök üzembehelyezési jegyzék használatával konfigurálják a modulokat.

Ebben a példában az alsóbb rétegbeli eszköznek nincs szüksége eszközsablonra. Az alsóbb rétegbeli eszköz regisztrálva van az IoT Centralban, így létrehozhatja az IoT Edge-eszköz csatlakoztatásához szükséges hitelesítő adatokat. Mivel az IoT Edge-modul átalakítja az adatokat, az összes alsóbb rétegbeli eszköztelemetria úgy érkezik az IoT Centralba, mintha az IoT Edge-eszköz küldte volna.

Eszközsablon létrehozása az IoT Edge-átjáróeszközhöz:

  1. Mentse az üzembehelyezési jegyzék másolatát a helyi fejlesztőgépre: moduledeployment.json.

  2. Nyissa meg a moduledeployment.json jegyzékfájl helyi példányát egy szövegszerkesztőben.

  3. Keresse meg a szakaszt registryCredentials , és cserélje le a helyőrzőket azokra az értékekre, amelyeket az Azure Container Registry létrehozásakor jegyzett. Az address érték a következőképpen {your username}.azurecr.ionéz ki: .

  4. Keresse meg a settings szakaszt a transformmodule. Cserélje le {your username} ugyanazt az értéket, amelyet az előző lépésben használt. Mentse el a módosításokat.

  5. Az IoT Central-alkalmazásban lépjen az Edge jegyzékek lapjára .

  6. Válassza a + Új lehetőséget. Adjon meg egy nevet, például a Transformert az üzembehelyezési jegyzékhez, majd töltse fel a korábban letöltött moduledeployment.json fájlt. Az üzembehelyezési jegyzék tartalmaz egy egyéni modult, a transformmodule-t.

  7. Válassza a Tovább , majd a Létrehozás lehetőséget.

  8. Az IoT Central-alkalmazásban lépjen az Eszközsablonok lapra.

  9. Válassza az + Új lehetőséget, válassza az Azure IoT Edge lehetőséget, majd válassza a Tovább: Testreszabás lehetőséget.

  10. Adja meg az IoT Edge-átjáróeszközt az eszközsablon neveként. Válassza az Átjáróeszköz lehetőséget.

  11. Válassza a Tovább: Véleményezés, majd a Létrehozás lehetőséget.

  12. A Modell létrehozása lapon válassza az Egyéni modell lehetőséget.

  13. A modellben válassza a Modulok lehetőséget, majd importálja a modulokat a jegyzékből. Válassza ki a Transformer üzembehelyezési jegyzékfájlt, majd válassza az Importálás lehetőséget.

Az üzembe helyezési jegyzék nem adja meg a modul által küldött telemetriát. A telemetriai definíciók hozzáadása az eszközsablonhoz:

  1. Az IoT Edge-átjáró eszközsablonJának Modulok szakaszában válassza a Modul-átalakító modul lehetőséget.

  2. Válassza a Képesség hozzáadása lehetőséget , és használja az alábbi táblázatokban szereplő információkat egy új telemetriai típus hozzáadásához:

    Beállítás Érték
    Megjelenített név Eszköz
    Név device
    Képesség típusa Telemetria
    Szemantikai típus Egyik sem
    Séma Objektum

    Objektumdefiníció:

    Megjelenített név Név Séma
    Eszközazonosító deviceId Sztring

    Mentse a módosításokat.

  3. Válassza a Képesség hozzáadása lehetőséget , és használja az alábbi táblázatokban szereplő információkat egy új telemetriai típus hozzáadásához:

    Beállítás Érték
    Megjelenített név Mérések
    Név Mérések
    Képesség típusa Telemetria
    Szemantikai típus Egyik sem
    Séma Objektum

    Objektumdefiníció:

    Megjelenített név Név Séma
    Hőmérséklet hőmérséklet Dupla
    Nyomás nyomás Dupla
    Páratartalom páratartalom Dupla
    Méretezés Skála Sztring

    Mentse a módosításokat.

  4. A modellben válassza a Kapcsolatok lehetőséget. Ne válassza a Kapcsolatok lehetőséget a transformmodule modulban.

  5. Válassza a Kapcsolat hozzáadása lehetőséget.

  6. Adja meg az Alsóbb rétegbeli érzékelőt a megjelenítendő névként, az érzékelőt a névként, és válassza az Any (Bármely) lehetőséget célként. Válassza a Mentés lehetőséget.

  7. Az eszközsablon közzétételéhez válassza a Közzététel lehetőséget.

Átjáróeszköz regisztrálása az IoT Centralban:

  1. Az IoT Central-alkalmazásban lépjen az Eszközök lapra.

  2. Válassza az IoT Edge-átjáróeszközt , és válassza az + Új lehetőséget. Adja meg az IoT Edge-átjáróeszközt az eszköz neveként, adja meg az átjáró-01 azonosítót eszközazonosítóként, győződjön meg arról, hogy az IoT Edge-átjáróeszköz ki van jelölve eszközsablonként, és nem az eszköz szimulálásaként van kiválasztva?. Válassza a Transformer elemet éljegyzékként. Válassza a Létrehozás lehetőséget.

  3. Az eszközök listájában kattintson az IoT Edge-átjáróeszközre, majd válassza a Csatlakozás.

  4. Jegyezze fel az IoT Edge-átjáróeszköz azonosító hatókörét, eszközazonosítóját és elsődleges kulcsértékeit. Később használhatja őket.

Alsóbb rétegbeli eszköz regisztrálása az IoT Centralban:

  1. Az IoT Central-alkalmazásban lépjen az Eszközök lapra.

  2. Ne válasszon eszközsablont. Válassza a + Új lehetőséget. Az eszköz neveként adja meg a Downstream 01 értéket, az eszközazonosítóként adja meg a downstream-01 értéket, győződjön meg arról, hogy az eszközsablon nincs hozzárendelve, a Nem pedig az eszköz szimulálásaként van kiválasztva? Válassza a Létrehozás lehetőséget.

  3. Az eszközök listájában kattintson a Downstream 01 eszközre, majd válassza az Eszköz > csatolása az átjáróhoz lehetőséget.

  4. Az Átjáró csatolása párbeszédpanelen válassza ki az IoT Edge-átjáró eszközsablont és az IoT Edge-átjáró eszközpéldányát. Válassza a Csatolás lehetőséget.

  5. A Downstream 01 eszközön válassza a Csatlakozás.

  6. Jegyezze fel a Downstream 01 eszköz azonosító hatókörét, eszközazonosítóját és elsődleges kulcsértékét. Később használhatja őket.

Az átjáró és az alsóbb rétegbeli eszközök üzembe helyezése

A kényelem érdekében ez a cikk Azure-beli virtuális gépeket használ az átjáró és az alsóbb rétegbeli eszközök futtatásához. A két Azure-beli virtuális gép létrehozásához válassza a következő táblázat után megjelenő Üzembe helyezés az Azure-ban gombot. Az egyéni üzembehelyezési űrlap kitöltéséhez használja a táblázatban található információkat:

Mező Érték
Erőforráscsoport ingress-scenario
DNS-címke előtag átjárója A gép egyedi DNS-neve, például <your name>edgegateway
DNS-címke előtagja alsóbb rétegben A gép egyedi DNS-neve, például <your name>downstream
Hatókör-azonosító A korábban jegyzett azonosító hatóköre
IoT Edge-átjáró eszközazonosítója gateway-01
Eszközkulcs IoT Edge-átjárója A korábban jegyzett elsődleges kulcsérték
Hitelesítés típusa Jelszó
Rendszergazdai jelszó vagy kulcs Az AzureUser-fiókhoz választott jelszó mindkét virtuális gépen.

Üzembe helyezés az Azure-ban gomb

Válassza a Véleményezés + Létrehozás, majd a Létrehozás lehetőséget. A virtuális gépek létrehozása a bejövő forgatókönyv erőforráscsoportjában néhány percet vesz igénybe.

Annak ellenőrzése, hogy az IoT Edge-átjáróeszköz megfelelően fut-e:

  1. Nyissa meg az IoT Central-alkalmazást. Ezután lépjen az IoT Edge Gateway-eszközre az Eszközök lapon található eszközök listájában.

  2. Válassza a Modulok lapot, és ellenőrizze a három modul állapotát. Néhány percig tart, amíg az IoT Edge-futtatókörnyezet elindul a virtuális gépen. Amikor a virtuális gép fut, a három modul állapota fut. Ha az IoT Edge-futtatókörnyezet nem indul el, tekintse meg az IoT Edge-eszköz hibaelhárítását.

Ahhoz, hogy az IoT Edge-eszköz átjáróként működjön, szüksége van néhány tanúsítványra, hogy igazolhassa identitását az alsóbb rétegbeli eszközökön. Ez a cikk demótanúsítványokat használ. Éles környezetben használjon tanúsítványokat a hitelesítésszolgáltatótól.

A demótanúsítványok létrehozásához és az átjáróeszközre való telepítéséhez:

  1. Az SSH használatával csatlakozhat és bejelentkezhet az átjáróeszköz virtuális gépére. A virtuális gép DNS-nevét az Azure Portalon találja. Lépjen az edgegateway virtuális gépre a bemeneti forgatókönyv erőforráscsoportjában.

    Tipp.

    Előfordulhat, hogy meg kell nyitnia a 22-s portot az SSH-hozzáféréshez mindkét virtuális gépen, mielőtt az SSH használatával csatlakozhat a helyi gépről vagy az Azure Cloud Shellből.

  2. Futtassa az alábbi parancsokat az IoT Edge-adattár klónozásához és a bemutató tanúsítványok létrehozásához:

    # Clone the repo
    cd ~
    git clone https://github.com/Azure/iotedge.git
    
    # Generate the demo certificates
    mkdir certs
    cd certs
    cp ~/iotedge/tools/CACertificates/*.cnf .
    cp ~/iotedge/tools/CACertificates/certGen.sh .
    ./certGen.sh create_root_and_intermediate
    ./certGen.sh create_edge_device_ca_certificate "mycacert"
    

    Az előző parancsok futtatása után a következő fájlok használhatók a következő lépésekben:

    • ~/certs/certs/azure-iot-test-only.root.ca.cert.pem – Az összes többi demótanúsítvány létrehozásához használt legfelső szintű hitelesítésszolgáltatói tanúsítvány egy IoT Edge-forgatókönyv teszteléséhez.
    • ~/certs/certs/iot-edge-device-mycacert-full-chain.cert.pem – A config.yaml fájlból hivatkozott eszköz ca-tanúsítványa. Átjáróforgatókönyvekben ez a hitelesítésszolgáltatói tanúsítvány azt jelenti, hogy az IoT Edge-eszköz hogyan ellenőrzi az identitását az alsóbb rétegbeli eszközökön.
    • ~/certs/private/iot-edge-device-mycacert.key.pem – Az eszköz hitelesítésszolgáltatói tanúsítványához társított titkos kulcs.

    Ezekről a demótanúsítványokról további információt az IoT Edge eszközfunkcióinak teszteléséhez szükséges demótanúsítványok létrehozása című témakörben talál.

  3. Nyissa meg a config.toml fájlt egy szövegszerkesztőben. Példa:

    sudo nano /etc/aziot/config.toml
    
  4. A tanúsítványbeállítások kibontása és módosítása az alábbiak szerint:

    trust_bundle_cert = "file:///home/AzureUser/certs/certs/azure-iot-test-only.root.ca.cert.pem"
    
    ...
    
    [edge_ca]
    cert = "file:///home/AzureUser/certs/certs/iot-edge-device-ca-mycacert-full-chain.cert.pem"
    pk = "file:///home/AzureUser/certs/private/iot-edge-device-ca-mycacert.key.pem"
    

    Az előző példa feltételezi, hogy AzureUserként van bejelentkezve, és létrehozott egy "mycacert" nevű eszköz hitelesítésszolgáltatói tanúsítványt.

  5. Mentse a módosításokat, és futtassa a következő parancsot a config.toml fájl helyességének ellenőrzéséhez:

    sudo iotedge check
    
  6. Indítsa újra az IoT Edge-futtatókörnyezetet:

    sudo iotedge config apply
    

Ha az IoT Edge-futtatókörnyezet a módosítások után sikeresen elindul, a $edgeAgent és a $edgeHub modulok állapota futásra változik. Ezeket az állapotértékeket az IoT Central átjáróeszközének Modulok lapján tekintheti meg.

Ha a futtatókörnyezet nem indul el, ellenőrizze a config.toml fájlban végrehajtott módosításokat, és tekintse meg az IoT Edge-eszköz hibaelhárítását.

Csatlakozás alsóbb rétegbeli eszközről IoT Edge-eszközre

Alsóbb rétegbeli eszköz csatlakoztatása az IoT Edge-átjáróeszközhöz:

  1. Az SSH használatával csatlakozhat és bejelentkezhet az alsóbb rétegbeli eszköz virtuális gépére. A virtuális gép DNS-nevét az Azure Portalon találja. Lépjen a leafdevice virtuális gépre a bejövő forgatókönyv erőforráscsoportjában.

    Tipp.

    Előfordulhat, hogy meg kell nyitnia a 22-s portot az SSH-hozzáféréshez mindkét virtuális gépen, mielőtt az SSH használatával csatlakozhat a helyi gépről vagy az Azure Cloud Shellből.

  2. Ha klónozni szeretné a GitHub-adattárat a minta alsóbb rétegbeli eszköz forráskódjával, futtassa a következő parancsot:

    cd ~
    git clone https://github.com/iot-for-all/iot-central-transform-with-iot-edge
    
  3. A szükséges tanúsítvány átjáróeszközről való másolásához futtassa az alábbi scp parancsokat. Ez a scp parancs a gazdagépnév használatával edgegateway azonosítja az átjáró virtuális gépét. A rendszer a következő jelszót kéri:

    cd ~/iot-central-transform-with-iot-edge
    scp AzureUser@edgegateway:/home/AzureUser/certs/certs/azure-iot-test-only.root.ca.cert.pem leafdevice/certs
    
  4. Lépjen a leafdevice mappába, és telepítse a szükséges csomagokat. Ezután futtassa az és start a build szkripteket az eszköz átjáróhoz való kiépítéséhez és csatlakoztatásához:

    cd ~/iot-central-transform-with-iot-edge/leafdevice
    sudo apt update
    curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install nodejs
    npm install
    npm run-script build
    npm run-script start
    

    A parancsok során sudo apt-get install nodejs a rendszer megkérheti a telepítés engedélyezésére: nyomja Y le, ha a rendszer kéri.

  5. Adja meg a korábban létrehozott alsóbb rétegbeli eszköz eszközazonosítóját, hatókör-azonosítóját és SAS-kulcsát. A gazdagépnévhez írja be a következőt edgegateway: . A parancs kimenete a következőképpen néz ki:

    Registering device downstream-01 with scope 0ne00284FD9
    Registered device downstream-01.
    Connecting device downstream-01
    Connected device downstream-01
    Sent telemetry for device downstream-01
    Sent telemetry for device downstream-01
    Sent telemetry for device downstream-01
    Sent telemetry for device downstream-01
    Sent telemetry for device downstream-01
    Sent telemetry for device downstream-01
    

Az egyszerűség kedvéért az alsóbb rétegbeli eszköz kódja az IoT Centralban helyezi el az eszközt. Az alsóbb rétegbeli eszközök általában átjárón keresztül csatlakoznak, mert nem tudnak csatlakozni az internethez, ezért nem tudnak csatlakozni a Device Provisioning Service végponthoz. További információ: Eszközök csatlakoztatása IoT Edge transzparens átjárón keresztül.

Ellenőrzés

A forgatókönyv futtatásának ellenőrzéséhez lépjen az IoT Edge-átjáró eszközére az IoT Centralban:

Képernyőkép az átalakított adatok eszközoldaláról.

  • Válassza ki a modulokat. Ellenőrizze, hogy a három IoT Edge-modul $edgeAgent, $edgeHub és átalakítómodul fut-e .

  • Válassza a Nyers adatok lehetőséget. Az Eszköz oszlop telemetriai adatai a következőképpen néznek ki:

    {"deviceId":"downstream-01"}
    

    A Mérések oszlop telemetriai adatai a következőképpen néznek ki:

    {"temperature":85.21208,"pressure":59.97321,"humidity":77.718124,"scale":"farenheit"}
    

A hőmérsékletet Fahrenheitben küldik el. Mivel az IoT Edge-eszköz átalakítja az adatokat az alsóbb rétegbeli eszközről, a telemetria az IoT Central átjáróeszközéhez van társítva. Az átalakított telemetriai adatok megjelenítéséhez hozzon létre egy nézetet az IoT Edge-átjáró eszközsablonjában , és tegye közzé újra.

Adatátalakítás a kimenő forgalomnál

Csatlakoztathatja az eszközöket az IoT Centralhoz, exportálhatja az eszközadatokat egy számítási motorba, hogy átalakítsa azokat, majd visszaküldheti az átalakított adatokat az IoT Centralnak az eszközkezelés és -elemzés céljából. Példa:

  • Az eszközei helyadatokat küldenek az IoT Centralnak.
  • Az IoT Central exportálja az adatokat egy számítási motorba, amely időjárási adatokkal javítja a helyadatokat.
  • A számítási motor visszaküldi a továbbfejlesztett adatokat az IoT Centralnak.

Az IoT Central eszközhíd számítási motorként használható az IoT Centralból exportált adatok átalakításához.

A kimenő adatok átalakításának egyik előnye, hogy az eszközök közvetlenül az IoT Centralhoz csatlakoznak, így könnyen küldhet parancsokat az eszközöknek, vagy frissítheti az eszköz tulajdonságait. Ezzel a módszerrel azonban több üzenetet használhat, mint a havi kiosztott, és növelheti az Azure IoT Central használatának költségeit.

Az IoT Central eszközhídjának használata az eszközadatok átalakításához

Adatátalakítás a kimenő forgalomon az IoT Edge használatával

Ebben a forgatókönyvben a számítási motor átalakítja az IoT Centralból exportált eszközadatokat, mielőtt visszaküldené azokat az IoT Central-alkalmazásnak. Magas szinten a forgatókönyv konfigurálásához a következő lépések szükségesek:

  1. A számítási motor beállítása: Hozzon létre egy IoT Central-eszközhidat, amely számítási motorként szolgál az adatátalakításhoz.

  2. Eszközadatok átalakítása az eszközhídon: Az eszközhídban lévő adatok átalakítása az adatátalakítási használati eset eszközhíd-függvénykódjának módosításával.

  3. Adatfolyam engedélyezése az IoT Centralról az eszközhídra: Az adatok exportálása az IoT Centralból az eszközhídra átalakítás céljából. Ezután továbbítsa az átalakított adatokat az IoT Centralnak. Az adatexportálás létrehozásakor az üzenettulajdonság-szűrőkkel csak a nem formázott adatokat exportálhatja.

  4. Ellenőrizze: Csatlakozás az eszközt az IoT Central alkalmazásba, és ellenőrizze a nyers eszközadatokat és az átalakított adatokat az IoT Centralban.

A következő szakaszokban ismertetett példában az eszköz az alábbi formátumban küld CSV-adatokat az IoT Edge-átjáróeszköznek:

"<temperature in degrees C>, <humidity>, <latitude>, <longitude>"

Az eszközhíd használatával átalakíthatja az eszközadatokat a következővel:

  • A hőmérséklet mértékegységének módosítása centigrade-ról fahrenheitre.
  • Az eszköz adatainak bővítése az Open Weather szolgáltatásból lekért időjárási adatokkal a szélességi és hosszúsági értékekhez.

Az eszközhíd ezután a következő formátumban küldi el az átalakított adatokat az IoT Centralnak:

{
  "temp": <temperature in degrees F>,
  "humidity": <humidity>,
  "lat": <latitude>,
  "lon": <logitude>,
  "weather": {
    "weather_temp": <temperature at lat/lon>,
    "weather_humidity": <humidity at lat/lon>,
    "weather_pressure": <pressure at lat/lon>,
    "weather_windspeed": <wind speed at lat/lon>,
    "weather_clouds": <cloud cover at lat/lon>,
    "weather_uvi": <UVI at lat/lon>
  }
}

Az alábbi lépések bemutatják, hogyan állíthatja be és konfigurálhatja ezt a forgatókönyvet:

Az IoT Central kapcsolati beállításainak lekérése

A forgatókönyv beállítása előtt be kell szereznie néhány kapcsolati beállítást az IoT Central-alkalmazásból:

  1. Jelentkezzen be az IoT Central-alkalmazásba.

  2. Navigáljon az Engedélyek > eszköz kapcsolatcsoportjaihoz.

  3. Jegyezze fel az azonosító hatókörét. Ezt az értéket később fogja használni.

  4. Válassza ki az SaS-IoT-Devices regisztrációs csoportot. Jegyezze fel a közös hozzáférésű jogosultságkód elsődleges kulcsát. Ezt az értéket később fogja használni.

Számítási motor beállítása

Ez a forgatókönyv ugyanazt az Azure Functions-üzembe helyezést használja, mint az IoT Central eszközhídja. Az eszközhíd üzembe helyezéséhez válassza a következő táblázat után megjelenő Üzembe helyezés az Azure-ban gombot. Az egyéni üzembehelyezési űrlap kitöltéséhez használja a táblázatban található információkat:

Mező Érték
Erőforráscsoport Új, úgynevezett erőforráscsoport létrehozása egress-scenario
Régió Válassza ki az Önhöz legközelebb eső régiót.
Hatókör-azonosító Használja a korábban jegyzett azonosító hatókörét .
IoT Central SAS-kulcs Használja a közös hozzáférésű jogosultságkód elsődleges kulcsát az SaS-IoT-Devices regisztrációs csoporthoz. Korábban már jegyezte fel ezt az értéket.

Üzembe helyezés az Azure-ban.

Válassza a Véleményezés + Létrehozás, majd a Létrehozás lehetőséget. Néhány percig tart az Azure-függvény és a kapcsolódó erőforrások létrehozása a kimenő forgatókönyv erőforráscsoportjában.

Eszközadatok átalakítása az eszközhídon

Az eszközhíd konfigurálása az exportált eszközadatok átalakításához:

  1. Szerezze be az alkalmazás API-kulcsát az Open Weather szolgáltatásból. A fiók ingyenes, és korlátozottan használja a szolgáltatást. Alkalmazás API-kulcs létrehozásához hozzon létre egy fiókot az Open Weather service portálon , és kövesse az utasításokat. Később használhatja az Open Weather API-kulcsot.

  2. Az Azure Portalon lépjen a függvényalkalmazásra a kimenő forgatókönyv erőforráscsoportjában.

  3. A bal oldali navigációs sáv Fejlesztési eszközök területén válassza az App Service Editor (előzetes verzió) lehetőséget.

  4. Az App Service-szerkesztő lap megnyitásához válassza a Go → lehetőséget. Hajtsa végre a következő módosításokat:

    1. Nyissa meg a wwwroot/IoTCIntegration/index.js fájlt. Cserélje le a fájl összes kódját a index.js.

    2. Az új index.js frissítse a változófájlt a openWeatherAppId korábban beszerzett Open Weather API-kulccsal.

      const openWeatherAppId = '<Your Open Weather API Key>'
      
    3. Adjon hozzá egy üzenettulajdonságot a függvény által az IoT Centralnak küldött adatokhoz. Az IoT Central ezt a tulajdonságot használja az átalakított adatok exportálásának megakadályozására. A módosítás elvégzéséhez nyissa meg a wwwroot/IoTCIntegration/lib/engine.js fájlt. Keresse meg a következő kódot:

      if (timestamp) {
        message.properties.add('iothub-creation-time-utc', timestamp);
      }
      

      Adja hozzá a következő kódot az előző kódrészletben lévő kód után:

      // add a message property that we can look for in data export to not re-compute computed telemetry
      message.properties.add('computed', true);
      

      Hivatkozásként megtekintheti a engine.js fájl egy befejezett példáját.

  5. Az App Service Editor bal oldali navigációs sávján válassza a Konzol lehetőséget. Futtassa a következő parancsokat a szükséges csomagok telepítéséhez:

    cd IoTCIntegration
    npm install
    

    A parancs futtatása eltarthat néhány percig.

  6. Térjen vissza az Azure-függvények áttekintési oldalára, és indítsa újra a függvényt:

    A függvény újraindítása

  7. Válassza a Függvények lehetőséget a bal oldali navigációs sávon. Ezután válassza az IoTCIntegration lehetőséget. Válassza a Code + Test lehetőséget.

  8. Jegyezze fel a függvény URL-címét, később szüksége lesz erre az értékre:

    A függvény URL-címének lekérése

Adatfolyam engedélyezése az IoT Centralról az eszközhídra

Ez a szakasz az Azure IoT Central-alkalmazás beállítását ismerteti.

Először mentse az eszközmodell-fájlt a helyi gépre.

Ha eszközsablont szeretne hozzáadni az IoT Central-alkalmazáshoz, keresse meg az IoT Central-alkalmazást, majd:

  1. Jelentkezzen be az IoT Central-alkalmazásba, és lépjen az Eszközsablonok lapra.

  2. Válassza az + Új lehetőséget, válassza az IoT-eszköz lehetőséget, majd a Tovább: Testreszabás lehetőséget, írja be a számítási modellt sablonnévként. Válassza a Következő: Véleményezés lehetőséget. Válassza a Létrehozás parancsot.

  3. Válassza a Modell importálása lehetőséget, és keresse meg a korábban letöltött model.json fájlt.

  4. A modell importálása után válassza a Közzététel lehetőséget a számítási modell eszközsablonjának közzétételéhez.

Állítsa be az adatexportálást úgy, hogy adatokat küldjön az eszközhídra:

  1. Az IoT Central-alkalmazásban válassza az Adatexportálás lehetőséget.

  2. Válassza az + Új cél lehetőséget az eszközhídhoz használni kívánt cél létrehozásához. Hívja meg a cél számítási függvényt, a céltípushoz válassza a Webhook lehetőséget. A visszahívási URL-címhez válassza a beillesztést a függvény URL-címében, amelyről korábban feljegyzést készített. Hagyja meg az engedélyezésthitelesítés nélkül.

  3. Mentse el a módosításokat.

  4. Válassza ki az + Új exportálás lehetőséget, és hozzon létre egy számítási exportálás nevű adatexportálást.

  5. Adjon hozzá egy szűrőt, amely csak a használt eszközsablon eszközadatait exportálja. Válassza a + Szűrés lehetőséget, válassza ki az Elem eszközsablont, válassza ki az Egyenlő operátort, és válassza ki a létrehozott számítási modell eszközsablont.

  6. Adjon hozzá egy üzenetszűrőt az átalakított és a nem transzformált adatok megkülönböztetéséhez. Ez a szűrő megakadályozza az átalakított értékek visszaküldését az eszközhídra. Válassza az + Üzenet tulajdonságszűrőt, és adja meg a kiszámított névértéket, majd válassza ki a Nem létezik operátort. A sztring computed kulcsszóként használatos az eszközhíd példakódjában.

  7. A célhelynél válassza ki a korábban létrehozott Számítási függvény célhelyét.

  8. Mentse el a módosításokat. Egy perc múlva az Exportálás állapot kifogástalan állapotúként jelenik meg.

Ellenőrzés

A forgatókönyv teszteléséhez használt mintaeszköz Node.js van megírva. Győződjön meg arról, hogy telepítve van Node.js és npm a helyi gépen. Ha nem szeretné telepíteni ezeket az előfeltételeket, használja az Azure Cloud Shellt , ahol előre telepítve vannak.

A forgatókönyvet tesztelő mintaeszköz futtatása:

  1. Klónozza a mintakódot tartalmazó GitHub-adattárat, futtassa a következő parancsot:

    git clone https://github.com/Azure/iot-central-compute
    
  2. A mintaeszköz IoT Central-alkalmazáshoz való csatlakoztatásához szerkessze az iot-central-compute/device/device.js fájl kapcsolati beállításait. Cserélje le a hatókör-azonosítót és a csoport SAS-kulcsát a korábban jegyzett értékekre:

    // These values need to be filled in from your Azure IoT Central application
    //
    const scopeId = "<IoT Central Scope Id value>";
    const groupSasKey = "<IoT Central Group SAS key>";
    //
    

    Mentse el a módosításokat.

  3. A szükséges csomagok telepítéséhez és az eszköz futtatásához használja az alábbi parancsokat:

    cd ~/iot-central-compute/device
    npm install
    node device.js
    
  4. A parancs eredménye a következő kimenethez hasonlóan néz ki:

    registration succeeded
    assigned hub=iotc-2bd611b0....azure-devices.net
    deviceId=computeDevice
    Client connected
    send status: MessageEnqueued [{"data":"33.23, 69.09, 30.7213, -61.1192"}]
    send status: MessageEnqueued [{"data":"2.43, 75.86, -2.6358, 162.935"}]
    send status: MessageEnqueued [{"data":"6.19, 76.55, -14.3538, -82.314"}]
    send status: MessageEnqueued [{"data":"33.26, 48.01, 71.9172, 48.6606"}]
    send status: MessageEnqueued [{"data":"40.5, 36.41, 14.6043, 14.079"}]
    
  5. Az IoT Central-alkalmazásban lépjen a computeDevice nevű eszközre. A Nyers adatnézetben két különböző telemetriai stream látható, amelyek körülbelül öt másodpercenként jelennek meg. A nem átalakított adatokkal rendelkező stream az eredeti telemetriai adat, a modellezett adatokkal rendelkező stream pedig a függvény által átalakított adatok:

    Képernyőkép az eredeti és az átalakított nyers adatokról.

Az erőforrások eltávolítása

Ha már nincs szüksége a létrehozott Azure-erőforrásokra az útmutató lépéseinek követésével, törölje az erőforráscsoportokat az Azure Portalon.

Az útmutatóban használt két erőforráscsoport a bejövő éskimenő forgatókönyv.

Következő lépések

Ebben a cikkben megismerhette az IoT Central eszközadatainak átalakításának különböző lehetőségeit mind a bejövő, mind a kimenő forgalom esetében. A cikk két konkrét forgatókönyvhöz tartalmazott bemutatókat:

  • Az IoT Edge-modullal átalakíthatja az adatokat az alsóbb rétegbeli eszközökről, mielőtt az adatokat elküldené az IoT Central-alkalmazásnak.
  • Az Azure Functions használatával átalakíthatja az adatokat az IoT Centralon kívül. Ebben a forgatókönyvben az IoT Central adatexportálást használ a bejövő adatok Azure-függvénybe való küldéséhez az átalakításhoz. A függvény visszaküldi az átalakított adatokat az IoT Central-alkalmazásnak.

Most, hogy megtanulta, hogyan alakíthat át eszközadatokat az Azure IoT Central-alkalmazáson kívül, megtudhatja , hogyan elemezheti az eszközadatokat az IoT Centralban az Adatkezelő használatával.