树莓+HC-05蓝牙模块+android数据通信
来源:互联网 发布:分布式算法导论 pdf 编辑:程序博客网 时间:2024/05/16 18:09
树莓端连接
树莓引脚图:
这里我们使用编号2、6 、8 、10 引脚 。引脚2连接蓝牙模块vcc,引脚6连接蓝牙模块GND端,引脚8连接RXD端,引脚10连接TXD端。如下图所示
树莓端配置
步骤简介:
1. 配置树莓派的baud rate
默认情况下,树莓派读写串口的boud rate是115200,而HM-05默认的baud rate是9600,为了使树莓派与HC-05的串口通信能正常进行,需要使他们的baud rate一致,比如这里将树莓派的baud rate设置成9600。
修改文件/boot/cmdline.txt,将
改成
修改/etc/inittab,将
改成
2. 安卓智能手机使用BlueTerm连接HC-05
安卓手机需要先在系统设置界面里面先搜索并匹配蓝牙模块HM-05
然后安装BlueTerm应用,在 Menu菜单中选择”Connect device”
连接成功之后,可以看到HM-05模块的指示灯每隔两秒会快速闪烁一次
3. 重启树莓派,从手机登录树莓派shell
将树莓派重启,可以在手机的BlueTerm界面上看到树莓派系统的启动过程,并且启动完成之后还会提示你登录。使用pi用户登录,可以执行shell命令
minicom <=> 串口 <=> HM-05 <=> 手机BlueTerm应用程序
前面介绍了树莓派raspbian系统默认情况下会使用串口发送登录信息,并开启一个login console。如果我们需要让树莓派上的其他应用使用串口,就得先让系统自己不再占用串口。
设置系统不占用串口
修改文件/boot/cmdline.txt,去掉第一个console设置,如果有kgdboc的话也去掉,如将
改成
然后修改/etc/inittab,注释下面这行设置
改好后重启生效
使用minicom进行串口通信
我们可以在树莓派上安装minicom工具,用其通过串口将信息发送到蓝牙模块,蓝牙模块会将从串口收到的信息通过蓝牙发送出去,而蓝牙模块通过蓝牙收到的信息也会通过串口发送到树莓派上的应用程序。 首先安装minicom
然后可以运行minicom,让它连接串口,连接的时候需要指定通信的baud rate。我们前面说过,蓝牙模块的默认baud rate是9600,为了让minicom发送的数据能被HC-05正确接收,我们运行minicom的时候也要指定baud rate为9600
其中,-D参数就是指定串口设备。 运行minicom之后,将树莓派串口连接蓝牙模块HM-05,并使HM-05工作于communication mode。此时使用智能手机的BlueTerm应用程序连接HM-05,那么树莓派上minicom窗口上输入的文字就会发送到智能手机
android端配置:
蓝牙搜索,连接功能大家找找网上有的是,这里写下数据读操作,写操作是在单片机上实现的控制LED灯显示,以后再写
//读取数据 private class readThread extends Thread { @Override public void run() { byte[] buffer = new byte[1024]; int bytes; InputStream mmInStream = null; try { mmInStream = socket.getInputStream(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String b =""; while (true) { try { if ((bytes = mmInStream.read(buffer)) > 0) { byte[] buf_data = new byte[bytes]; for (int i = 0; i < bytes; i++) { buf_data[i] = buffer[i]; System.out.printf("%02x, ", buffer[i]); } String s = bytesToHexString(buf_data); String c = new String(buf_data,"ISO-8859-1"); b += new String(buf_data); if(b.indexOf("\r")>=0){ Message msg = new Message(); msg.obj = b; msg.what = 1; LinkDetectedHandler.sendMessage(msg); b = ""; } } } catch (IOException e) { try { mmInStream.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } break; } } } }
- 树莓+HC-05蓝牙模块+android数据通信
- 【Android开发 蓝牙通信】手机蓝牙与下位机HC-05蓝牙模块通信系统
- HC-05蓝牙模块的使用
- ATmega328P的hc-05蓝牙模块通信
- HC-05蓝牙无线模块设置
- HC-05蓝牙模块配置方法
- HC-05蓝牙无线模块设置
- HC-05蓝牙模块与电脑通信
- HC-05蓝牙模块的波特率修改
- 蓝牙模块HC-05的测试
- 关于蓝牙模块(HC-06)
- 蓝牙模块DIY A09 HC-05主从机一体蓝牙模块 无线蓝牙 串口透传
- arduino uno 逐个命令配置HC-05蓝牙模块
- HC-05 蓝牙模块的调试与使用
- HC-05蓝牙串口透传模块。奇怪的经历
- Arduino与HC-05蓝牙模块的通信
- HC-05蓝牙模块连接STC89C52单片机控制LED灯
- STM32控制HC-05蓝牙模块进行通信
- Caffe+Python接口测试MNIST--下载和准备数据
- 平衡二叉树
- Hive四种数据导入方式
- 最小方差生成树 (Kruskal)
- 排序算法之冒泡排序及其改进
- 树莓+HC-05蓝牙模块+android数据通信
- Heron-新一代实时流处理
- 邮件服务,高级网络配置
- react-native制作新手引导组件
- 【托福】做TPO遇到的坑的记录
- struts2中的struts.xml配置文件详解
- 设置navicat数据库主键自增 1062报错以及result in duplicate entry '' for key 'primary'
- C#基础-数据类型
- 【转】C++中的引用类型和枚举类型