I am developing an Web App. Its main functionality is
to provide options to get data from different devices and
display them on Dashboard
My Current Flow
When it was started
A device will be sending data
This data from the device will to be placed in Azure Table Storage.
As and when the data gets into Azure the latest received data will be flashing (displayed) in my web app Dashboard.
The app is now getting bigger
we are expecting to get data from more than one device
each device may have same\different parameters & values to send to the Azure
So management of the parameters corresponding to each device too needs to be handled
For all this, its required to make the app manage the devices- like
registering new device,
allow edit\delete of the devices
maintaining the device related parameters
...
...
My Query
In this scenario would the device with IoT Hub serve my cause?
Or Should I make my web app only to manage (add\edit\del..) devices
Or is there any better option in Azure to manage device that send data to be placed on the Azure resource?
Please share your thoughts.
In this scenario would the device with IoT Hub serve my cause?
Device management with IoT Hub can serve you cause. Please refer to Overview of device management with IoT Hub, in this article there is introduction about Azure IoT Hub.
Or Should I make my web app only to manage (add\edit\del..) devices
Or is there any better option in Azure to manage device that send data to be placed on the Azure resource?
The repository of Microsoft Azure IoT SDK for .NET contains IoT service SDKs, you can use this SDK in you web app to manage the devices.The basic features of the tool DeviceExplorer in this repository are similar with your requirements, such as device management, receiving message from devices, sending data to devices by call method on devices. Even though, this tool is a desktop application, you can try to transplant the features in web app.
Related
We're thinking about adding Application Insights into our WinForms Desktop client application which runs on hardware without internet access.
The server application to which the desktop application connects to has internet access.
Is it possible to send the AI data from the clients to our local server and then to azure?
One way of doing it is to use Telemetry Processor. Your telemetry processor will be invoked for every telemetry item. Process function can implement sending it to wherever you'd like. By not calling this.Next.Process(item) you will prevent this item to be processed by the rest of a chain (and as a result will not be sent anywhere).
Potential other option - emulate Application Insights endpoint. The challenge here is that it might be incompatible with further versions.
Another option is to implement your own ITelemetryChannel and ITelemetrySink.
I am working in Azure notification hub, and the notifications send to the IOS applications. Following ,
https://learn.microsoft.com/en-us/azure/notification-hubs/notification-hubs-ios-apple-push-notification-apns-get-started
But the problem is my IOS application currently using about 1000 users. So the users do not want update his app. The question is - any option to implement Azure notification hub in IOS application without updating the App.? In my hand device Id stored in DB. And also I have certificates.
I think write a console application and add all device id to azure notification hub. Is it possible?
Per my experience, it seems to be not possible to migrate from APNS to Azure Notification Hub for your iOS app without any code changes, because you must have to add the Nofication Hub ListenSharedAccess connect string into your app project. Actually, the architecture migration for your app is from Fig 1 to Fig 2, as below, it will cause necessary code changes. Unless there is some mechanism of hot-patching in your app, but it was not allowed by Apple.
Fig 1.
Fig 2.
Yes, you can register all your existing device tokens with the Notification Hub using the API of your choice. Then have your app back-end register new tokens with the notification hub as they come in.
In azure we can track the data only if the user connects internet which is online. Suppose user is using the application with out connecting to internet... then how to track the data in offline mode in azure.
What kind of application do you want to develop? If it is a mobile app than there is an option for that: https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-offline-data-sync
I need to send this data below to the cloud, I've tried to mix it with a code in IoT Hub called SimulatedDevice, but I Always have some errors.
if (reading.IsValid)
{
this.TotalSuccess++;
this.Temperature = Convert.ToSingle(reading.Temperature);
this.Humidity = Convert.ToSingle(reading.Humidity);
this.LastUpdated = DateTimeOffset.Now;
this.OnPropertyChanged(nameof(SuccessRate));
// this.WriteData();
}
To do that, I've to mix the code above with this code here: IoT-hub C#: get started from azure.microsoft.com.
In my case I've to send temperature an humidity, someone could help? To send this information to the cloud? How could I mix these both.
I'm supposing you're running your app on windows IoT devices(like raspberry pi), so you need to develop UWP app, the reference you provide is for console app, which does not run on windows IoT devices.
There's an nice VS extension called Connected Service for Azure IoT Hub, as below,
After you install it, you can "connect to Azure IoT" Hub in the "Add Connected Service" pop up, all the necessary references will be automatically added, and an AzureIoTHub.cs file is created too.
Note you'll need to add "Windows IoT Extension for the UWP" extension to you project otherwise you'll run into error.
After you are done, you can update the data to your Azure IoT Hub. I have verified it on my raspberry pi 2 with IoT Core 14393.
Alternatively, there's an UWP sample app from azure-iot-sdk github repo, note that you'll need to reference "Windows.Azure.Devices.Client" instead of "Windows.Azure.Devices.Client.WinRT". It also works with my rapberry pi 2.
Is it possible to send notifications(toast, tiles, raw) from a server and receive it from Windows Phone 8.1 not using Azure Account(Notification Hub). I saw examples using 8.1 silverlight but I could not implement within WP 8.1.
If yes, can you explain simply how, or suggest a document?
Yes it is possible you can create your own web service desktop app to do this.
Here is an article from MSDN that explains how...
https://msdn.microsoft.com/en-us/library/windows/desktop/hh868252.aspx
There are quite a few things you need to setup such as WNS etc.
It is not necessary to using Azure. You can implement your own notifications server but you should understand how it works first, it's a little bit complicated :) - there is an overview for WP8.1 (Windows Runtime).
In short:
Your server must be authenticated with Windows Notification Service (WNS): How to here
Your WP8.1 app must obtain notification channel (Uri) from Windows Notification Service (WNS) and send it to your server.
Your server should send REST request (POST) with special xml content to channel (Uri) received from your app (WNS mediates in communication).
In last step WP app handles notification.
More info about communication with WNS on your server side: https://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx
It's your decision in which technology/platform you'll code it.
But there are several solutions provided by third-party push notifications providers. Eg. Parse - you can send some notifications for free. You'll avoid the problem of creating your own service.