用esp32开发板来实现蓝牙接近开关功能,手机蓝牙定位

您所在的位置:网站首页 esp32蓝牙配对代码 用esp32开发板来实现蓝牙接近开关功能,手机蓝牙定位

用esp32开发板来实现蓝牙接近开关功能,手机蓝牙定位

2024-04-30 03:46| 来源: 网络整理| 查看: 265

本帖最后由 syhzjnbxs 于 2024-2-22 09:05 编辑

今天用苹果手机测试了一下,发现苹果手机先验证,再连接,和安卓手机不一样,代码已经优化(压缩包已经更新),苹果手机也能正常连接使用了。

用esp32开发板来实现蓝牙接近开关功能,手机蓝牙定位等,可同时连接3台手机,蓝牙配对手机绑定,理论上支持15台不同的手机 这是homeassistant中mqtt自动发现的实体 登录/注册后可看大图

1.PNG (42.91 KB, 下载次数: 0)

下载附件

这是homeassistant中mqtt自动发现的实体

2024-2-12 23:05 上传

这是手机和esp32蓝牙配对后的连接 登录/注册后可看大图

2.PNG (41.18 KB, 下载次数: 0)

下载附件

这是手机和esp32蓝牙配对后的连接

2024-2-12 23:04 上传

esp32-cs.rar (944.46 KB, 下载次数: 26) 2024-2-22 09:05 上传 点击文件名下载附件 包含了引导文件,分区文件和固件

压缩包里有三个文件,固件esp32-cs.ino.bin,引导文件esp32-cs.ino.bootloader.bin,分区表文件esp32-cs.ino.partitions.bin 用esptool将三个文件分别刷入esp32开发板,已实现的esp32开发板型号是DOIT ESP32 DEKIT,理论上esp32芯片的设备都可以刷入,esp32 s3、c3等支持ble5的芯片可能不兼容,手头没有这样的板子,没办法确认

esptool输入三个文件的命令如下: 刷分区表 esptool.py --chip esp32 --port COM3 --baud 921600 write_flash 0x8000 esp32-cs.ino.partitions.bin 刷bootloader esptool.py --chip esp32 --port COM3 --baud 921600 write_flash 0x1000 esp32-cs.ino.bootloader.bin 刷固件 esptool.py --chip esp32 --port COM3 --baud 921600 write_flash 0x10000 esp32-cs.ino.bin 这里把COM3换成自己对应的串口,新开发板或者串口不能刷入的,esp32开发板上按下boot键(这个应该都会吧)

刷完后,最好拔掉电源重新上电,前10秒左右会读取EEPROM中保存的信息用来连接wifi,10秒钟过了以后,没有连上wifi,自动创建名称是esp32-cs的热点,这里设置了20秒的连接时间,务必在这20秒钟里面用手机或者电脑连接这个wifi热点,否则20秒钟过后,将取消这个wifi热点,接下来会一直重试连接EEPROM中保存的wifi。如果超时或者没有连上,可以反复插拔电源重试 连上esp32-cs的热点后,网页打开192.168.1.1 这是配置信息的登录界面,用户名和密码都是admin 登录/注册后可看大图

3.PNG (4.88 KB, 下载次数: 0)

下载附件

这是配置信息的登录界面,用户名和密码都是admin

2024-2-12 23:02 上传

用户名和密码都是admin 登录后的配置页面如下 这里填写配置信息,保存后重启 登录/注册后可看大图

4.PNG (22.78 KB, 下载次数: 0)

下载附件

这里填写配置信息,保存后重启

2024-2-12 23:00 上传

这里填写你实际的wifi信息,homeassistant中的mqtt信息,BLE Pin中填写的是手机和esp32蓝牙初次配对时要用的配对码,6位数字,自己随意设定,比如123456。确认无误后,点save保存并确认,点击restart后确认,esp32开发板会重启。 如果配置信息都正确的话,homeassistant中的mqtt设备应该会出现名称是esp32-cs的设备,设备里的实体和上面的图片一样(这里已经接入了dht11在针脚13上,开关信号的光感元件在针脚19上,开关信号的红外传感器在针脚18上,如有需要可以接上对应针脚,能直接使用) 这时,手机蓝牙应该能搜索到名称是esp32-cs的蓝牙设备,点击连接,用上面设置的6位数字配对码就能连接上,比如123456,手机连接后homeassistant中的rssi_value0实体就会每秒更新手机蓝牙的信号强度,接下来要怎么利用这个就看你们自己的了,比如信号值达到要求,自动开门,开灯,或者根据信号值,判断人体位置等 这里说明一下,之前想买网上那种蓝牙模块,有蓝牙接近开关功能的那种,所以才有了用esp32来直接实现这个功能的想法,目前这个固件可以同时连接3台手机,判断3台手机的信号强度,那种蓝牙模块我看到过的只支持一台手机连接, 而且我测试过一台手机连接两个esp32开发板,这样就可以实现室内蓝牙定位了,后续有什么新的功能或者想法,也会继续更新这个固件,固件可以OTA升级,配置信息页面的选择文件和update就是用来OTA升级的,可以直接选择esp32-cs.ino.bin文件,点击update更新固件



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3