Capturer et visualiser des données environnementales avec Arduino MKR WiFi 1010 sur IoT Cloud
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino MKR WiFi 1010 | 1 |
| Shield Arduino MKR ENV | 1 |
Applications et services en ligne
- Arduino IoT Cloud
À propos de ce projet
L'histoire
En réalisant ce projet, vous apprendrez à lire les données des différents capteurs disponibles sur le shield ENV, et à visualiser ces données sur les widgets disponibles dans Arduino Cloud.
Ce dont vous avez besoin
Le projet nécessite : un Arduino MKR WiFi 1010, le shield MKR ENV, un pack batterie (ou autre moyen d'alimentation) et un compte sur Arduino IoT Cloud.
- Arduino MKR WiFi 1010 : Le cœur du projet. Ce gère le calcul et la communication grâce à son microcontrôleur SAMD21 et au module NINA-W10 embarqué, capable de WiFi et BLE.
- Pack batterie : Connecté au MKR WiFi 1010, il alimente l'appareil quand aucune autre source n'est disponible.
- Shield MKR ENV : Un shield pour Arduino MKR intégrant des capteurs environnementaux pour mesurer température, humidité, pression, lumière et UV.
- Identifiants WiFi : Nécessaires pour la connexion au réseau.
La configuration matérielle est simple : il suffit d'assembler le MKR WiFi 1010, le shield ENV et le pack batterie.
Structure du code
Deux parties principales composent le code :
- Le squelette généré par les API Arduino IoT Cloud pour afficher les données reçues de la carte MKR WiFi.
- La bibliothèque Arduino_MKRENV qui permet de lire les valeurs mesurées par tous les capteurs du shield ENV.
Notre Thing Arduino IoT Cloud sera configuré pour contenir six propriétés représentant toutes les mesures acquises par le MKR WiFi 1010 et envoyées via une connexion sécurisée.
Le sketch Arduino est d'abord auto-généré par IoT Cloud et gère la connexion Internet ainsi que le transfert de données entre notre Thing et la carte. Nous y ajoutons ensuite la bibliothèque Arduino_MKRENV pour gérer les capteurs du shield ENV.
Sketch
La première section inclut les bibliothèques requises :
#include "thingProperties.h"
#include <Arduino_MKRENV.h>
thingProperties.h inclut toutes les fonctionnalités de connexion WiFi et de gestion du cloud ; l'utilisateur doit seulement fournir les identifiants WiFi (SSID et MOT DE PASSE).
Arduino IoT Cloud authentifie l'appareil connecté via une clé stockée dans le crypto-chip de la carte lors de la configuration du dispositif (section Devices - ADD DEVICE), garantissant une transmission de données sur un canal sécurisé.
La bibliothèque Arduino_MKRENV inclut tout le nécessaire pour lire les valeurs de chaque capteur du shield MKR ENV.
La section setup initialise tous les objets utilisés par le sketch, y compris Arduino IoT Cloud et ses propriétés. ArduinoCloud.begin() prépare la carte à se connecter et échanger des données avec le Dashboard :
void setup() {
Serial.begin(9600);
delay(1500);
initProperties(); // Défini dans thingProperties.h
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
if (!ENV.begin()) {
Serial.println("Échec d'initialisation du shield MKR ENV !");
while(1);
}
}
La boucle loop interroge chaque capteur du shield MKR ENV. Après chaque lecture, le sketch met à jour les variables de propriétés et grâce à ArduinoCloud.update(), les données sont synchronisées avec le cloud :
void loop() {
ArduinoCloud.update();
humidity = int(ENV.readHumidity());
lux = int(ENV.readIlluminance());
pressure = int(ENV.readPressure());
temperature = int(ENV.readTemperature());
uva = int(ENV.readUVA());
uvb = int(ENV.readUVB());
uvi = int(ENV.readUVIndex());
delay(1000);
}
Comment configurer et utiliser
Assemblez tous les composants, connectez votre MKR WiFi 1010 à l'ordinateur et connectez-vous à votre compte Arduino Cloud.
Suivez la procédure expliquée dans « Arduino Cloud Getting Started » et créez les propriétés comme spécifié dans le tableau suivant (chaque nom est sensible à la casse) :
À chaque ajout de widget, un formulaire comme ci-dessous doit être rempli :
Si toutes les propriétés sont correctement créées, vous obtenez ceci :
Quand toutes les propriétés sont créées, cliquez sur edit code. Vous serez redirigé vers l'Arduino Create Web Editor où vous remplacerez le sketch principal dans le premier onglet par le code complet ci-dessous :
/* Sketch généré par Arduino IoT Cloud Thing "env_shield"
https://create.arduino.cc/cloud/things/829941ed-efdd-4572-91c0-e93a732192ec
Arduino IoT Cloud Properties description
The following variables are automatically generated and updated when changes are made to the Thing properties
int humidity;
int lux;
int pressure;
int temperature;
int uva;
int uvb;
int uvi;
Properties which are marked as READ/WRITE in the Cloud Thing will also have functions which are called when their values are changed from the Dashboard.
These functions are generated with the Thing and added at the end of this sketch.
*/
#include "thingProperties.h"
#include <Arduino_MKRENV.h>
void setup() {
Serial.begin(9600);
delay(1500);
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(4);
ArduinoCloud.printDebugInfo();
if (!ENV.begin()) {
Serial.println("Failed to initialize MKR ENV shield!");
while(1);
}
}
void loop() {
ArduinoCloud.update();
humidity = int(ENV.readHumidity());
lux = int(ENV.readIlluminance());
pressure = int(ENV.readPressure());
temperature = int(ENV.readTemperature());
uva = int(ENV.readUVA());
uvb = int(ENV.readUVB());
uvi = int(ENV.readUVIndex());
delay(1000);
}
void onHumidityChange() { }
void onLuxChange() { }
void onPressureChange() { }
void onTemperatureChange() { }
void onUvaChange() { }
void onUvbChange() { }
void onUviChange() { }
Téléversez le sketch sur la carte. Une fois la connexion établie, le MKR WiFi synchronisera les valeurs du shield ENV avec leurs propriétés dans le Cloud, affichées dans le dashboard du Thing créé.
Le sketch sur Arduino Create est disponible dans la section code. Nous espérons que vous apprécierez créer votre capteur maison/jardin simple avec Arduino IoT Cloud, le MKR WiFi 1010 et l'élégant shield MKR ENV.
Cordialement,
L'équipe Arduino
Code
Vos données environnementales sur Arduino IoT Cloud
Le code complet est disponible dans la section ci-dessus.
Processus de fabrication
- Optimiser l'infrastructure cloud pour performance et efficacité maximales
- Idée reçue sur le Cloud #3 : Le Cloud n'est pas un choix d'affaires irresponsable
- Comment l'IoT et le cloud computing façonnent l'avenir des données d'entreprise
- Votre usine est-elle prête pour l'IoT ? Guide pratique
- Transformer les données IoT en valeur business : guide pratique
- Exploiter les données IoT pour l'excellence manufacturière
- Trois façons puissantes dont le Cloud Computing améliore les déploiements IoT
- Exploiter la puissance du Cloud pour l'IoT : connectivité fluide et insights données
- Investissements IoT sur le point de dépasser le cloud, selon nouvelle étude