awslabs / aws-iot-core-integration-with-nvidia-deepstream

Apache License 2.0
24 stars 8 forks source link

Deepstream message broker stoped working after installing IoT core #7

Open paravarzar-shahrokh opened 3 years ago

paravarzar-shahrokh commented 3 years ago

Hi, I am deploying the deepstream in two ways on Xavier Jetson's Nvidia device. First, directly install the deepstream and activate the messagebroker and run the deepstream using the terminal command line. The second way deploy and run the deepstream using IoT Greengrass and making component and let the IoT Greengrass run the deepstream automatically. The main objective is to automatically boot up the camera and deepstream pipeline and send the messages to AWS using the deepstream messagebroker. Running the application using the terminal is working properly, however, after installing the IoT Greengrass core the deepstream is running but the messagebroker stops working and I am not able to see the messages on greengrass message subscribe. The following is part of the messages I am receiving , $aws/events/presence/connected/App5vision-deepstream-MQTT June 29, 2021, 15:52:00 (UTC-0600) { "clientId": "App5vision-deepstream-MQTT", "timestamp": 1625003520347, "eventType": "connected", "sessionIdentifier": "e22672bd-9ed0-4f2b-ad3d-335e1d4e7542", "principalIdentifier": "19484ac814fd7135be4b6028715431a7be32ee7d1d71a15659841774f2870d97", "ipAddress": "216.123.206.224", "versionNumber": 46 } $aws/events/presence/disconnected/App5vision-deepstream-MQTT June 29, 2021, 15:51:25 (UTC-0600) { "clientId": "App5vision-deepstream-MQTT", "timestamp": 1625003485677, "eventType": "disconnected", "clientInitiatedDisconnect": false, "sessionIdentifier": "d324a2ad-b75e-48b6-ac23-128ad68172f2", "principalIdentifier": "19484ac814fd7135be4b6028715431a7be32ee7d1d71a15659841774f2870d97", "disconnectReason": "CONNECTION_LOST", "versionNumber": 44 }

$aws/events/presence/connected/app5VisionDeviceExavierIoT June 29, 2021, 15:53:33 (UTC-0600) { "clientId": "app5VisionDeviceExavierIoT", "timestamp": 1625003613869, "eventType": "connected", "sessionIdentifier": "1650acdb-6fe3-449c-bbf9-77b47fb615f3", "principalIdentifier": "79c00efbb84db2b427e550b881937b41c12b9bb26a62c08c4df53de48f3a5939", "ipAddress": "184.68.253.54", "versionNumber": 70 } $aws/events/presence/disconnected/app5VisionDeviceExavierIoT June 29, 2021, 15:53:33 (UTC-0600) { "clientId": "app5VisionDeviceExavierIoT", "timestamp": 1625003613827, "eventType": "disconnected", "clientInitiatedDisconnect": false, "sessionIdentifier": "1650acdb-6fe3-449c-bbf9-77b47fb615f3", "principalIdentifier": "79c00efbb84db2b427e550b881937b41c12b9bb26a62c08c4df53de48f3a5939", "disconnectReason": "DUPLICATE_CLIENTID", "versionNumber": 69 } $aws/events/presence/connected/app5VisionDeviceExavierIoT June 29, 2021, 15:52:03 (UTC-0600) { "clientId": "app5VisionDeviceExavierIoT", "timestamp": 1625003523235, "eventType": "connected", "sessionIdentifier": "1650acdb-6fe3-449c-bbf9-77b47fb615f3", "principalIdentifier": "79c00efbb84db2b427e550b881937b41c12b9bb26a62c08c4df53de48f3a5939", "ipAddress": "216.123.206.224", "versionNumber": 69 } $aws/events/presence/disconnected/app5VisionDeviceExavierIoT June 29, 2021, 15:51:59 (UTC-0600) { "clientId": "app5VisionDeviceExavierIoT", "timestamp": 1625003519530, "eventType": "disconnected", "clientInitiatedDisconnect": true, "sessionIdentifier": "c27dea69-fee9-45af-ab4c-3801e7121825", "principalIdentifier": "79c00efbb84db2b427e550b881937b41c12b9bb26a62c08c4df53de48f3a5939", "disconnectReason": "CLIENT_INITIATED_DISCONNECT", "versionNumber": 67 } $aws/events/presence/connected/app5VisionDeviceExavierIoT June 29, 2021, 15:51:59 (UTC-0600) { "clientId": "app5VisionDeviceExavierIoT", "timestamp": 1625003519402, "eventType": "connected", "sessionIdentifier": "c27dea69-fee9-45af-ab4c-3801e7121825", "principalIdentifier": "79c00efbb84db2b427e550b881937b41c12b9bb26a62c08c4df53de48f3a5939", "ipAddress": "216.123.206.224", "versionNumber": 67 } $aws/events/presence/disconnected/app5VisionDeviceExavierIoT June 29, 2021, 15:51:26 (UTC-0600) { "clientId": "app5VisionDeviceExavierIoT", "timestamp": 1625003486180, "eventType": "disconnected", "clientInitiatedDisconnect": true, "sessionIdentifier": "4ae1c60a-4b0b-41dc-81ff-87e5ee65e122", "principalIdentifier": "79c00efbb84db2b427e550b881937b41c12b9bb26a62c08c4df53de48f3a5939", "disconnectReason": "CLIENT_INITIATED_DISCONNECT", "versionNumber": 65 }

yuxiny2586 commented 3 years ago

Hi, if I am understanding correctly, you are using the IoT certificate of Greengrass to connect to AWS IoT core? Or are you using a separate set of certificate? Have you made sure that those IoT things have the right permissions to publish to the topics you are using?

If your application is running as a Greengrass component, you can also check the logs in /greengrass/logs. Please let me know if you see error printed by this component.

You are absolutely right about these benefits Greengrass can bring. Please also try Greengrass v2, it provides even more flexibility in the things you do.

paravarzar-shahrokh commented 3 years ago

Hi,

The issue is between deepstream and greengrass, both want to send messages using MQTT and one is disconnecting the other and deepstream message broker will not restart (this is a bug from nvidia probably). So having this problem we can not auto start the deepstream because it will fail to receive the messages.

Regards

[image: Mailtrack] https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& Sender notified by Mailtrack https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& 07/13/21, 03:27:15 PM

On Tue, Jul 13, 2021 at 2:43 PM Yuxin Yang @.***> wrote:

Hi, if I am understanding correctly, you are using the IoT certificate of Greengrass to connect to AWS IoT core? Or are you using a separate set of certificate? Have you made sure that those IoT things have the right permissions to publish to the topics you are using?

If your application is running as a Greengrass component, you can also check the logs in /greengrass/logs. Please let me know if you see error printed by this component.

You are absolutely right about these benefits Greengrass can bring. Please also try Greengrass v2, it provides even more flexibility in the things you do.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-iot-core-integration-with-nvidia-deepstream/issues/7#issuecomment-879389063, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONEYSZCDA4O5A4CF5FVRADTXSQPJANCNFSM47VK7X3A .

-- Shahrokh Paravarzar, Ph.D., E.I.T, Multimedia Research Centre (MRC) Computing Science Center (CSC) 2-25 - Department of Computing Science | University of Alberta, Edmonton, Canada Email: @.** LinkedIn:* www.linkedin.com/in/shahrokh-paravarzar

yuxiny2586 commented 3 years ago

Theoretically, the two MQTT clients should not interfere each other. We have tried it before. Are you connecting to AWS IoT core? Or are you using Greengrass as an MQTT broker? Since after your DeepStream client becomes a component in Greengrass, certificate locations might need to be changed. Do you have logs, we can take a look together.

paravarzar-shahrokh commented 3 years ago

No, I changed our approach for now but we can test it again. and get back to you, However I am receiving the messages for deepstream itself using IoT core But using greengrass no.

Regards

[image: Mailtrack] https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& Sender notified by Mailtrack https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& 07/13/21, 04:03:06 PM

On Tue, Jul 13, 2021 at 3:58 PM Yuxin Yang @.***> wrote:

Theoretically, the two MQTT clients should not interfere each other. We have tried it before. Are you connecting to AWS IoT core? Or are you using Greengrass as an MQTT broker? Since after your DeepStream client becomes a component in Greengrass, certificate locations might need to be changed. Do you have logs, we can take a look together.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-iot-core-integration-with-nvidia-deepstream/issues/7#issuecomment-879430273, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONEYSYINGPU4D5GH653B7LTXSZJVANCNFSM47VK7X3A .

-- Shahrokh Paravarzar, Ph.D., E.I.T, Multimedia Research Centre (MRC) Computing Science Center (CSC) 2-25 - Department of Computing Science | University of Alberta, Edmonton, Canada Email: @.** LinkedIn:* www.linkedin.com/in/shahrokh-paravarzar

mtalreja-a commented 3 years ago

@paravarzar-shahrokh are you using the same cert for both the Greengrass and deepstream applications?

paravarzar-shahrokh commented 3 years ago

This is one of our problems. The deepstream has its own certification and Greengrass has its own certification. But which certification should deepstream use? I believe greengrass. But I do not know how I should provide them as a path for deepstream

Regards

[image: Mailtrack] https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& Sender notified by Mailtrack https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& 07/13/21, 04:20:17 PM

On Tue, Jul 13, 2021 at 4:14 PM Manish Talreja @.***> wrote:

@paravarzar-shahrokh https://github.com/paravarzar-shahrokh are you using the same cert for both the Greengrass and deepstream applications?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-iot-core-integration-with-nvidia-deepstream/issues/7#issuecomment-879439731, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONEYS3RGDEKIZSEE6XHESTTXS3DVANCNFSM47VK7X3A .

-- Shahrokh Paravarzar, Ph.D., E.I.T, Multimedia Research Centre (MRC) Computing Science Center (CSC) 2-25 - Department of Computing Science | University of Alberta, Edmonton, Canada Email: @.** LinkedIn:* www.linkedin.com/in/shahrokh-paravarzar

mtalreja-a commented 3 years ago

Ah, I understand now. You should use the deepstream cert and put the details into the config file. If you use Greengrass v2, instructions are in this blog post: https://aws.amazon.com/blogs/iot/using-aws-iot-greengrass-version-2-with-amazon-sagemaker-neo-and-nvidia-deepstream-applications/

But, as @yuxiny2586 suggested, please post logs and we can try to troubleshoot.

paravarzar-shahrokh commented 3 years ago

Hi, I had followed the same tutorial and changed the config files and downloaded them while making the IoT cores, but the credentials on /greengrass/v2 are different from what i downloaded. I am setting the paths correctly on aws_cfg.txt.

I do appreciate it if we meet online and resolve this issue.

Regards

[image: Mailtrack] https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& Sender notified by Mailtrack https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& 07/14/21, 09:46:57 AM

On Tue, Jul 13, 2021 at 4:37 PM Manish Talreja @.***> wrote:

Ah, I understand now. You should use the deepstream cert and put the details into the config file. If you use Greengrass v2, instructions are in this blog post:

https://aws.amazon.com/blogs/iot/using-aws-iot-greengrass-version-2-with-amazon-sagemaker-neo-and-nvidia-deepstream-applications/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/awslabs/aws-iot-core-integration-with-nvidia-deepstream/issues/7#issuecomment-879451513, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONEYS2STRTGDBXIDCZSSF3TXS54DANCNFSM47VK7X3A .

-- Shahrokh Paravarzar, Ph.D., E.I.T, Multimedia Research Centre (MRC) Computing Science Center (CSC) 2-25 - Department of Computing Science | University of Alberta, Edmonton, Canada Email: @.** LinkedIn:* www.linkedin.com/in/shahrokh-paravarzar