L'ESP32 est une carte de développement populaire qui intègre un microcontrôleur ESP32 de la société Espressif Systems. L'ESP32 possède une connectivité sans fil intégrée, y compris le Bluetooth et le Wi-Fi, ce qui en fait un choix courant pour les projets IoT (Internet des Objets). En particulier, l'ESP32 prend en charge le Bluetooth Classic (BT) et le Bluetooth Low Energy (BLE).
On peut utiliser le Bluetooth pour permettre à votre ESP32 de communiquer avec un smartphone. Cela peut inclure des transferts de données, le contrôle à distance, la collecte de données depuis le smartphone, etc.
Pour afficher un message sur un afficheur SSD1306 à partir d'un smartphone via Bluetooth avec une carte ESP32 en utilisant MicroPython et App Inventor, suivez ces étapes :
Matériel requis :
1- Carte ESP32 avec module Bluetooth intégré.
2- Module d'affichage compatible avec l'ESP32 (par exemple, un afficheur SSD1306).
3- Smartphone avec Bluetooth activé.
Étapes détaillées :
1- Configurer l'ESP32 avec MicroPython :
a- flasher votre ESP32 avec le firmware MicroPython. Vous pouvez trouver des instructions sur la manière de le faire sur le site officiel de MicroPython pour ESP32.
b- assurez-vous que vous avez une bibliothèque MicroPython compatible avec votre afficheur SSD1306.
c- initialisez l'afficheur SSD1306 dans votre script MicroPython.
d- créez un script MicroPython qui configure la communication Bluetooth et l'afficheur SSD1306 et affiche le message reçu via Bluetooth sur l'afficheur SSD1306
2- Configurer l'application sur App Inventor :
a- créez une application sur App Inventor qui utilise le composant BluetoothClient.
b- configurez l'application pour se connecter au ESP32 via Bluetooth.
c- utilisez le composant zone de texte pour permettre à l'utilisateur d'entrer un message.
d- ajoutez un bouton pour envoyer le message au ESP32 via Bluetooth.
3- Tester le système :
a- Téléversez le script MicroPython sur l'ESP32.
b- installez et exécutez l'application App Inventor sur votre smartphone.
c- appairez votre smartphone avec l'ESP32 via Bluetooth dans l'application.
d- envoyez un message depuis l'application, et il devrait s'afficher sur l'afficheur SSD1306
Pour utiliser un afficheur SSD1306 avec une carte ESP32, vous aurez besoin des éléments suivants :
Afficheur SSD1306 :
Vous aurez besoin d'un écran OLED basé sur le contrôleur SSD1306. Ces écrans OLED sont disponibles dans différentes tailles (par exemple, 128x64 pixels, 128x32 pixels) et peuvent être trouvés sous différentes formes (modules avec des broches ou des versions en module I2C).
Carte ESP32 :
L'ESP32 est un microcontrôleur à faible consommation d'énergie, doté de fonctionnalités Wi-Fi et Bluetooth intégrées. Il est largement utilisé dans le domaine de l'IoT (Internet des Objets), du développement de projets embarqués et dans d'autres applications nécessitant une connectivité sans fil et un traitement de données sur une petite échelle.
Fils de connexion :
Pour établir les connexions physiques entre la carte ESP32 et l'afficheur SSD1306. Assurez-vous d'avoir des fils de bonne qualité pour des connexions stables.
Voici le schéma de câblage typique pour connecter l'afficheur SSD1306 à la carte ESP32.
Pour connecter l'Afficheur SSD1306 à la carte ESP32 il faut suivre les étapes suivantes:
1- connecter la broche VCC de l'afficheur à 3.3V de la carte ESP32.
2- connecter la broche GND de l'afficheur à GND de la carte ESP32.
3- connecter la broche SDA de l'afficheur à la broche GPIO 21 de la carte ESP32.
4- connecter la broche SCL de l'afficheur à la broche GPIO 22 de la carte ESP32
Pour recevoir un message du smartphone à ESP32 et l'afficher dans l'afficheur SSD1306 en utilisant le MicroPython, on peut suivre ces étapes :
1. Installation de MicroPython :
- Flashez votre ESP32 avec MicroPython en utilisant Firmware esp32-20210902-v1.17.bin.
- Importez ces bibliothèques :ble_uart_peripheral.py et ble_advertising.py.
- Importez cette bibliothèque MicroPython ssd1306.py dédiée à l'écran SSD1306
2. Écriture du code MicroPython :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
########## DIGITAL MANUFACTURING ########## # PIKACHU Project # Authors: Miguel Angel Guzman # Kadriye Nur Bakirci ########################################### ########## IMPORT REQUIRED LIBRARIES ########## import bluetooth from ble_uart_peripheral import BLEUART import machine from machine import Pin, I2C import ssd1306 # Initialiser l'afficheur SSD1306 i2c = I2C(-1, scl=Pin(22), sda=Pin(21)) oled_width = 128 oled_height = 64 oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c) # Create BLE object ble = bluetooth.BLE() # Open UART session for BLE uart = BLEUART(ble) # Define ISR for an UART input on BLE connection def on_rx(): # Read UART string, AppInventor sends raw bytes # recevoir le message du smartphone uart_in = uart.read() message=uart_in.decode() oled.fill(0) # effacer le contenu de l'afficheur oled.show() oled.text('Message received', 0, 0) # afficher le message dans l'afficheur SSD1306 oled.text(message[:-1], 0, 20) oled.show() # Map ISR to UART read interrupt uart.irq(handler=on_rx) uart.close() |
Ce programme Micropython permet à la carte ESP32 de :
1- connecter au Smartphone
2- recevoir le message du Smartphone
3- afficher le message dans l'afficheur SSD1306
1- Création de l'application avec App Inventor :
- Créez une application mobile avec App Inventor.
- Utilisez les composants Bluetooth disponibles pour établir une connexion avec l'ESP32.
- Ajoutez une zone de texte pour écrire un message.
- Ajoutez une zone de texte pour envoyer le message
Voici l'interface de l"application mobile :
2. Programmation de l'application :
a- Utilisez les composants Bluetooth du designer pour configurer la communication avec l'ESP32.
- L'extension "BluetoothLE1" fait en effet référence à une extension spécifique pour MIT App Inventor qui permet de gérer la communication Bluetooth Low Energy (BLE) dans vos applications mobiles. Cette extension facilite l'interaction entre votre application App Inventor et les périphériques BLE, tels que les capteurs, les appareils de suivi, les dispositifs portables, etc.
- L'extension "BluetoothClient1" dans MIT App Inventor vous permet de créer des applications mobiles qui peuvent se connecter à des dispositifs Bluetooth, comme des modules Bluetooth série (par exemple, HC-06) connectés à des microcontrôleurs, des appareils Bluetooth audio, etc. Cette extension facilite la communication avec ces dispositifs en utilisant des connexions Bluetooth série.
- À partir d'Android 12, les autorisations Bluetooth ont été renforcées pour améliorer la sécurité et la protection des données des utilisateurs. C'est pour cela on doit déclarer les autorisations dont votre application a besoin dans le fichier AndroidManifest.xml. Pour Bluetooth, vous devrez inclure les autorisations ACCESS_FINE_LOCATION, BLUETOOTH_SCAN, et éventuellement BLUETOOTH_CONNECT, en fonction des fonctionnalités que vous utilisez.
b- Utilisez ces blocs de programmation pour connecter le smartphone à la carte ESP32 via Bluetooth
c- Utilisez ces blocs de programmation pour envoyer un message du Smartphone à la carte ESP32 via Bluetooth
Télécharger le projet aia Télécharger le fichier apk
Test :
1- Téléversez le code MicroPython sur votre ESP32.
2- Installez et lancez l'application créée avec App Inventor sur votre smartphone.
3- Connectez-vous à l'ESP32 depuis l'application.
4- Vérifiez que le message est bien envoyé à la carte ESP32 et affiché dans l'afficheur SSD1306.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info