Is there a way to connect the data present in Azure IOT hub to IOT Central smart meter application - azure-iot-hub

I have published data to the Azure Iot Hub devices from my hardware devices. Now I want to perform some analysis using the IOT Central's application 'Smart Meter Monitoring' the link to the website is this https://apps.azureiotcentral.com/build/energy.To be more concise, I'm trying to consume the data present in the azure iot hub devices using the the IOT Central's application 'Smart Meter Monitoring' so that i can build dashboards on the data that is consumed. I Have browsed many websites and I am not having any progress in trying to connect azure IOT HUB and the 'Smart Meter Monitoring' application of IOT central. I am beginner in this field want to understand how this integration is made any tutorial or blog will be helpful

You could use this repo https://github.com/IOTD-Americas/iothub-bridge-function in order to re-send all telemetry from IoT Hub to IoT Central using an Azure Function in real time

Related

Azure IoT Edge: How to monitor the edge module (install) state for all devices on IoT hub

Is it possible to read events from IoT hubs in a way that we receive all status changes for IoT edge module installs? Possibly by receiving state changes to the edge agent reported properties of all connected devices?
Background: We are allowing users to "install" applications (represented by edge modules) on their edge devices on the fly through our own portal. We want to monitor changes to IoT devices and their modules, and note the changes in our database, so we can flag the corresponding apps as installed, removed, or failed.
Right now I can only find Event Grid based events for Device connected / disconnected events. I can also see that I can manually query the desired properties of each edge device's edge Agent separately. But since we will a large number of edge devices connected (>5000), polling them all just to see if something changed is not feasible.
Are the edge agent status changes of all IoT edge devices available as an event stream somewhere? Or is there a better solution?
IoT Edge's integration with Azure Monitor may help (docs). It has a module view that shows which modules are running and their availability. Since all the data is available in Log Analytics, you can create custom visualizations and processes using the data.
The Module twins in Azure IoT Hub shall help in below based on the information stored with it.
Monitoring the connectivity of the system
Monitoring the health of IoT Edge deployments
The Azure IoT Edge runtime has "IoT Edge Agent" as one of two modules that performs installation / initiation of modules and updating / reporting of the status of the modules to the IoT Hub. The $edgeAgent maintains the health and connectivity data about both the IoT Edge agent and IoT Edge hub runtime modules.
The Azure IoT Edge hub runtime maintains the data about communications between the "IoT Edge hub" running on the device and that of Azure IoT hub via the $edgeHub.
High level Overview :
Here is "Azure Monitor workbooks for IoT" that provides views couple of views :
An overview / state of active devices can be seen in the "Devices" View
Alerts display as per rules configured for the devices in "Alerts" View
Azure Monitor workbooks can be tuned for seeing data at any level (device state, app status) of interest. The public templates can be modified to meet the need/requirement in hand. The data shall fetched based on resource-centric KQL queries on the InsightsMetrics table.
Screenshot of Devices View :
Screenshot of Alerts View:
References :
Monitor Module Twins
Monitor Workbooks

Azure IoT Hub Device Identity requirements

I need to connect some sensors to an Azure IoT Edge Runtime via MQTT.
I read here:How an IoT Edge device can be used as a gateway , that in the "Transparent" Pattern, devices who hold their own IoT Hub device identity can communicate directly with Azure IoT Edge via MQTT.
I am still in the planning phase and don't have the sensors (or Iot Hub devices) at the moment so I couldn't really start testing directly. I wanted to know if all devices/sensors can hold their IoT Hub device identity and if there are any hardware requirements in order to do so?
Thank you very much in advance!
In the transparent gateway case, the requirements for devices / sensors are the same as if the device would connect directly to an IOTHub using its identity. That is, if the device or sensor supports to Azure IOTHub via MQTT, it should work through the transparent gateway. When configuring the device, instead of using a connection string for the Azure IOTHub itself, you'd use a connection string that references the local Edge gateway.
There are 3 basic steps to take in the transparent gateway scenario - the article you linked steps into them, but I'll add in some color for 2 and 3.
Set up the gateway for connectivity from the downstream devices & routing to the upstream IOTHub. This article has good details.
For each device, create an identity in Azure IOTHub, using the device's unique ID (for example, device EUI for a lorawan sensor) as the IOTHub DeviceId, and set up auth per this article. This step is where you determine the Edge gateway connection string.
Connect the downstream device to the gateway device and start sending messages. That's this article. This is obviously dependent on the device itself and the operating code/configs (whether a 3rd party black box type device or something running your own code).

How to see MQTT data in AWS IOT and Azure IOT HUB

I have a MQTT client which publish data (topic) to "AWS IOT" and "Azure IOT HUB".
To see the data into "Azure IOT HUB", I am using "DeviceExplorer":
https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/DeviceExplorer
I want to know?
For Azure IOT HUB:
- How I can see the same data in azure portal?
For AWS IOT:
- Is there any similar tool for AWS IOT?
- How I can see the same in AWS portal? (I thought it should be "CloudWatch", but not sure how to use it?)
Any links and reference will be appreciable.
For Azure portal:
There is no built-in feature to see a telemetry data in the Azure IoT Hub portal. However, the following Azure apps can help you:
Azure IoT Central
Time Series Insights
EventHubTrigger Function
In the case of using Visual Studio:
Cloud Explorer
For Azure IOT HUB:
To see the data in the Azure portal, you can go to the "IoT Hub" page and click on the "Monitor" tab. From there, you can view the real-time telemetry data and events from your devices. You can also use the "Data Explorer" feature to view and query your device data.
For AWS IoT:
There is no specific tool similar to Device Explorer for AWS IoT. However, you can use the AWS IoT console to view and monitor your device data.
To view the data in the AWS portal, you can go to the "AWS IoT" page and click on the "Test" tab. From there, you can subscribe to a topic and view the real-time data published by your devices. Alternatively, you can use the "CloudWatch" service to view and monitor your device data. To do this, you can create a "Rule" that forwards your device data to CloudWatch, and then use the CloudWatch console to view the data. You can also use the CloudWatch API to access and query your device data.

Why Azure IoTHub is defined as Platform as Service?

I see Azure IoTHub described as Cloud Platform as a Service? could anyone explain why IoTHub is PAAS?
https://azure.microsoft.com/en-in/services/iot-hub/
From the documentation:
Connect, monitor and manage billions of IoT assets—Use Azure IoT Hub to securely connect, monitor and manage billions of devices to develop Internet of Things (IoT) applications. IoT Hub is an open and flexible cloud platform as a service that supports open-source SDKs and multiple protocols.
To provide some context, the following article gives a high level overview of the various Azure IoT services, both PaaS and SaaS: Internet of Things (IoT) technologies and solutions: PaaS and SaaS

Receiving alerts/commands from Azure IoT Hub to device using NodeJS

Can any one suggest me how to receive Message/payload on RPI as device sent to Azure IoT Hub.
I am using SimulatedDevice.js and sending data with interval of every 5 seconds to Azure IoT Hub that data is going to store in Azure table storage from windows machine using NodeJS. Everything working Ok.
Now I want to receive complete message/payload from IoT Hub to RPI as device.
I have used sendcloudtodevicemessage.js as given example on Azure.
I am able to recieve message only only once as below
[{"originalMessageId":"My Message ID","description":"Success","deviceGenerationId":"636341763976720081","deviceId":"testDevice","enqueuedTimeUtc":"2017-07-18T09:50:27.991313Z","statusCode":"Success"}]
But I want to recieve message on device each time.
Can any one help me for this?