zoukankan      html  css  js  c++  java
  • 蓝牙调试

    1 设置 

    https://blog.csdn.net/ReCclay/article/details/79572109?ops_request_misc=%7B%22request_id%22:%22158338240019725256716544%22,%22scm%22:%2220140713.130056874..%22%7D&request_id=158338240019725256716544&biz_id=0&utm_source=distribute.pc_search_result.none-task

    USB转TTL-蓝牙模块

    vcc-vcc

    gnd-gnd

    rx-rx  (你没看错我也没打错 就是这个)

    tx-tx

    两种进入设置模式

    1 先按住蓝牙按键 然后上电 进入2秒一闪  (不要使用)

    波特率 默认38400  

    发消息选择 追加新行 回车

    这个模式下串口改变波特率没反应

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

    2 先上电,按下按键,还是快速闪烁模式

    波特率 默认38400  

    发消息选择 追加新行 回车

    这个模式修改了波特率,就得用真实的波特率而不是38400

    设置蓝牙基本信息

    AT+NAME=XXX   修改蓝牙模块名称为XXX

    AT+ROLE=0    蓝牙模式为从模式  主模式会自动搜索连接

    AT+CMODE=1   蓝牙连接模式为任意地址连接模式,也就是说 该模块可以被任意蓝牙设备连接

    AT+PSWD=1234   蓝牙配对密码为1234

    AT+UART=9600,0,0  蓝牙通信串口波特率为9600,停止位1位, 无校验位

     

     

     

    2 连接通信

    单片机-蓝牙模块

    VCC-VCC

    GND-GND

    RX-TX   (恢复正常了 不同于设置模式的连接)

    TX-RX

    然后手机连接蓝牙

    波特率 默认38400

    密码 默认 1234

    名字 自己修改

    下载手机蓝牙调试助手

    讲道理正常的话 假设蓝牙名字改成1 就会出现1

    问题

    但是 第一次不显示 我直接刷新列表 挨着手动连接一边只显示mac的名字蓝牙 没反应??

    拔掉蓝牙的tx 和 rx的线 只上电

    手机重新在列表挨着连接可能的蓝牙

    成功!

    蓝牙名字自动由mac变为真实的名字 1

    之后再次插上 tx和tx进行发送消息通信

    之后直接直接插着RX和TX直接上电,手机直接连接这个蓝牙就行了

    (连接着RX和TX可能初始化的消息会扰乱蓝牙初始化而导致失败)

    我已经修改了波特率

    手机蓝牙

    电脑串口

     树莓派连接  

    树莓派好像不容易直接看到名字,需要知道蓝牙mac

    手机蓝牙调试助手

    https://blog.csdn.net/ReCclay/article/details/104671734

    一、树莓派的蓝牙与HC-05配对
    打开树莓派的VNC桌面,单击右上角的蓝牙图标,选择Add Device

     

    进而,进入蓝牙搜索界面,稍等片刻,便可以查找到对应的HC-05模块,点击Pair进行配对


    按照提示,输入蓝牙配对密码


    之后若出现下图所示错误,可直接忽略。

     

    sudo apt-get install python-serial
    

      

    打开树莓派的命令行,输入hcitool scan,扫描蓝牙(附带MAC地址)

     

    接着输入,sudo rfcomm connect 1 98:D3:32:71:30:7A (其中1可以自定义为其他数字【如果被占用的话】,98:D3:32:71:30:7A这个是HC-05对应的MAC地址),即可连接成功。

    这种连接方式,不能关闭当前终端。
    并且当拔掉蓝牙的时候,还需要重新输入指令连接。那么有没有自己绑定的办法呢?
    
    当然有的,在终端输入sudo rfcomm bind 1 98:D3:32:71:30:7A,相当于在/dev目录下注册了一个名字为rfcomm1的设备。当拔掉蓝牙时,对应的设备号rfcomm1依然存在。
    下次插上蓝牙可以直接在程序中使用rfcomm1设备,无需再次注册。
    当然解绑也有对应的命令,这里不再赘述,有兴趣可以参考这里
    

      

    再打开一个终端,输入sudo ls /dev -l,会发现多了rfcomm1,就是我们刚刚注册的HC-05设备。
    在这里插入图片描述

    二、安装 python-serial 库

    树莓派蓝牙传输数据可以用python的pyserial模块

    三、编写python程序

    1、PC发送数据并在PC回显

    终于到了,最激动人心的环节了 — 测试。

    • USB-TTL连接HC-05
    • 打开PC端的串口助手,设置波特率为9600.

    树莓派上,编写4.py,代码如下所示。

    # -*- coding: utf-8 -*
    import serial
    import time
    
    def main():
        while True:
            # 获得接收缓冲区字符
            count = ser.inWaiting()
            if count != 0:
                # 读取内容并显示
                recv = ser.read(count)
                print recv  
            # 清空接收缓冲区
            ser.flushInput()
            # 必要的软件延时
            time.sleep(0.1)
       
    if __name__ == '__main__':
        try:
    	# 打开串口
        	ser = serial.Serial('/dev/rfcomm1', 9600)
        	if ser.isOpen == False:
            	ser.open()                # 打开串口
        	ser.write(b"Raspberry pi is ready")
    		main()
        except KeyboardInterrupt:
            if ser != None:
                ser.close()
    

      树莓派运行4.py文件,同时开启PC端串口助手,并注意观察接收框变化
    在这里插入图片描述

    • 上面PC端串口助手成功打印Raspberry pi is ready,说明树莓派发送到PC端没得问题。

    • 接着测试树莓派接收PC端的消息

     注意:当ctrl+C结束掉程序的时候,此时HC-05蓝牙会断开连接。无需惊慌,无需重新配对,因为我们绑定蓝牙为rfcomm1设备,所以直接再次运行程序,变会自动连接。哪怕拔掉蓝牙,再重新插上,依旧会自动连接配对!

    至此,树莓派4B蓝牙与HC-05串口通信测试,便成功实现!

    参考

  • 相关阅读:
    学习PetShop3.0(9)工厂的资料
    net程序架构开发
    《解剖PetShop》系列之一
    与数据库相关的名词解释
    asp 导出Excel
    《解剖PetShop》系列之二
    业务模块的设计原则
    《解剖PetShop》系列之三
    JAVA之BigInteger(转)【转】【很好用啊】
    php_mcrypt.dll无法加载解决方法
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/12914015.html
Copyright © 2011-2022 走看看