Hello everyone, I am GitHub Project Finder, introducing open source projects on GitHub every day.
Today’s introduction: Arduino IoT Cloud
Arduino IoT Cloud is a platform that integrates various functions, designed to help users easily connect, control, and manage their Arduino devices.
GitHub link:
https://github.com/arduino-libraries/ArduinoIoTCloud
Domestic mirror (Chinese):
http://www.gitpp.com/kaa/arduinoiotcloud
Project Introduction
IoT Platform is a collection of software and services that support the connection, management, and data processing of IoT devices. These platforms typically offer a range of features, including device management, data collection, data analysis, remote monitoring, and control. The goal of the IoT platform is to simplify the development and deployment of IoT solutions, enabling businesses and individuals to quickly build and scale IoT applications. The developers of Arduino IoT Cloud are the team behind the Arduino Uno microcontroller board. This project aims to provide developers with a centralized place to more easily and quickly build connected applications. Not only can IoT-related applications be developed, but its IT cloud also allows users to manage IoT devices and monitor multiple data sources. Furthermore, it supports various sensors and other components, allowing users to easily and flexibly create complex IoT projects. Arduino IoT Cloud is an online platform designed specifically for Arduino projects, making it simple to create, deploy, and monitor IoT projects. This platform supports connecting Arduino boards via WiFi, LoRa, Ethernet, and Cellular (GSM/NBIoT), allowing users to quickly send various variable information from one board to another.
Main features of Arduino Cloud include:
Integrated Development Environment (IDE): for programming your Arduino board.
Cloud backend services: sync data from Arduino boards, also supports data from Python and JavaScript clients.
Graphical tools (dashboard): for controlling and monitoring your boards (as well as a mobile application).
REST API and command line tools: for large-scale automation.
Arduino Cloud supports various official Arduino boards and third-party boards, including boards with radio modules (such as WiFi®) and ESP32 boards. Users can also create so-called “manual devices,” creating virtual instances directly on the computer using JavaScript, Python, or MicroPython.
This platform provides customized solutions for individuals, schools, and commercial users, ensuring that all users can efficiently connect to the IoT. For example, for individual users, it offers over-the-air updates, data retention, real-time alerts, etc.; for schools, it provides a curriculum library and Google Classroom integration; for enterprises, it offers secure over-the-air updates, fleet management, and role-based access control features.
Arduino Cloud also offers a mobile application, allowing users to access dashboards and control projects anytime, anywhere.
Here are some main components of Arduino IoT Cloud:
1. Device Configurator: Allows users to define and configure parameters for their Arduino devices, such as sensor readings and actuator states.
2. Online console: A web-based interface for monitoring and controlling devices connected to Arduino IoT Cloud.
3. Rules engine: A graphical tool for creating automation rules that can trigger specific actions based on sensor data.
4. MQTT broker: Arduino IoT Cloud uses the MQTT protocol to allow efficient communication between devices and cloud services.
5. Data storage: Provides data storage services, allowing users to store, retrieve, and analyze data collected from devices.
6. Time series database: Used to store time-stamped data points, which is very useful for analyzing trends and patterns.
7. API and SDK: Provides APIs and Software Development Kits (SDKs), allowing developers to integrate Arduino IoT Cloud features into their own applications.
8. Mobile application: A mobile app that allows users to monitor and control their devices on their smartphones.
9. Integration services: Arduino IoT Cloud can integrate with other services, such as IFTTT, Google Assistant, Amazon Alexa, etc., to extend its functionality.
10. Device shadow: Provides a virtual, persistent, up-to-date state representation for each device, allowing status information to be updated and retrieved even when the device is offline.
11. Security: Provides security features such as data encryption and user authentication to ensure the safety of devices and data.
12. OTA (Over-The-Air) updates: Allows users to remotely update the firmware of devices without physical connections.
These components together form the Arduino IoT Cloud platform, enabling developers to easily create, deploy, and manage IoT solutions.
How to Use
-
<span>thingProperties.h</span>
void onLedChange();
/* ... */
bool led;
int seconds;
/* ... */
void initProperties() {
ArduinoCloud.setThingId("ARDUINO-THING-ID");
ArduinoCloud.addProperty(led, WRITE, ON_CHANGE, onLedChange);
ArduinoCloud.addProperty(seconds, READ, ON_CHANGE);
}
/* ... */
WiFiConnectionHandler ArduinoIoTPreferredConnection("SECRET_SSID", "SECRET_PASS");
-
<span>MyCloudApplication.ino</span>
#include "thingProperties.h"
void setup() {
Serial.begin(9600);
while(!Serial) { }
pinMode(LED_BUILTIN, OUTPUT);
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
}
void loop() {
ArduinoCloud.update();
seconds = millis() / 1000;
}
void onLedChange() {
digitalWrite(LED_BUILTIN, led);
}
GitHub link:
https://github.com/arduino-libraries/ArduinoIoTCloud
Domestic mirror (Chinese):
http://www.gitpp.com/kaa/arduinoiotcloud
We have collected a large number of open source projects on GitHub
Click Read the original text to see more open source projects