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.
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.
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.
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!
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
Does google cloud have an analogous functionality to AWS Lambda?
In particular I would like compute resources to be opened up and jobs scheduled via https events.
I'm also interested in any other cloud hosting providers which have similar functionality.
I just found out that there is something that looks interesting in the latest documentation of the SDK's command line tool gcloud.
https://cloud.google.com/sdk/gcloud/reference/alpha/functions/
This sounds exciting.
UPDATE: Google just released some official documentation of an alpha version of Cloud Functions. For now, functions can be written in Javascript using Node, and triggered by Pub/Sub, Cloud Storage, direct HTTP stimuli or manually for debugging purposes.
Google Cloud Storage has Object Change Notification. Only web hooks are currently supported at this time.
A client application can send a request to watch for a bucket's change notification events in order to be notified about changes to a bucket's objects. After a notification channel is initiated, Google Cloud Storage notifies the application any time an object is added, updated, or removed from the bucket.
For example, when you add a new picture to a bucket, an application could be notified to create a thumbnail.
More info can be found at: https://cloud.google.com/storage/docs/object-change-notification
Regarding other providers that have similar functionality, check out IronWorker. You can kick off IronWorker tasks via https endpoints using the webhook endpoint and you can run jobs on multiple clouds. Here's a comparison of Lambda vs IronWorker.
And yes, I work for Iron.io.
Lately Google announced alpha release of Google Cloud Functions which supports http interface.
There is Google Cloud Functions and Microsoft Azure functions, they are both fairly new (Microsoft announced Azure function on March 31 2016)
if you need Lambda with HTTP interface then look at Nano Lambda
They can deploy to any cloud and on premise.