Connect the cloud to the world around you.
Log, graph and analyze sensor data, trigger events, and automate your home or business. Here’s why you might like it: Easy for beginners, fast for professionals
|
Additional resources: |
Start creating your Things now!
Arduino IoT Cloud is in public beta. We welcome feedback on what you like and what you don’t!
Based on what the user wants to achieve, an IoT application will require a few basic components:
Overview of The Arduino IoT Cloud Components
Devices are physical objects like a hardware board that can be contained inside a product (e.g., MKR WiFi 1010). They’re the hardware which runs the software, reads sensors, controls actuators and communicates with the Arduino IoT Cloud.
Things represent the inherent properties of the object, with as little reference to the actual hardware used to implement them. Each thing is represented by a collection of properties (e.g., temperature, light).
Properties are the qualities defining the characteristics of a system. A property can be something like a 'read-only' (RO) setting to indicate the Arduino IoT Cloud can read the data, but cannot change the value of the property. A property might be designed as 'read and write' (RW) if the Arduino IoT Cloud can also remotely change the property’s value and send an event notification to the device.
For example, a device might have a sensor which will provide the room temperature. That would be read-only. It might also include a thermostat to be able which will change the room’s temperature.
Property | Type | Value | Permission |
ROOM_TEMPERATURE | TEMP (F) | 64 | RO |
DESIRED_TEMPERATURE | TEMP (F) | 69 | RW |
The Arduino IoT Cloud becomes aware of events when it receives application messages that indicate the something has happened. For example, it might be informed by a face-recognition application that someone is at a door, or it has received a request from another app that light has to be turned on.
Arduino boards usually require you to program them, to enter some code by way of an Arduino Sketch. The Arduino IoT Cloud will quickly and automatically generate a Sketch when setting up a new thing: this is one of its convenient features.
Arduino IoT Cloud allows other methods o interaction, including HTTP REST API, MQTT, Command-Line Tools, Javascript, and Websockets. It’s a very versatile system.
Creating a new IoT project flow
To understand better how this might work, suppose we want to build an IoT greenhouse (i.e., a small enclosure constructed primarily of glass, used for growing plants). The goal is to control remotely this greenhouse: to be able to turn off and on the lights, start the irrigation system, read the temperature inside the garden, etc. Here are the basic components needed to do this:
We need a device to control the irrigation system. We’ll use an Arduino MKR WiFi 1010, attached to a couple of sensors for measuring the temperature, light, etc. Also attached will be actuators such as an irrigation pump, as well as light and fan switches. The software (i.e., an Arduino Sketch) that will be uploaded to the MKR board, will automatically control the properties of the actuators. For instance, it will make changes to activate the ventilation fans when there is too much humidity or it’s too hot in the greenhouse. The properties will be stored in the Cloud and may be remotely changed from there. There are several properties which will define the greenhouse:
Once this is all in place, the system will wait for events and react to them. Events can be the switching the pump on, switching the fan off, turning on the lights, etc.
A complete Getting Started Guide about Arduino IoT Cloud is available on Projecthub