IoT beginner here... I am looking to build a mobile app to communicate to one of my devices using AWS / Azure IoT. Before start building the app I thought to get advice from experts. Does AWS / Azure IoT has any built-in mobile app which I can reuse or do I need to build app from scratch? I would really appreciate if anybody can share the whole process (Not AWS / Azure IoT communication but the steps to build mobile app for AWS / Azure IoT)
This is really off-topic for SO, however each IoT Provider like Azure and AWS does have it's own quick start guides.
Raspberry Pi 3, running Windows 10 IoT Core OS has some built in support for their IoT Hub integration, if you are familiar with C# its a very easy entry point to IoT in general.
See Windows 10 Internet of Things
Related
I am already experienced with the Microsoft Azure Device Provisioning Service, which enables my devices to register themselfes through e.g. Certificates in the Microsoft Azure IoT Hub. That makes of course enrollment of thousand of devices easier.
I have no experience in Google Cloud Platform and i have seen that there is MQTT Broker and an IOT Core Service within GCP.
But i didnt get it and it does not seem to be, that the IOT Core Service offers a similar functionality to the Microsoft Azure Device Provisioning Service.
Is this correct? Or how could i enroll lots of devices in an GCP IoT Architecture with automatic device registry and "distribution" over multiple IoT Core Services?
You could take a look at the Registeries and Device APIs to do the same. Having said that, one api call equals creation of one device.
I have started looking into IoT and interested to know how to make IoT framework especially for a manufacturing process on cloud computing environment. I am not sure how to make a IoT framework , suppose i have four or five IoT sensors are being used in a manfucturing environment than how can i use them to create a framework on cloud such google or Azure etc.
Can anybody comment on it . much appreciated
Nhqazi
I think that there should be some explanation - let me prepare it for you.
There are different cloud providers which offers services dedicated for IoT solutions, for instance:
Microsoft Azure cloud offers: Azure IoT Hub
Amazon offers: AWS IoT
Google offers: Google Cloud IoT
Now each of theese service offers some tools to integrate them with IoT devices. This is I think what you are talking about. For instance Microsoft provides Azure IoT Hub SDK so you can use it to send data from your device to the cloud and from the cloud to the device.
Now if you have devices and sensors you can intgrate them with cloud services mentioned above. Here you can see how I integrated Raspberry PI2 device and motion sensor with Azure IoT Hub from Microsoft:
https://daniel-krzyczkowski.github.io/cloudyofthings/article1/index
When I click on Onboard option in AWS IoT console, I see an option to register a thing. Clicking on it, followed by Get Started, shows me a page to select an SDK for registration. The first step is to select OS and then a language. At this point, I do not see an option to select a C or a C++ SDK!
The page for AWS IoT SDKs shows the C/C++ SDK. But, the page for AWS IoT Device SDK does not show the C++ SDK.
So, what are these various AWS SDKs? How are they different?
What are the differences between a AWS IoT SDK and a Eclipse Paho client for connecting to a MQTT broker?
What changes maybe needed for an Eclipse Paho client to connect to an AWS IoT MQTT end-point?
My goal is to build MQTT client in C/C++ for a RTOS device. I would register it 'outside' of the device.
1. Different SDKs
There are 2 main categories of AWS SDKs when it comes to AWS IOT.
You have the device SDKs that you typically run on a device
You have the AWS SDKs that you typically run in the cloud
Both come in a variety of languages. Device SDKs typically use MQTT and x509 certificates for authentication to AWS IOT but you can communicate over https as well. An overview of the supported protocols for iot clients can be found here. Keep in mind that devices typically tend to use bi-directional long lived communication with aws iot using MQTT (publish / subscribe). The http protocol can only be used to send messages from the device to AWS IOT.
If you're on a C based system you have 2 options :
CPP : https://github.com/aws/aws-iot-device-sdk-cpp
Embedded C : https://github.com/aws/aws-iot-device-sdk-embedded-C
These use standard MQTT communication.
2. Difference between AWS IoT SDK and Eclipse Paho
Both will use MQTT / x509 certificates and MQTT_SSL_VERSION_TLS_1_2.
In theory both should work with Aws IOT and I have seen working samples of the Eclispe Paho MQTT client in C++ running against Aws IOT.
From my experience, you're typically better off using the vendors SDK as they will have better support / samples / features then the more generic MQTT libs.
There's also some value about being cloud agnostic and using standard protocols / libraries like MQTT/Paho to avoid (aws) vendor lock-in.
3. Paho client and AWS IOT
AWS IoT needs TLS V1.2 so your Paho client needs to support that. I believe it should be possible now with Paho cpp.
I like the friendly interface that AWS Mobile Hub provides to disparate Amazon services, but I'd like to use it to create a web application, rather than a native iOS or Android app.
It's not clear to me how to do so, since there's no option for javascript sample code or any mention of web applications:
Am I missing something? Is there documentation for this use-case elsewhere?
All of the resources that are configured by various features in Mobile Hub (e.g., NoSQL Database, Cloud Logic APIs) are usable directly from a web app in the browser. For example, you can turn on the App Content Delivery feature, enable web hosting on your Amazon S3 bucket, download/copy the AWS JavaScript SDK into your Amazon S3 bucket, and start writing your web app. The JavaScript SDK will allow you to interact with your Mobile Hub resources (found on the "Resources" page in the left Nav menu in Mobile Hub's console).
However, we do realize these steps are tedious and we have had similar feedback from other customers. So, we are actively working to make these steps easier.
In the meantime, you can get the AWS JavaScript SDK here:
https://aws.amazon.com/sdk-for-browser/
And, you may find some of our github samples are a good starting point, like this one:
https://github.com/awslabs/lambda-refarch-webapp
For those looking to build web apps, AWS has a JavaScript library called AWS Amplify that makes building cloud web apps easy: https://aws.github.io/aws-amplify/
How to make chat api for android and iphone using AWS ?
I am new to server background. I am using AWS server to my project.I just want make chat api for android and ios. What is step by step to make chat api in aws?
If you want to go with a Server approach then you can use the following product on Amazon EC2 to create a Popular XMPP server (ejabbered)
EJabbered on AWS EC2
Nowadays going serverless is getting more common and would like you to look on this example with AWS Lambda
Example : AWS Lambda Chat
Ask for more below in comments :)