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.
@Richu-Bini thanks for posting the question . just for a brief about pwm, pulse width modulation technique is a method to change the duty cycle of a wave. Which means you can determine how much time a signal must be on or off.
So, coming to the question, software pwm and hardware pwm is just two different ways of producing same result. In software(referring Arduino here) you'll just write a value between 0 to 255 inorder to determine duty cycle percentage. For example 0 is 0% duty cycle which means the cycle is on for 0% of whole time, similarly 127 means 50% of time cycle will be on and 255 means signal will be on for ever. This is regarding software.
Coming to hardware, you can generate a pwm signal using very simple passive component, called as potentiometer and 555 timer IC by using 555 timer as bistable multivibrator(The generated output will have two stable states 0 and Vmax, hence the name bistable) and changing the resistance using a potentiometer generates different duty cycles. This is the difference between hardware and software pwm. Please let me know if I haven't explained what you have expected.
This month we are discussing Psychology and Perils of Polyglot/Mixed Language Programming
by Praseed Pai
Author of .Net Design Patterns and
C++ Reactive Programming,
Father of SLANG Compiler.
Nowadays, every developer in the world ought to be a Polyglot (Programmer) to do something worthwhile in the industry. But, most are not prepared to get into that groove. The Session will give necessary conceptual, ontological, linguistic and formal background to navigate between programming languages with ease. The Session has got examples in C++, C#, Java, Scala, Python, JS, Python/C interface, Java Native Interface, P/Invoke, COM interop, RxJava/RxJS./Rxcpp/Rx.net etc. All code snippets are taken from real-life projects which the presenter has been part of, in the past two decades. The session also covers some pitfalls which an aspiring Polyglot Programmer should be watchful, as well.
Don't miss it, book your seats today. It's a golden opportunity for all Enthusiasts to listen from the true industry experts!
Come and join us! Have a Java Coffee
Date & Time : 29th February 2020 02:30 PM to 05:30 PM
Location : KeyValue Software Systems Pvt Ltd, SmartCity Kakkanad
Map : https://goo.gl/maps/7VruKuDzbHkNwcc87
Grab your ticket at: http://bit.do/KJUG012
What is the difference between hardware pwm and software pwm
flat end leaves flat surface profile on the stock and are good for removing large volume of material, but steps are formed when used for making curved surfaces. Ball end leaves curved surfaces and forms smooth curved finish while cutting cavities. They are used for finishing cuts.