美文网首页
树莓派蓝牙继电器

树莓派蓝牙继电器

作者: meixia0731 | 来源:发表于2018-03-10 18:07 被阅读0次

更新:

最近不死心再次尝试了一次,换了一家店买了蓝牙继电器

这次买的实际上是带串口通讯的继电器+蓝牙模块,也是一样需要安装手机APP,输入pin然后控制。

但是!!!!这家提供了详细的说明,

继电器使用TTL通讯,提供了详细的AT指令集!蓝牙模块也提供了说明!

然后发现蓝牙使用是透传模式,也就是我给蓝牙发送什么指令,它直接转发给继电器!

这就简单了,先通过串口直接给继电器发送指令,确定我对AT指令集的理解没错。

然后连上蓝牙模块,直接对蓝牙发送指令,一次成功!不需要Pin(在bluetooth-agent PIN上折腾了好久,后来发现压根不需要这么手动配对)。

然后发现上次买的蓝牙继电器也是一样的工作模式,只是那家店铺老板想保密,不肯透露资料。

懒得写了,直接上图吧:

------------------------------------------------------------------------------------------------------------

一开始打算用树莓派GPIO接口控制一个水泵,定时浇花。

后来觉得树莓派一直放在阳台不好,就打算做一个蓝牙连接的水泵。

从淘宝买了个蓝牙继电器,18650电池,一个升压模块,水泵。

连接好硬件之后,成功连接了继电器,读取了character之类的信息,但是看不懂UUID之类的参数,写了几条指令,发现没反应。只好从基础开始看蓝牙编程。

我参考这个链接学习蓝牙编程:蓝牙编程

安装python的蓝牙库,就可以import bluetooth了

sudo pip3 install pybluez

测试了这个库,只能连接普通蓝牙。

扫描BLE 必须安装pybluez[ble].但是这个库很坑爹,一堆依赖装完都安装不成功,在debian里加了官方给的source list,但是这个地址连不上。最后放弃,去试试bluepy这个库。

在此之前,先用hcitool 和 gatttool测试一下连接,没有问题。

hcitool scan  这个只能扫描到小米盒子

sudo hcitool lescan   能扫描到所有东西

找到需要的MAC之后

gatttool -I   开启交互界面

然后connect就行了

查手册得知ffe1到fec8都是私有UUID,其它的是共有的,但是没什么用

然后使用继电器商家给的APP测试,发现需要输入一个激活码,推测是给前面的某个handle发送,但是要反向查出控制继电器的地址太麻烦了,基本放弃。有一个思路是蓝牙抓包,但是貌似需要买一个dongle的东西,作罢。

商家提供了测试用的java文件,从里面应该可以推测出相应的指令,待续...

相关文章

网友评论

      本文标题:树莓派蓝牙继电器

      本文链接:https://www.haomeiwen.com/subject/agkltftx.html