IoT Cloud Service.
Abhay last edited by salmanfaris
How can we store data generated from IoT devices to cloud and blockchain.
swalahamani last edited by swalahamani
There are numerous ways to persist data generated from IoT devices in the cloud.
Since you haven't mentioned any specific requirements, I'm just giving you some general options commonly used.
Normally you have to write a service running on cloud to accept data from your IoT device and persist it on any persistent storage methods such as RDBMS or NoSQL Database engines or even plain files. You can write REST, Socket (Websocket / Socket.io or MQTT services for this. If you have to submit data in high frequency to the server from numerous devices the same time, you may better to consider using some load balancers and use lazy write or in-memory database like Redis or Casandra.
If you don't like to write the entire server service your self, you can use IoT cloud with built-in APIs or with simply configurable API generators.
You can also use Firebase like solutions for faster setup with cloud functions.
salmanfaris last edited by salmanfaris
Hi @Abhay ,
Like @swalahamani said there are many proving IoT data harvesting and visualizing tools. The trickiest part is choosing right that suit for your application and your stack.
we can categorize the tools into two categories Industrial specific and prototyping based on the architecture and cost.
Industrial specific service
These tools are Industry and product ready ones if you are really looking to space where you can expand your IoT product into larger userbase then these for you.
AWS IoT Platform
AWS has broad and deep IoT services, from the edge to the cloud. Device software, Amazon FreeRTOS and AWS IoT Greengrass, provides local data collection and analysis. In the cloud, AWS IoT is the only vendor to bring together data management and rich analytics in easy to use services designed specifically for noisy IoT data.
Cloud IoT Core is a fully managed service that allows you to easily and securely connect, manage, and ingest data from millions of globally dispersed devices. Cloud IoT Core, in combination with other services on the Cloud IoT platform, provides a complete solution for collecting, processing, analyzing, and visualizing IoT data in real-time to support improved operational efficiency.
IBM Watson IoT Platform
IBM Watson IoT Platform is a managed, cloud-hosted service designed to make it simple to derive value from your IoT devices. Watson IoT Platform and its additional add on services - Blockchain service and analytic service - enable organizations to capture and explore data for devices, equipment, and machines, and discover insights that can drive better decision-making.
Oracle Internet of Things Cloud Service
Oracle Internet of Things (IoT) Cloud Service is a managed Platform as a Service (PaaS) cloud-based offering that helps you make critical business decisions and strategies by allowing you to connect your devices to the cloud, analyze data from those devices in real-time, and integrate your data with enterprise applications, web services, or with other Oracle Cloud Services, such as Oracle Business Intelligence Cloud Service.
Microsoft Azure IoT
Enable highly secure and reliable communication between your IoT application and the devices it manages. Azure IoT Hub provides a cloud-hosted solution backend to connect virtually any device. Extend your solution from the cloud to the edge with per-device authentication, built-in device management and scaled provisioning.
--> I used the Microsoft Azure, Google IoT Core and AWS IoT services and I most satisfied with AWS IoT Services, You can also get free credits when you register for the first time in any of the above.
Prototype specific service
The problem with the Industrial specific service is that we need more time to set up and irrespective of the number either a single device or more it has same higher maintaining cost and time to set up, so I found it's not suitable for rapid prototyping
Cayenne is the world’s first drag and drop IoT project builder that empowers developers, designers and engineers to quickly prototype and share their connected device projects. Cayenne was designed to help users create Internet of Things prototypes and then bring them to production.
Adafruit IO is a system that makes data useful. Our focus is on ease of use and allowing simple data connections with little programming required.
IO includes client libraries that wrap our REST and MQTT APIs. IO is built on Ruby on Rails, and Node.js.
Thingspeak IoT Platform
ThingSpeak is an IoT analytics platform service that allows you to aggregate, visualize, and analyze live data streams in the cloud. You can send data to ThingSpeakfrom your devices, create instant visualizations of live data, and send alerts using web services like Twitter and Twilio. With MATLAB analytics inside ThingSpeak, you can write and execute MATLAB code to perform preprocessing, visualizations, and analyses. ThingSpeak enables engineers and scientists to prototype and builds IoT systems without setting up servers or developing web software.
--> I used the Cayenne, Adafruit IO and both are really good if you want to build a prototype/POC in a couple of hours.
I hope my explanation is useful, Also there are many services out there like Node-RED, Eclipse Kapua etc. So the choice is actually based on your end goal and what you are going to do with the data.
All the best.
@swalahamani thank you
@salmanfaris thank you
kowshik1729 last edited by kowshik1729
How can we store data generated from IoT devices to cloud and blockchain.
As salman bro has told there are many ways to upload data to cloud like gcp, amazon s3 buckets and many more. But, I would suggest you to facilitate us with more details like what is the application that you are using to upload the data whether it's a temperature values from a DHT sensor or kinda stuff.
Because, there are many simple and as complex ways to upload the data. If you are in the idea of using a laptop or a system with an internet connection at the project area then I would suggest you to go with Adafruit IO cloud services. You don't have to use any external shields or wifi modules to do this. You can use a simple python script running over your laptop that reads the values from the arduino and pushes them to the cloud.
Adafruit IO is super easy to use for the beginners and flexible due to it's API. If you don't have to use a laptop then grab nodeMCU which has an on-board WiFi module that connects to nearby WiFi networks and uploads the data. The Adafruit IO has pretty good interfaces for Data visualization. Check out their website https://io.adafruit.com/
@kowshik1729 we are trying to store readings from vehicles like to blockchain. For the purpose of securly recording the data which can be further used for forensics. But before implementing it with blockchain we are trying to learn how to store these data to cloud. As a first step we are thinking to use arduino or rasberry pi to learn things. Later moving to NODEMCU.
kowshik1729 last edited by
@Abhay I would like to specify some things. As you told you are in prototyping stage and your project obviously involves sensors, my suggestion is to go with any MCU's like arduino or Nodemcu kinda stuff.
Because raspberry pi can be used only when you need a replica of functionality that a computer gives. So, I suggest you to take up MCU's like nodeMCU, ESP32 and if I'm correct there is a variation of Arduino with an inbuilt esp8266 wifi chip over it. I'm sure there is one like that. Incase of any change in the functionality of the project you can go on with your own method. This is just a suggestion.
@kowshik1729 thank you, for the suggestion. Its informative.
@Anudeep Thanks a lot m8, I actually made a very silly mistake of including the https:// while entering FIREBASE_HOST, where I must have entered the Domain name alone and removed the https:// extension.
Thanks again for replying that quick. Cheers.
Hello @Palani, In the Firebase, there are two types of storage,Cloud Firestore (Very recent one & NoSQL database) Realtime Database (To which we upload the data using NodeMCU)
In the Arduino Code, you can see that there is a variable named FIREBASE_AUTH.
This variable should be assigned to the Database secret. This you can find in Project Settings -> Service accounts -> Database Secrets.
My mistake is, i have mistakenly assigned thay to Web API key. This is found at Project Settings -> General.
The error can also occur when u don't initialise a proper realtime database in Firebase. (This is not my case).
@Anudeep Hello Anudeep could you please help me out by elaborating the fix to get rid of that error?
Thanks in advance.
At Adobe, we’re focused on bringing together the most intelligent, driven, diverse set of individuals and give them the freedom to nurture their intellectual curiosity. We provide them with the necessary resources and support to shape their ideas into tangible results.
Through the Adobe India Women-in-Technology Scholarship, we are striving towards creating gender equality in science, technology and engineering domains by encouraging women to showcase their excellence in computing and technology and become future leaders and role models in the field.
𝗛𝗼𝘄 𝘁𝗼 𝗮𝗽𝗽𝗹𝘆?
Applications must be submitted through their dedicated application portal which opens on August 20th, 2020 and will close on September 20th, 2020, 5 pm India time.
Application deadline: September 20th, 2020, 5 pm India time.
@kowshik1729 If you are using an external high-speed switch, there is only one one clock generator for both wifi and BLE and the high-speed switch you mentioned is Ultra-Wideband (UWB) 3–8 GHz from its datasheet
you also check this solution that I shared in the previous post.
There is a special option called “Software controls WiFi/ Bluetooth coexistence” it can control the ESP32's Bluetooth and Wi-Fi coexistence using software, more details: https://www.espressif.com/sites/default/files/documentation/ESP32_FAQs__EN.pdf