现在通过connect方法已经与单片机的蓝牙模块连接的上了,并且通过socket取得了输出输入流。根据下位机(单片机)的规定,android手机必须向下位机发送‘0x11,0x03,0x0C,0x00,0x1E,(byte) 0xC2 字符,下位机若接收得到0x11,0x03,0x0C,0x00,0x1E,(byte) 0xC2字符的话返回16 01 0C DD字符,并自动启动空气质量检测仪。
现在问题是,我发送字节数组后,空气质量检测仪也启动了,但是返回的数组总是不对。
我获取数组的代码是:
/**
* 发送指令并从下位机得到的原始数据
* */
public byte[] getData() {
byte[] data = null;
try {
InputStream in = socket.getInputStream();
data = new byte[in.available()];
in.read(data, 0, data.length);
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
预期是:in.available()返回的是4,但是实际返回的是1。
相关推荐
这个是我从网上下载一份关于蓝牙通讯得代码,自己也还没有具体观看.(不是本人出品,网络获取)
android ble 4.0 蓝牙通讯例子
Android 蓝牙开发 Android 打开、搜索、配对、连接、通信 发送文字、传输默认文件
基于Android的BlueTooth开发手机蓝牙和蓝牙模块通讯,
Android通过蓝牙与设备连接,解决数据报文分段(通过时间控制)。动态修改动画
Android蓝牙通信聊天demo, Android蓝牙通信聊天demo Android蓝牙通信聊天demo
android蓝牙通讯连接Hc-05模块
在android系统下的蓝牙通讯程序,BluetoothChat
android蓝牙通信(分为客户端,服务端) 因为最近需要做物联网这一块,就简单的搞了个demo实现客户端向服务端发送指令
通过蓝牙功能与设备进行连接以及获取设备传输过来的数据
Android蓝牙串口通讯,无论是单片机还是arduino都能使用的蓝牙串口通讯
http://blog.csdn.net/yudajun/article/details/8362916# 根据此片博文,做的整理,感谢这位同学。
这是一个Android蓝牙开发的小程序,代码简单,实现了蓝牙打开、搜索、配对、连接、通信等功能。两个Android项目,一个服务器一个客户端
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
蓝牙可以通过虚拟串口连接蓝牙打印机,配对成功后,可以发送数据到打印机,打印东西
此demo实现了android ble4.0蓝牙跟设备的连接通讯功能,可以同时连接多台并且同时发送数据。
用户通过Broadcast(广播)进行与后台通信模块Service进行通信(控制Service或者接收反馈信息)
内含apk安装包和源码。功能为:android扫描蓝牙、连接蓝牙、和蓝牙信息交互(收发信息)等
Android通过广播通信的方式连接蓝牙设备