我是靠谱客的博主 知性服饰,这篇文章主要介绍esp32 Micropython bluetooth手机蓝牙控制板子自带灯熄灭,现在分享给大家,希望可以做个参考。

参考:https://doc.itprojects.cn/0006.zhishi.esp32/02.doc/index.html#/c03.servo.ble

复制代码
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
from machine import Pin from machine import Timer from time import sleep_ms import bluetooth BLE_MSG = "" class ESP32_BLE(): def __init__(self, name): self.led = Pin(2, Pin.OUT) self.timer1 = Timer(0) self.name = name self.ble = bluetooth.BLE() self.ble.active(True) self.ble.config(gap_name=name) self.disconnected() self.ble.irq(self.ble_irq) self.register() self.advertiser() def connected(self): self.led.value(1) self.timer1.deinit() def disconnected(self): self.timer1.init(period=100, mode=Timer.PERIODIC, callback=lambda t: self.led.value(not self.led.value())) def ble_irq(self, event, data): global BLE_MSG if event == 1: #_IRQ_CENTRAL_CONNECT 手机链接了此设备 self.connected() elif event == 2: #_IRQ_CENTRAL_DISCONNECT 手机断开此设备 self.advertiser() self.disconnected() elif event == 3: #_IRQ_GATTS_WRITE 手机发送了数据 buffer = self.ble.gatts_read(self.rx) BLE_MSG = buffer.decode('UTF-8').strip() def register(self): service_uuid = '6E400001-B5A3-F393-E0A9-E50E24DCCA9E' reader_uuid = '6E400002-B5A3-F393-E0A9-E50E24DCCA9E' sender_uuid = '6E400003-B5A3-F393-E0A9-E50E24DCCA9E' services = ( ( bluetooth.UUID(service_uuid), ( (bluetooth.UUID(sender_uuid), bluetooth.FLAG_NOTIFY), (bluetooth.UUID(reader_uuid), bluetooth.FLAG_WRITE), ) ), ) ((self.tx, self.rx,), ) = self.ble.gatts_register_services(services) def send(self, data): self.ble.gatts_notify(0, self.tx, data + 'n') def advertiser(self): name = bytes(self.name, 'UTF-8') adv_data = bytearray('x02x01x02') + bytearray((len(name) + 1, 0x09)) + name self.ble.gap_advertise(100, adv_data) print(adv_data) print("rn") def buttons_irq(pin): led.value(not led.value()) print('LED is ON.' if led.value() else 'LED is OFF') ble.send('LED is ON.' if led.value() else 'LED is OFF') if __name__ == "__main__": ble = ESP32_BLE("ESP32BLE") but = Pin(0, Pin.IN) but.irq(trigger=Pin.IRQ_FALLING, handler=buttons_irq) led = Pin(2, Pin.OUT) while True: if BLE_MSG == 'read_LED': print(BLE_MSG) BLE_MSG = "" print('LED is ON.' if led.value() else 'LED is OFF') ble.send('LED is ON.' if led.value() else 'LED is OFF') elif BLE_MSG == 'off': ble.led.value(0) elif BLE_MSG == 'on': ble.led.value(1) sleep_ms(100)

1)主要这段通过手机蓝牙调试软件发送on和off控制esp32等熄灭
elif BLE_MSG == ‘off’:
ble.led.value(0)
elif BLE_MSG == ‘on’:
ble.led.value(1)
2)手机软件是BLE调试助手;连接好后能看到同一uuid下游有发送端和接受通知端,点击write 向上箭头进去就可以发送消息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后

以上就是知性服饰最近收集整理的关于esp32 Micropython bluetooth手机蓝牙控制板子自带灯熄灭的全部内容,更多相关esp32内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部