Note

Bonjour et bienvenue dans la communauté des passionnés de SunFounder Raspberry Pi, Arduino et ESP32 sur Facebook ! Plongez au cœur des Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.

Pourquoi nous rejoindre ?

  • Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.

  • Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.

  • Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux avant-premières.

  • Réductions exclusives : Profitez de réductions exclusives sur nos produits les plus récents.

  • Promotions festives et cadeaux : Participez à des concours et des promotions festives.

👉 Prêt à explorer et créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !

Bluetooth Environmental Monitor

Ce projet utilise une application Android créée avec MIT App Inventor pour recevoir et afficher des données environnementales provenant d’une carte Arduino. La carte Arduino récupère les données d’un capteur DHT11 pour mesurer la température et l’humidité. Une fois les données collectées, elles sont transmises via Bluetooth. L’application affiche les données à l’écran dès qu’elle les reçoit.

L’application Android sera construite en utilisant une plateforme web gratuite appelée MIT App Inventor. Ce projet est une excellente occasion de se familiariser avec l’interfaçage d’un Arduino avec un smartphone.

Composants nécessaires

Pour ce projet, nous avons besoin des composants suivants.

Il est certainement pratique d’acheter un kit complet, voici le lien :

Nom

ARTICLES DANS CE KIT

LIEN

Elite Explorer Kit

300+

Elite Explorer Kit

Vous pouvez également les acheter séparément à partir des liens ci-dessous.

INTRODUCTION DU COMPOSANT

LIEN D’ACHAT

Arduino Uno R4 WiFi

-

Plaque de Montage (Breadboard)

ACHETER

Fils de Liaison

ACHETER

Module Capteur d’Humidité et de Température DHT11

ACHETER

1. Construire le circuit

../_images/08-bluetooth_environmental_monitor_bb.png ../_images/08_ble_home_schematic.png

2. Créer l’application Android

L’application Android sera développée en utilisant une application web gratuite appelée MIT App Inventor. MIT App Inventor est un excellent point de départ pour le développement Android, grâce à ses fonctionnalités intuitives de glisser-déposer qui permettent de créer des applications simples.

Commençons maintenant.

  1. Allez sur Get Started with MIT App Inventor, et cliquez sur « online tool » pour vous connecter. Vous aurez besoin d’un compte Google pour vous inscrire sur MIT App Inventor.

    ../_images/08_ai_signup.png
  2. Après vous être connecté, naviguez vers Projects -> Import project (.aia) from my computer. Ensuite, téléchargez le fichier ble_environmental_monitor.aia situé dans le chemin elite-explorer-kit-main\iot_project\08-bluetooth_environmental_monitor.

    Vous pouvez également le télécharger directement ici : ble_environmental_monitor.aia

    ../_images/08_ai_import.png
  3. Après avoir téléchargé le fichier .aia, vous verrez l’application dans le logiciel MIT App Inventor. Il s’agit d’un modèle pré-configuré. Vous pouvez modifier ce modèle après vous être familiarisé avec MIT App Inventor en suivant les étapes ci-dessous.

  4. Dans MIT App Inventor, vous avez 2 sections principales : le Designer et les Blocks. Vous pouvez passer d’une section à l’autre en haut à droite de la page.

    ../_images/08_ai_intro_1.png
  5. Le Designer vous permet d’ajouter des boutons, du texte, des écrans et de modifier l’esthétique générale de votre application.

    ../_images/08_ai_intro_2.png
  6. Ensuite, il y a la section Blocks. Cette section vous permet de créer des fonctionnalités personnalisées pour votre application, vous permettant de programmer chaque composant de l’interface utilisateur de l’application pour obtenir les fonctionnalités souhaitées.

    ../_images/08_ai_intro_3.png
  7. Pour installer l’application sur un smartphone, naviguez vers l’onglet Build.

    ../_images/08_ai_intro_4.png
    • Vous pouvez générer un fichier .apk. Après avoir sélectionné cette option, une page apparaîtra vous permettant de choisir entre télécharger un fichier .apk ou scanner un code QR pour l’installation. Suivez le guide d’installation pour compléter l’installation de l’application.

      Vous pouvez également télécharger notre APK pré-compilé ici : ble_environmental_monitor.apk

    • Si vous souhaitez télécharger cette application sur Google Play ou une autre marketplace d’applications, vous pouvez générer un fichier .aab.

3. Téléchargez le code

  1. Ouvrez le fichier 08-bluetooth_environmental_monitor.ino sous le chemin elite-explorer-kit-main\iot_project\08-bluetooth_environmental_monitor, ou copiez ce code dans Arduino IDE.

    Note

    Pour installer la bibliothèque, utilisez le gestionnaire de bibliothèques Arduino pour rechercher et installer « DHT sensor library » et « ArduinoBLE ».

  2. Après avoir sélectionné la carte et le port corrects, cliquez sur le bouton Upload.

  3. Ouvrez le moniteur série (réglez le débit en bauds sur 9600) pour voir les messages de débogage.

4. Connexion de l’application et du module Bluetooth

Assurez-vous que l’application créée précédemment est installée sur votre smartphone.

  1. Tout d’abord, activez le Bluetooth sur votre smartphone.

    ../_images/08_app_1.png
  2. Ouvrez maintenant la nouvelle application Environmental Monitor.

    ../_images/08_app_2.png
  3. Lorsque vous ouvrez cette application pour la première fois, deux invites d’autorisation apparaîtront successivement. Ce sont les autorisations requises pour utiliser le Bluetooth.

    ../_images/08_app_3.png
  4. Dans l’application, cliquez sur le bouton Connect pour établir une connexion entre l’application et le module Bluetooth.

    ../_images/08_app_4.png
  5. Cette page affiche une liste de tous les appareils Bluetooth appariés. Choisissez l’option xx.xx.xx.xx.xx.xx UNO R4 Home dans la liste. Le nom de chaque appareil est indiqué à côté de son adresse MAC.

    ../_images/08_app_5.png
  6. Si vous ne voyez aucun appareil sur la page affichée ci-dessus, vous pouvez essayer d’activer le commutateur de localisation de l’appareil (certaines versions du système Android associent le commutateur de localisation à la fonction Bluetooth).

    ../_images/08_app_6.png
  7. Après une connexion réussie, vous serez redirigé vers la page principale où la température et l’humidité seront affichées.

    ../_images/08_app_7.png

5. Explication du code

  1. Importation des bibliothèques et définition des constantes

    • Importez les bibliothèques nécessaires et définissez les constantes pour le broche et le type de capteur DHT.

    Note

    Pour installer la bibliothèque, utilisez le gestionnaire de bibliothèques Arduino pour rechercher et installer « DHT sensor library » et « ArduinoBLE ».

    #include <DHT.h>
    #include <ArduinoBLE.h>
    #define DHTPIN 11
    #define DHTTYPE DHT11
    
  2. Initialisation des services et caractéristiques BLE

    BLEService environmentalSensingService("181A");
    BLEShortCharacteristic temperatureCharacteristic("2A6E", BLERead | BLENotify);
    BLEUnsignedShortCharacteristic humidityCharacteristic("2A6F", BLERead | BLENotify);
    
  3. Fonction Setup

    • Initialisez la communication série, le capteur DHT et le BLE.

    void setup() {
      Serial.begin(9600);
      dht.begin();
      if (!BLE.begin()) {
        Serial.println("starting Bluetooth® Low Energy module failed!");
        while (1)
          ;
      }
      setupBle();
    }
    
  4. Boucle principale

    • Interrogez les événements BLE et mettez à jour les données du capteur à intervalles réguliers.

    • La ligne millis() - lastUpdateTime > updateInterval garantit que les données du capteur sont mises à jour toutes les updateInterval millisecondes.

    void loop() {
      BLE.poll();
      if (millis() - lastUpdateTime > updateInterval) {
        // Lisez les données du capteur et mettez à jour les caractéristiques BLE
      }
    }
    
  5. Fonctions BLE et de débogage

    • Fonctions pour configurer le BLE, imprimer des informations de débogage et gérer les événements BLE.

    void printDHT(float h, float t) { /* ... */ }
    void setupBle() { /* ... */ }
    void blePeripheralConnectHandler(BLEDevice central) { /* ... */ }
    void blePeripheralDisconnectHandler(BLEDevice central) { /* ... */ }
    
    • printDHT(float h, float t) : Utilisé pour imprimer les données de température et d’humidité lues par le DHT11 sur le moniteur série. Cette fonction est destinée au débogage.

    • setupBle() : Initialise le Bluetooth, y compris le nom de diffusion, les caractéristiques et les services.

    • blePeripheralConnectHandler(BLEDevice central) et blePeripheralDisconnectHandler(BLEDevice central) : Ces fonctions gèrent les événements lorsque Bluetooth se connecte ou se déconnecte. Lorsqu’un appareil se connecte avec succès à l’UNO R4 via Bluetooth, la LED embarquée s’allume. Lorsque l’appareil se déconnecte, la LED s’éteint.