• Hardware Platform (Jetson Nano 4G)
• DeepStream Version Deepstream 5.1 Azure Container Registry | Microsoft Azure
• JetPack Version 4.5.1
• TensorRT Version 7.1.3
• Issue Type( questions)
• Azure Iot Agent Version: azureiotedge-agent:1.2.10
• Azure Iot Hub Version: azureiotedge-hub:1.2.10
Hi,
I am trying to route the output from the DeepStreamSDK 5.1 module on in the azure iot edge (imported from the microsoft Marketplace ) to the cloud or another module, but I failed.
I found that the logs in DS module is :
Message sent : {
"version" : "4.0",
"id" : 339,
"@timestamp" : "2022-08-29T20:44:36.044Z",
"sensorId" : "HWY_20_AND_LOCUST__WBA__4_11_2018_4_59_59_379_AM_UTC-07_00",
"objects" : [
"17|470.4|468.75|518.4|611.25|Person",
"98|64|457.5|188.8|791.25|Person",
"102|684.8|483.75|844.8|603.75|Car",
"106|393.6|472.5|425.6|566.25|Person",
"132|569.6|472.5|604.8|498.75|Car",
"133|614.4|487.5|688|540|Car",
"134|492.8|457.5|534.4|487.5|Car",
"139|976|465|1011.2|487.5|Car",
"140|1017.6|468.75|1049.6|483.75|Car",
"141|553.6|472.5|588.8|495|Car",
"142|1187.2|487.5|1379.2|566.25|Car",
"144|438.4|472.5|467.2|577.5|Person"
]
}
....
and a lot of error :
send_async_callback : send async failed with error code 1
send_async_callback : send async failed with error code 1
send_async_callback : send async failed with error code 1
At the same time, I found no output in cloud and the ModulePower module in which I handle the message using the following code
if message.input_name == "light" or message.input_name == "led" or message.input_name == "environment":
await telemetryHandler(message)
elif message.input_name == "DS51":
logging.warning(f"Received DS51 msg {message}")
else:
logging.info(f"Unhandled message input name {message.input_name}")
By the way, Here are my configurations and other environments
- Iot edge version:
DS51 running Up 20 seconds marketplace.azurecr.io/nvidia/deepstream51-l4t:latest
edgeAgent running Up 3 minutes mcr.microsoft.com/azureiotedge-agent:1.2.10
edgeHub running Up 2 minutes mcr.microsoft.com/azureiotedge-hub:1.2.10
......
- cat test5_config_file_src_infer_azure_iotedge_edited.txt
[sink1]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=nvoverlaysink 6=MsgConvBroker
type=6
msg-conv-config=dstest5_msgconv_sample_config.txt
#(0): PAYLOAD_DEEPSTREAM - Deepstream schema payload
#(1): PAYLOAD_DEEPSTREAM_MINIMAL - Deepstream schema payload minimal
#(256): PAYLOAD_RESERVED - Reserved type
#(257): PAYLOAD_CUSTOM - Custom schema payload
msg-conv-payload-type=1
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-5.1/lib/libnvds_azure_edge_proto.so
topic=DS51
#Optional:
#msg-broker-config=../../../../libs/azure_protocol_adaptor/module_client/cfg_azure.txt
#msg-broker-config=cfg_azure.txt
- DeepStream config in the deploy template json
"DS51": {
"version": "1.5-20220829",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "marketplace.azurecr.io/nvidia/deepstream51-l4t:latest",
"createOptions": {
"ExposedPorts": {
"8554/tcp": {}
},
"HostConfig": {
"PortBindings": {
"8554/tcp": [
{
"HostPort": "8554"
}
]
},
"Binds": [
"/etc/aziot/:/etc/aziot/",
"/var/deepstream/custom_configs/:/opt/nvidia/deepstream/deepstream-5.1/sources/apps/sample_apps/deepstream-test5/custom_configs/"
],
"runtime": "nvidia"
},
"WorkingDir": "/opt/nvidia/deepstream/deepstream-5.1/sources/apps/sample_apps/deepstream-test5/custom_configs/",
"Entrypoint": [
"/usr/bin/deepstream-test5-app",
"-c",
"test5_config_file_src_infer_azure_iotedge_edited.txt"
]
}
}
}
- Route config:
"DeepstreamToIoTHub": "FROM /messages/modules/DS51/* INTO $upstream",
"DS51ToModulePower": "FROM /messages/modules/DS51/* INTO BrokeredEndpoint(\"/modules/ModulePower/inputs/DS51\")",
"PowerTelemetry": "FROM /messages/modules/ModulePower/outputs/cloudtelemetry INTO $upstream"