Řešení potíží v případě nezobrazování dat ze zařízení v Azure IoT Central

Tento dokument vám pomůže zjistit, proč se data, která vaše zařízení odesílala IoT Central nemusí v aplikaci zobrazovat.

Existují dvě hlavní oblasti, které je dobré prozkoumat:

  • Problémy s připojením zařízení
    • Problémy s ověřováním, jako je například, že zařízení má neplatné přihlašovací údaje
    • Problémy s připojením k síti
    • Zařízení není schválené nebo blokované
  • Problémy s obrazcem datové části zařízení

Tento průvodce odstraňováním potíží se zaměřuje na problémy s připojením zařízení a problémy s tvarem datové části zařízení.

Problémy s připojením zařízení

Tato část vám pomůže určit, jestli vaše data IoT Central.

Pokud jste to ještě neudělali, nainstalujte az cli nástroj a azure-iot rozšíření.

Informace o tom, jak nainstalovat az cli , najdete v tématu Instalace Azure CLI.

Rozšíření nainstalujete azure-iot spuštěním následujícího příkazu:

az extension add --name azure-iot

Poznámka

Při prvním spuštění příkazu rozšíření se může zobrazit výzva k instalaci uamqp knihovny.

Po instalaci rozšíření spusťte zařízení a podívejte se, jestli odesílané zprávy instalují svůj způsob, jak azure-iot IoT Central.

Pomocí následujících příkazů se přihlaste k předplatnému, ve kterém máte svou IoT Central aplikace:

az login
az account set --subscription <your-subscription-id>

Pokud chcete monitorovat telemetrii, která vaše zařízení odesílá, použijte následující příkaz:

az iot central diagnostics monitor-events --app-id <app-id> --device-id <device-name>

Pokud se zařízení úspěšně připojilo k IoT Central, zobrazí se výstup podobný následujícímu:

Monitoring telemetry.
Filtering on device: device-001
{
    "event": {
        "origin": "device-001",
        "module": "",
        "interface": "",
        "component": "",
        "payload": {
            "temp": 65.57910343679293,
            "humid": 36.16224660107426
        }
    }
}

Pokud chcete monitorovat aktualizace vlastností, které zařízení IoT Central, použijte následující příkaz Preview:

az iot central diagnostics monitor-properties --app-id <app-id> --device-id <device-name>

Pokud zařízení úspěšně odesílá aktualizace vlastností, zobrazí se výstup podobný následujícímu:

Changes in reported properties:
version : 32
{'state': 'true', 'name': {'value': {'value': 'Contoso'}, 'status': 'completed', 'desiredVersion': 7, 'ad': 'completed', 'av': 7, 'ac
': 200}, 'brightness': {'value': {'value': 2}, 'status': 'completed', 'desiredVersion': 7, 'ad': 'completed', 'av': 7, 'ac': 200}, 'p
rocessorArchitecture': 'ARM', 'swVersion': '1.0.0'}

Pokud se v terminálu zobrazí data, přidají se až k vaší aplikaci IoT Central aplikace.

Pokud se po několika minutách nezobrazí žádná data, zkuste stisknout klávesu nebo na klávesnici pro případ, že se Enter return výstup zasekne.

Pokud se v terminálu stále nezobrazují žádná data, je pravděpodobné, že ve vašem zařízení dochází k problémům s připojením k síti nebo že data správně odesílá do IoT Central.

Kontrola stavu zřizování zařízení

Pokud se vaše data na monitoru nezobrazují, spuštěním následujícího příkazu zkontrolujte stav zřizování vašeho zařízení:

az iot central device registration-info --app-id <app-id> --device-id <device-name>

Následující výstup ukazuje příklad zařízení, které má zablokované připojení:

{
  "@device_id": "v22upeoqx6",
  "device_registration_info": {
    "device_status": "blocked",
    "display_name": "Environmental Sensor - v22upeoqx6",
    "id": "v22upeoqx6",
    "instance_of": "urn:krhsi_k0u:modelDefinition:w53jukkazs",
    "simulated": false
  },
  "dps_state": {
    "error": "Device is blocked from connecting to IoT Central application. Unblock the device in IoT Central and retry. Learn more:
https://aka.ms/iotcentral-docs-dps-SAS",
    "status": null
  }
}
Stav zřizování zařízení Description Možné omezení rizik
Zřízené Žádný okamžitě rozpoznatelný problém.
Registrované Zařízení se ještě ne připojilo k IoT Central. V protokolech zařízení zkontrolujte problémy s připojením.
Blokované Zařízení má zablokované připojení k IoT Central. Zařízení se zablokuje připojení k IoT Central aplikaci. Odblokujte zařízení v IoT Central a zkuste to znovu. Další informace najdete v tématu Blokování zařízení.
Neschválené Zařízení není schválené. Zařízení není schválené pro připojení k IoT Central aplikaci. Schvalte zařízení v IoT Central a zkuste to znovu. Další informace najdete v tématu Schválení zařízení.
Nepřidružených Zařízení není přidružené k šabloně zařízení. Přidružte zařízení k šabloně zařízení, aby IoT Central věděl, jak data parsovat.

Přečtěte si další informace o stavových kódech zařízení.

Kódy chyb

Pokud stále nemůžete diagnostikovat, proč se vaše data nezobrazují v , je dalším krokem vyhledávání kódů chyb monitor-events hlášených vaším zařízením.

Spusťte na svém zařízení relaci ladění nebo shromáždíte protokoly ze zařízení. Zkontrolujte všechny kódy chyb, které zařízení hlásí.

V následujících tabulkách jsou uvedené běžné kódy chyb a možné akce, které je možné zmírnit.

Pokud dochází k problémům souvisejícím s tokem ověřování:

Kód chyby Description Možné omezení rizik
400 Text požadavku není platný. Například nelze analyzovat nebo objekt nelze ověřit. Ujistěte se, že odesíláte správný text požadavku jako součást toku ověření, nebo použijte sadu SDK pro zařízení.
401 Autorizační token není možné ověřit. Například vypršela jeho platnost nebo se nevztahuje na identifikátor URI požadavku. Tento kód chyby se také vrátí do zařízení v rámci toku ověření čipu TPM. Ujistěte se, že vaše zařízení má správné přihlašovací údaje.
404 Instance služby Device Provisioning nebo prostředek, jako je registrace, neexistuje. Zadáte lístek se zákaznickou podporou.
412 v požadavku neodpovídá existujícímu prostředku ETag podle ETag RFC7232. Zadáte lístek se zákaznickou podporou.
429 Služba omeští operace. Konkrétní limity služeb najdete v tématu IoT Hub Device Provisioning Service limity. Snižte frekvenci zpráv, rozdělte zodpovědnosti mezi více zařízení.
500 Došlo k vnitřní chybě. Pokud chcete zjistit, jestli vám můžou pomoct ještě více, nahlédněte do lístku zákaznické podpory.

Podrobné kódy chyb autorizace

Chyba Dílčí kód chyby Poznámky
401 – Neautorizováno 401002 Zařízení používá neplatné přihlašovací údaje nebo přihlašovací údaje, jejichž platnost vypršela. Tuto chybu hlásí DPS.
401 – Neautorizováno 400209 Zařízení buď čeká na schválení operátorem, nebo ho zablokoval operátor.
401 IoTHubUnauthorized Zařízení používá token zabezpečení, jehož platnost vypršela. Tuto chybu hlásí IoT Hub.
401 IoTHubUnauthorized DEVICE_DISABLED Zařízení je v tomto centru IoT zakázané a přesunulo se do jiného centra IoT. Znovu zařízení zř vy.
401 IoTHubUnauthorized DEVICE_BLOCKED Operátor toto zařízení zablokoval.

Kódy chyb nahrávání souborů

Tady je seznam běžných kódů chyb, které se můžou zobrazit, když se zařízení pokusí nahrát soubor do cloudu. Mějte na paměti, že než zařízení může nahrát soubor, musíte nakonfigurovat nahrání souborů zařízení ve vaší aplikaci.

Kód chyby Description Možné omezení rizik
403006 Překročili jste počet souběžných operací nahrávání souborů. Každý klient zařízení je omezený na 10 souběžných nahrávání souborů. Ujistěte se, že zařízení okamžitě IoT Central, že se operace nahrávání souborů dokončila. Pokud to nefunguje, zkuste snížit časový limit požadavku.

Problémy s obrazcem datové části

Po ověření, že zařízení odesílá data do IoT Central, je dalším krokem zajistit, aby zařízení odesílala data v platném formátu.

Existují dvě hlavní kategorie běžných problémů, které způsobují, že se data zařízení nezobrazují v IoT Central:

  • Neshoda mezi šablonou zařízení a daty zařízení:
    • Neshoda v pojmenování, jako jsou překlepy nebo problémy s porovnáváním malá a velká písmena.
    • Nemodelované vlastnosti, ve kterých není schéma definované v šabloně zařízení.
    • Neshoda schématu, například typ definovaný v šabloně jako boolean , ale data jsou řetězec.
    • Stejný název telemetrie je definovaný ve více rozhraních, ale zařízení IoT Plug and Play předpisy.
  • Tvar dat je neplatný ve formátu JSON. Další informace najdete v tématu Datové části telemetrie, vlastnosti a příkazu.

Pokud chcete zjistit, ve kterých kategoriích se váš problém nachází, spusťte nejvhodnější příkaz pro váš scénář:

  • Pokud chcete ověřit telemetrii, použijte příkaz preview:

    az iot central diagnostics validate-messages --app-id <app-id> --device-id <device-name>
    
  • Pokud chcete ověřit aktualizace vlastností, použijte příkaz preview.

    az iot central diagnostics validate-properties --app-id <app-id> --device-id <device-name>
    

Při prvním spuštění příkazu se může zobrazit výzva k instalaci uamqp validate knihovny.

Následující výstup ukazuje příklad chybových a varovných zpráv z příkazu validate:

Validating telemetry.
Filtering on device: v22upeoqx6.
Exiting after 300 second(s), or 10 message(s) have been parsed (whichever happens first).
[WARNING] [DeviceId: v22upeoqx6] No encoding found. Expected encoding 'utf-8' to be present in message header.

[WARNING] [DeviceId: v22upeoqx6] Content type '' is not supported. Expected Content type is 'application/json'.

[ERROR] [DeviceId: v22upeoqx6] [TemplateId: urn:krhsi_k0u:modelDefinition:w53jukkazs] Datatype of field 'humid' does not match the da
tatype 'double'. Data '56'. All dates/times/datetimes/durations must be ISO 8601 compliant.

Pokud dáváte přednost použití grafického uživatelského rozhraní, IoT Central zobrazení nezpracovaných dat a podívejte se, jestli se něco nemodeluje. Zobrazení nezpracovaných dat nezjistí, jestli zařízení odesílá poškozený json.

Snímek obrazovky se zobrazením nezpracovaných dat

Po zjištění problému možná budete muset aktualizovat firmware zařízení nebo vytvořit novou šablonu zařízení, která modeluje dříve nemodelovaná data.

Pokud jste se rozhodli vytvořit novou šablonu, která data správně modeluje, migrujte zařízení ze staré šablony do nové šablony. Další informace najdete v tématu Správa zařízení ve vaší Azure IoT Central aplikaci.

Další kroky

Pokud potřebujete další pomoc, můžete se obrátit na odborníky na Azure na webu MSDN Azure a na Stack Overflow fóra. Případně můžete vytvořit lístek podpora Azure .

Další informace najdete v tématu Podpora Azure IoT a možnosti nápovědy.