Arduino UNO R4 WiFi Exemple Moniteur Bluetooth - Tutoriel Moniteur Série Sans Fil via BLE
Vue d'ensemble
L'exemple Moniteur Bluetooth offre un moniteur série sans fil accessible via l'application DIYables Bluetooth STEM. Conçu pour Arduino UNO R4 WiFi utilisant BLE (Bluetooth Low Energy) pour transmettre en temps réel des messages d'état, des sorties de débogage et des lectures de capteurs sans fil vers votre smartphone. Recevez également des commandes texte depuis l'application. Parfait pour le débogage sans fil, la surveillance à distance et la journalisation système.
Note : L'Arduino UNO R4 WiFi ne supporte que BLE (Bluetooth Low Energy). Il ne supporte pas le Bluetooth Classique. L'application DIYables Bluetooth supporte à la fois BLE et Bluetooth Classique sur Android, et BLE sur iOS. Puisque cette carte utilise BLE, l'application fonctionne sur Android et iOS.
Fonctionnalités
Moniteur Série Sans Fil : Transmettez des messages texte vers votre téléphone
Communication Bidirectionnelle : Envoyez des commandes depuis l'application vers Arduino
Transmission Temps Réel : Sortie continue comme le Moniteur Série
Gestion des Commandes : Traitez les commandes texte depuis l'application
Fonctionne sur Android et iOS : BLE est supporté sur les deux plateformes
Aucun Appairage Requis : BLE se connecte automatiquement sans appairage manuel
Faible Consommation : BLE consomme moins d'énergie que le Bluetooth Classique
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
Code Arduino UNO R4 WiFi
Étapes Rapides
Suivez ces instructions étape par étape :
Si c'est votre première utilisation de l'Arduino UNO R4 WiFi, consultez notre guide Arduino UNO R4 WiFi Getting Started pour apprendre les bases.
Connectez la carte Arduino UNO R4 WiFi à votre ordinateur avec un câble USB.
Lancez l'IDE Arduino sur votre ordinateur.
Sélectionnez la carte Arduino UNO R4 WiFi et le port COM approprié.
Naviguez vers l'icône Libraries dans la barre gauche de l'IDE Arduino.
Recherchez "DIYables Bluetooth", puis trouvez la bibliothèque DIYables Bluetooth par DIYables
Cliquez sur le bouton Install pour installer la bibliothèque.
Il vous sera demandé d'installer d'autres dépendances de bibliothèque
Cliquez sur le bouton Install All pour installer toutes les dépendances.
Code BLE
Dans l'IDE Arduino, allez à File Examples DIYables Bluetooth ArduinoBLE_Monitor exemple, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Arduino
/* * DIYables Bluetooth Library - Bluetooth Monitor Example * Works with DIYables Bluetooth STEM app on Android and iOS * * This example demonstrates the Bluetooth Monitor feature: * - Send real-time status messages to the mobile app * - Display system information and sensor readings * - Receive and process commands from the app * - Perfect for debugging and system monitoring * * Compatible Boards: * - Arduino UNO R4 WiFi * - Arduino Nano 33 BLE / BLE Sense * - Arduino Nano 33 IoT * - Arduino MKR WiFi 1010 * - Arduino Nano RP2040 Connect * - Any board supporting the ArduinoBLE library * * Setup: * 1. Upload the sketch to your Arduino * 2. Open Serial Monitor to see connection status * 3. Use DIYables Bluetooth App to connect and view monitor output * * Tutorial: https://diyables.io/bluetooth-app * Author: DIYables */#include <DIYables_BluetoothServer.h>#include <DIYables_BluetoothMonitor.h>#include <platforms/DIYables_ArduinoBLE.h>// BLE Configurationconst char* DEVICE_NAME = "Arduino_Monitor";const char* SERVICE_UUID = "19B10000-E8F2-537E-4F6C-D104768A1214";const char* TX_UUID = "19B10001-E8F2-537E-4F6C-D104768A1214";const char* RX_UUID = "19B10002-E8F2-537E-4F6C-D104768A1214";// Create Bluetooth instancesDIYables_ArduinoBLE bluetooth(DEVICE_NAME, SERVICE_UUID, TX_UUID, RX_UUID);DIYables_BluetoothServer bluetoothServer(bluetooth);// Create Monitor app instanceDIYables_BluetoothMonitor bluetoothMonitor;// Variables for demounsignedlong lastUpdate = 0;constunsignedlong UPDATE_INTERVAL = 3000; // Send update every 3 secondsint messageCount = 0;bool ledState = false;voidsetup() {Serial.begin(9600);while (!Serial);Serial.println("DIYables Bluetooth - Monitor Example");// Initialize built-in LEDpinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, LOW);// Initialize Bluetooth server with platform-specific implementation bluetoothServer.begin();// Add monitor app to server bluetoothServer.addApp(&bluetoothMonitor);// Set up connection event callbacks bluetoothServer.setOnConnected([]() {Serial.println("Bluetooth connected!"); bluetoothMonitor.send("=== Arduino Monitor Connected ==="); bluetoothMonitor.send("System Ready"); bluetoothMonitor.send("Type HELP for available commands"); bluetoothMonitor.send(""); }); bluetoothServer.setOnDisconnected([]() {Serial.println("Bluetooth disconnected!"); });// Set up message handler for incoming commands bluetoothMonitor.onMonitorMessage([](const String& message) {Serial.print("Received command: ");Serial.println(message); handleCommand(message); });Serial.println("Waiting for Bluetooth connection...");}void handleCommand(const String& cmd) {if (cmd == "HELP") { bluetoothMonitor.send("Available Commands:"); bluetoothMonitor.send(" LED_ON - Turn LED on"); bluetoothMonitor.send(" LED_OFF - Turn LED off"); bluetoothMonitor.send(" STATUS - Show system status"); bluetoothMonitor.send(" CLEAR - Clear monitor (if supported)"); bluetoothMonitor.send(" HELP - Show this help"); }elseif (cmd == "LED_ON") {digitalWrite(LED_BUILTIN, HIGH); ledState = true; bluetoothMonitor.send("✓ LED turned ON"); }elseif (cmd == "LED_OFF") {digitalWrite(LED_BUILTIN, LOW); ledState = false; bluetoothMonitor.send("✓ LED turned OFF"); }elseif (cmd == "STATUS") { showStatus(); }elseif (cmd == "CLEAR") {// App should handle clearing the display bluetoothMonitor.send(""); }else { bluetoothMonitor.send("✗ Unknown command: " + cmd); bluetoothMonitor.send("Type HELP for available commands"); }}void showStatus() { bluetoothMonitor.send("=== System Status ===");// LED Status bluetoothMonitor.send("LED State: " + String(ledState ? "ON" : "OFF"));// Uptimeunsignedlong uptime = millis() / 1000; bluetoothMonitor.send("Uptime: " + String(uptime / 3600) + "h " + String((uptime % 3600) / 60) + "m " + String(uptime % 60) + "s");// Free Memory (approximate for AVR) #ifdef __AVR__externint __heap_start, *__brkval;int freeMemory = (int) &freeMemory - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); bluetoothMonitor.send("Free Memory: " + String(freeMemory) + " bytes"); #endif// Messages sent bluetoothMonitor.send("Messages Sent: " + String(messageCount)); bluetoothMonitor.send("====================");}void sendPeriodicUpdate() { messageCount++;// Example of different message typesif (messageCount % 3 == 0) {// Send status update bluetoothMonitor.send("[INFO] Heartbeat #" + String(messageCount)); } elseif (messageCount % 5 == 0) {// Send simulated sensor readingint sensorValue = random(0, 1024); bluetoothMonitor.send("[SENSOR] Reading: " + String(sensorValue) + " (random demo value)"); }else {// Send timestamp bluetoothMonitor.send("[TIME] Uptime: " + String(millis() / 1000) + "s"); }// Optionally log to Serial as wellSerial.print("Sent update #");Serial.println(messageCount);}voidloop() {// Handle Bluetooth server communications bluetoothServer.loop();// Send periodic updates (only when connected)if (bluetooth.isConnected() && millis() - lastUpdate >= UPDATE_INTERVAL) { lastUpdate = millis(); sendPeriodicUpdate(); }delay(10);}
Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino UNO R4 WiFi
Ouvrez le Moniteur Série
Vérifiez le résultat dans le Moniteur Série. Cela ressemble à ceci :
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
DIYables Bluetooth - Monitor Example
Waiting for Bluetooth connection...
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2
Application Mobile
Installez l'application DIYables Bluetooth sur votre smartphone : Android | iOS
Note : L'application DIYables Bluetooth supporte à la fois BLE et Bluetooth Classique sur Android, et BLE sur iOS. Puisque l'Arduino UNO R4 WiFi utilise BLE, l'application fonctionne sur Android et iOS. Aucun appairage manuel n'est nécessaire pour BLE — il suffit de scanner et se connecter.
Ouvrez l'application DIYables Bluetooth
Lors de la première ouverture de l'application, elle demandera des permissions. Veuillez accorder les suivantes :
Permission Nearby Devices (Android 12+) / permission Bluetooth (iOS) - requise pour scanner et se connecter aux appareils Bluetooth
Permission Location (Android 11 et antérieur uniquement) - requise par les anciennes versions Android pour scanner les appareils BLE
Assurez-vous que Bluetooth est activé sur votre téléphone
Sur l'écran d'accueil, appuyez sur le bouton Connect. L'application va scanner les appareils BLE.
Trouvez et appuyez sur "Arduino_Monitor" dans les résultats de scan pour vous connecter.
Une fois connecté, l'application retourne automatiquement à l'écran d'accueil. Sélectionnez l'application Monitor depuis le menu des applications.
Note : Vous pouvez appuyer sur l'icône paramètres sur l'écran d'accueil pour masquer/afficher les applications sur l'écran d'accueil. Pour plus de détails, consultez le Manuel Utilisateur de l'Application DIYables Bluetooth.
Vous verrez des messages d'état s'afficher en continu dans l'affichage du moniteur
Tapez LED_ON dans le champ de saisie et appuyez sur Send — la LED intégrée de l'Arduino UNO R4 WiFi s'allumera, et le moniteur affichera un message de confirmation
Maintenant regardez de nouveau le Moniteur Série dans l'IDE Arduino. Vous verrez :
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Bluetooth connected!
Sent update #1
Sent update #2
Sent update #3
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2
Personnalisation Créative - Adaptez le Code à Votre Projet
Envoyer des Messages
// Envoyer des messages texte vers l'applicationbluetoothMonitor.send("System started");bluetoothMonitor.send("Temperature: " + String(temp, 1) + " °C");bluetoothMonitor.send("[ERROR] Sensor disconnected!");
Gérer les Commandes Entrantes
Utilisez le callback onMonitorMessage() pour recevoir les commandes tapées dans l'application Monitor et y réagir :
Vous pouvez ajouter autant de commandes personnalisées que nécessaire en ajoutant plus de blocs elseif. Par exemple, ajoutez RELAY_ON / RELAY_OFF pour contrôler un relais, ou READ pour déclencher une lecture de capteur — n'importe quel mot que vous tapez dans l'application devient une commande.
N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !