Dans ce tutoriel, on va réaliser un système permettant d’allumer et éteindre une lampe (par bluetooth) en utilisant la carte ESP32 et un ordinateur.
C’est pour cela, on va créer deux programmes: un pour l’ordinateur et l’autre pour la carte ESP32.
Voici le programme qui permet de connecter la carte ESP32 au module bluetooth HC-06 et de recevoir un message contenant l’ordre d’allumer ou éteindre la lampe.
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 |
from machine import UART from machine import Pin import time import utime lampe=Pin(23,Pin.OUT)# R猫gle la broche D23 de la carte ESP32 en mode sortie uart = UART(2, 9600) uart.init(9600, bits=8, parity=None, stop=1) print(uart) while True: if uart.any(): while uart.any(): buf = uart.read() if str(buf,'utf-8')=='allumer' : lampe.value(1) # Allumer la lampe else: lampe.value(0) # Allumer la lampe print('received:',buf) utime.sleep_ms(15) utime.sleep_ms(10) try: uart.write("OK") print('sent response') except OSError: pass |
Voici le programme qui permet à l’ordinateur de connecter et envoyer des données au module bluetooth HC-06.
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 |
import serial import time from pynput import keyboard evenement="" print("Start") port="COM20" #This will be different for various devices and on windows it will probably be a COM port. bluetooth=serial.Serial(port, 9600)#Start communications with the bluetooth unit print("Connected") bluetooth.flushInput() #This gives the bluetooth a little kick result = str(0)+'\n' def on_key_pressed(key): global result print('pressed %s' % key) result1 ='%s' % key if result1=='<97>' : # si on appuie sur la touche 1 du clavier result = 'allumer'+'\n' print(result) if result1=='<96>' : # si on appuie sur la touche 0 du clavier result = 'eteindre'+'\n' print(result) result_bytes = result.encode('utf_8') bluetooth.write(result_bytes) with keyboard.Listener(on_press=on_key_pressed) as listener: listener.join() |
Peter 24-10-2323
c'est super bien de voir des tels réalisation !