How to make an IoT Framework on Cloud - google-cloud-platform

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

Related

Gogle Cloud alternative to Microsoft Azure Device Provisioning Service

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.

Is google cloud iot enabling devices to communicate locally as aws greengrass does?

So I have a product built using aws greengrass core and aws iot core. And I'm trying to migrate to Google Cloud Platform. I saw that basically, google cloud iot does the same thing as aws iot core. But I can't really find a google brick with a feature that enable devices to share data when they are not connected to the internet. Is it integrated with cloud iot core ? Or there is no equivalent features on google cloud ?
No, not natively. IoT Core from AWS and GCP have very similar capabilities, but GCP does not have any equivalent to Greengrass. You could implement this manually and still use GCP IoT Core, and leverage Gateways to implement the local bridge to GCP, but you have to do the heavy lifting of how to authenticate devices locally and handle the buffering and message brokering.
You can implement some of that logic and East/West traffic with the LFEdge projects such as EdgeX Foundry or FLEdge, and Open Horizon, but that seems out of scope of your question.

How can i use the Google Cloud IoT data direct in the server based app?

I am new to Google Clout Iot core. I just tried the iot core, registered the device and published some data on a topic.
Now i am wondering is only Google functions are used to get/subscribe data from it? or can i also used the data published from a device directly into my applications e.g. node.js or python? like it is usually subscribed through a normal MQTT topic? I dont need a serverless architecture i want to use the data from google iot into my server and store/use it from there..
thanks a lot!
When a message arrives over MQTT or HTTP from a device over IoT Core, that message is published on a GCP Pub/Sub topic using the GCP Pub/Sub infrastructure. What this means is that you can develop a consuming application however you like as long as that application consumes the message from Pub/Sub.
The diagram shown here from the documentation is a good reference.
GCP exposes the API for Pub/Sub to be a subscriber. There are language bindings for a variety of languages.
Cloud Functions is typically seen as a serverless consumer of Pub/Sub messages as it scales to zero and can scale up if there is bursty load. However, there is nothing to prevent you from writing Compute Engine hosted applications or Container hosted applications which can act as subscribers.
References:
Cloud Pub/Sub documentation
Cloud Pub/Sub Client Libraries
I think your question is more on the architectural side of things. You can use IoT Core with something like Pub/Sub and write the data to Cloud Storage in order to later consume it with an application.
I would recommend you to check some of the diagrams from this page if you are interested in knowing which products you could use to best fit your needs.
I hope you find this useful!

AWS IoT mobile application

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

IoT device management/onboarding with Google Firebase

I'm looking for something like AWS's device management functionality (https://aws.amazon.com/iot-device-management/) that exists on Google's Firebase service.
I found this: https://cloud.google.com/community/tutorials/cloud-iot-firestore-config
But I'm not sure if I can achieve the same functionality as with AWS IoT Device Management (I'm still new to Firebase).
Is there a Firebase equivalent to AWS IoT Device Management, specifically regarding onboarding and organization?
There is no equivalent in Firebase.
As has been mentioned, no, there's nothing directly in Firebase.
Have you looked at Cloud IoT Core? It has a lot of the features you're probably looking for in a device manager. From there, there are data pipeline tools (like Google Cloud Functions, or Cloud Dataflow) which can ferry the telemetry data from your devices into Firebase (or, potentially a better option, Firestore).
I did a session at the Google Cloud Next conference this year (2018) which talked about the end-to-end IoT application, and we published the code we built on stage which includes IoT device management, and used Cloud Functions to push the data into Firestore if you're interested. Link can be found here. The Cloud Functions that moved the data into Firestore are in the gcf folder. The device folder has the Python code we used on device to send telemetry up to IoT Core.