说在前面
- 单片机:HC6800-ES,晶振12MHz
- 蓝牙模块:BT08(兼容HC-06、HC-05)
- 参考代码:这里
说明
- 该App(不是参考代码那个的)功能为通过蓝牙接收单片机采集的温度传感器数据,同时可以通过蓝牙发送预设温度数据给单片机
- 蓝牙通信代码仿照参考代码进行编写,不再提供github代码
关键代码
- 主要是接收和发送数据,在参考的代码里面设置了数据格式,有些东西我们是不需要的,可以去掉。例如下面的:
//读取文件我们不需要,去掉; //并且他还使用了一个Int型的数据来区分文件还是消息,不需要,可以去掉 //这个int型的消息头一定要处理,不然出问题 while (isRead) { //死循环读取 switch (in.readInt()) { case FLAG_MSG: //读取短消息 String msg = in.readUTF(); notifyUI(Listener.MSG, "接收短消息:" + msg); break; case FLAG_FILE: //读取文件 Util.mkdirs(FILE_PATH); String fileName = in.readUTF(); //文件名 long fileLen = in.readLong(); //文件长度 // 读取文件内容 long len = 0; int r; byte[] b = new byte[4 * 1024]; FileOutputStream out = new FileOutputStream(FILE_PATH + fileName); notifyUI(Listener.MSG, "正在接收文件(" + fileName + "),请稍后..."); while ((r = in.read(b)) != -1) { out.write(b, 0, r); len += r; if (len >= fileLen) break; } notifyUI(Listener.MSG, "文件接收完成(存放在:" + FILE_PATH + ")"); break; }
- 单片机部分(需要吗?)
结果
- 连接蓝牙
- 获取温度
- 设置预设温度
END