Ř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.
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.