By using AWS re:Post, you agree to the Terms of Use

Get Online/Offline status for iot thing using iot device client sdk

0

Hello, I was wondering if there's any easy and fast implantation way to get online/offline status in the console as soon as a iot thing comes online or goes offline. Any help is appreciated.

4 Answers
1
Accepted Answer

Hi Subham. You may be interested to enable fleet indexing, particularly thing indexing and thing connectivity: https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html

With that enabled, you can then do searches within the console (Manage->Things->Fleet Indexing->Search). Example queries: https://docs.aws.amazon.com/iot/latest/developerguide/example-queries.html

You can use FleetHub so you have a GUI reporting connection status and last disconnection reason:

https://docs.aws.amazon.com/iot/latest/fleethubuserguide/aws-iot-monitor-user-queries-dashboard.html https://www.youtube.com/watch?v=WIUZ-aBSRzs

Fleet Hub works on top of fleet indexing, so fleet indexing needs to be enabled.

Please also be aware of Lifecycle Events; you can enable these and have AWS IoT Rules that action these events: https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html

profile picture
EXPERT
answered 6 months ago
1

Another option is to use lifecycle events and subscribe with the MQTT test client in the AWS IoT console (or any other MQTT client) to $aws/events/presence/connected/# and $aws/events/presence/disconnected/#. If you want to get messages for a certain client only replace # with the clientId.

KR,

Philipp

answered 6 months ago
0

Hey Greg and Phillip, thank you so much for the answer, it helped a lot. However when i used lifecycle event of connected or disconnected i found that only when the rpi is shutting down i am getting the mqtt message but when the device loses the connectivity i am not. Can you tell me if there's a way to implement this?

answered 6 months ago
0

Thanks all for the inputs, the keep_alive_secs works when the device client is being run via a service. Couple more doubts

  1. I want to use lifecycle events to notify me via SNS which isn't working it keeps saying invalid sql statement when i did `SELECT * from '$aws/events/presence/connected/+'.
  2. The whole implementation seems very very tedious and it would be great to have tutorials for things like this.
answered 5 months ago
  • Thanks for the help, the rule for notification worked

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions