前言
对于使用c开发的小伙伴不需要在乎这个问题,但是对于micropython来说它是不支持wifi和蓝牙同时使用的,所以要用网络就只能刷固件3,要用蓝牙就必须用固件4。
那么正常开发来说这肯定是不方便的,所以小鱼君锲而不舍的想到了几种个不错的解决方案。
1. 老实刷固件4
看到这里可能会说,这不是有手就行吗?其实不然,刷固件也是一门讲究,对于萌新来说有时候在这里会因为一些问题卡好久,不过在【小鱼君code】中已经给出了解决方案,感兴趣的可以去看看。建议刷进去了固件再往下看。目前网上关于蓝牙的资源比较少,所以就会出现一个什么问题呢?有固件了,但是代码不会写,这里确实是这样的,相关底层文件会有好多个。
不过小鱼君已经解决了,现在开始下载试用MicroPython官方的Bluetooth例子。
micropython官网BLE例程
打开后发现有不少py文件:
这里我们只用其中的四个就可以实现通信
1 Ble_advertising.py
2 ble_uart_peripheral.py
3 ble_temperature.py
4 ble_uart_repl.py
分别将其中的四个上传到ESP32主板上,然后就可以开始用了。
在从官方下载来的文件中会有例程以及测试代码,自己根据用法怎么改的代码本来要贴出来的,后来发现板子还不在身边。笨哭自己,等晚上上传会先放在公众号上。回复【esp32+BLE+main.py】应该就有了。
但是等蓝牙解决了才发现一般的手机上的蓝牙调试软件不好使,这里看资料说应该是它的蓝牙不是普通的蓝牙,大家还需要下载一个外国的蓝牙软件Bluefruit Connect
好像只有苹果的用户可以搜索到,如果安卓的需要自己下载哈。大家可以在后台回复【ESP32蓝牙软件】。这个软件用起来也比较不错,可以把接收到的数据自动绘制成波形,还有一些比较专业的功能大家可以自己挖掘。
2. 利用ONENET
我们可以用onenet云服务器来作为数据的存储,然后用onenet发布手机端的页面,上面我们自己制作一个组件,可以接收数据,以及发送数据,然后ESP32用爬虫的技术来获取onenet的数据,这样可以等效为蓝牙,而且只要有网络,这个蓝牙就是无视距离的。
只要会一点爬虫就可以了,这里的代码可以在首页的GitHub地址下去寻找。打开这个python中有对onenet数据上传和读取的代码,可以直接复制到esp32中,这里是完全兼容的,只要账号密码正确,数据流名称也改过了,就可以读取数据和上传数据。
关于更多问题想要一起交流的可以在后台找我们呦.