导航:首页 > 操作系统 > android蓝牙串口数据

android蓝牙串口数据

发布时间:2022-05-30 11:50:22

1. 求教android蓝牙串口开发OutputStream发送数据失败的问题

1、首先确保你发送的数据是正确的,串口接收到这个数据后他能识别,并返回你想要的数据,如果你发送的命令本身不要求返回数据,inputstream是读取不到数据的。 2、其次,要确保发送数据的格式正确,比如一段16进制数据,你定义为String="01230545"类型,然后发送的时候out.write(str.getBytes());这样发送的数据是不对的,应该定义一个byte型的数组,然后发送这个数组 3、以上你都确保没问题了,你可以用循环去读取数据,当读到的内容大于0时停止读取。用循环读取你要确保你已经设置读取的超时时间了,不然程序有可能阻塞。

2. android蓝牙开发,PC端模拟串口接收字符,该如何编程

您好,android蓝牙这方面还是很好搞的,因为大家的方式都是差不多的。先说说如何开启蓝牙设备和设置可见时间:

private void search() {
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (!adapter.isEnabled()) {
adapter.enable();
}
Intent enable = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
enable.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 3600); //3600为蓝牙设备可见时间
startActivity(enable);
Intent searchIntent = new Intent(this, ComminuteActivity.class);
startActivity(searchIntent);
}

首先,需要获得一个BluetoothAdapter,可以通过getDefaultAdapter()获得系统默认的蓝牙适配器,当然我们也可以自己指定,但这个真心没有必要,至少我是不需要的。然后我们检查手机的蓝牙是否打开,如果没有,通过enable()方法打开。接着我们再设置手机蓝牙设备的可见,可见时间可以自定义。

完成这些必要的设置后,我们就可以正式开始与蓝牙模块进行通信了:

public class ComminuteActivity extends Activity {
private BluetoothReceiver receiver;
private BluetoothAdapter bluetoothAdapter;
private List<String> devices;
private List<BluetoothDevice> deviceList;
private Bluetooth client;
private final String lockName = "BOLUTEK";
private String message = "000001";
private ListView listView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_layout);

listView = (ListView) this.findViewById(R.id.list);
deviceList = new ArrayList<BluetoothDevice>();
devices = new ArrayList<String>();
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
bluetoothAdapter.startDiscovery();
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
receiver = new BluetoothReceiver();
registerReceiver(receiver, filter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
setContentView(R.layout.connect_layout);
BluetoothDevice device = deviceList.get(position);
client = new Bluetooth(device, handler);
try {
client.connect(message);
} catch (Exception e) {
Log.e("TAG", e.toString());
}
}
});
}

@Override
protected void onDestroy() {
unregisterReceiver(receiver);
super.onDestroy();
}

private final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case Bluetooth.CONNECT_FAILED:
Toast.makeText(ComminuteActivity.this, "连接失败", Toast.LENGTH_LONG).show();
try {
client.connect(message);
} catch (Exception e) {
Log.e("TAG", e.toString());
}
break;
case Bluetooth.CONNECT_SUCCESS:
Toast.makeText(ComminuteActivity.this, "连接成功", Toast.LENGTH_LONG).show();
break;
case Bluetooth.READ_FAILED:
Toast.makeText(ComminuteActivity.this, "读取失败", Toast.LENGTH_LONG).show();
break;
case Bluetooth.WRITE_FAILED:
Toast.makeText(ComminuteActivity.this, "写入失败", Toast.LENGTH_LONG).show();
break;
case Bluetooth.DATA:
Toast.makeText(ComminuteActivity.this, msg.arg1 + "", Toast.LENGTH_LONG).show();
break;
}
}
};

private class BluetoothReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if (isLock(device)) {
devices.add(device.getName());
}
deviceList.add(device);
}
showDevices();
}
}

private boolean isLock(BluetoothDevice device) {
boolean isLockName = (device.getName()).equals(lockName);
boolean isSingleDevice = devices.indexOf(device.getName()) == -1;
return isLockName && isSingleDevice;
}

private void showDevices() {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
devices);
listView.setAdapter(adapter);
}
}

3. android蓝牙设备上的标准串行怎么看

蓝牙串口实质上就是把可见的 传统串口连接线 变成了 不可见得 无线 传输(蓝牙)。

举例:如果要使用单片机采集数据,通过蓝牙串口 发回 电脑端实时处理
单片机 串口 TX 接蓝牙串口模块的RX, 单片机 RX 接到 蓝牙串口模块的TX
电脑端搜索蓝牙串口模块,配对(默认密码一般为 1234,请参照模块说明)
配对连接成功后会在设备管理器串口设备里面新生成蓝牙串口(如Bluetooth设备 链接上的标准串行(com17) - 请记住这一端口号
单片机通电运行,串口数据发送给蓝牙串口模块
电脑端通过上位机,或者串口助手等软件,打开com17
这时候单片机发送的串口数据,就都可以实时在电脑端收到了注意事项:蓝牙串口模块的串口通讯波特率需要设置成跟单片机通讯波特率一致,否则会产生乱码!

4. Android studio蓝牙app的串口是什么

Androidstudio蓝牙app的串口是一种通信的方式。类似于USB只是比USB低级多了,但是手机等设备他没外置这个串口,解决方式就是手机用蓝牙连接一个小硬件,小硬件有个串口他的和单片机连接,来达到手机和单片机的串口连接这种方式就是蓝牙串口。

Androidstudio蓝牙app的串口特点

蓝牙串口是基于SPP协议SerialPortProfile,能在蓝牙设备之间创建串口进行数据传输的一种设备,蓝牙串口的目的是针对如何在两个不同设备通信的两端上的应用之间保证一条完整的通信路径,需要在系统设置里连接上HC05的蓝牙,默认配对密码为1234默认波特率为9600。

默认名为HC05最好在连接后再看一下对应的MAC地址,因为我做的是单一连接单片机同一时间只能接入一个蓝牙设备,所以需求对更改连接蓝牙模块需求要求不大,如果用户不在创建项目时更改设备MAC地址,则使用的就是默认的MAC地址所以也没有做选择蓝牙设备的模块。

5. 安卓手机蓝牙串口通信问题(手机和单片机)

1、首先,不能用虚拟机,不须用真机
2、可以查找周围蓝牙设备,当搜索到你要连接到的蓝牙设备,停止discovering,然后就自动连接。或者是,如果你确定手机和蓝牙设备已经配对成功过,那也可以用
getBundedDevice指令,获取配对成功的蓝牙设备,在配对成功的蓝牙设备里查找到后实现连接。这两种方法后者会比较好一些,一般时间相差3到4秒。
这样配对连接成功后就可以尝试输入输出流来实现数据发送接收了

6. Android蓝牙通信是怎么获取串口数据

代码片段上传一下
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothServerSocket bss = BluetoothAdapter.getDefaultAdapter() .(NAME_SECURE, MY_UUID);
就可以对SOCKET进行读写操作了

7. android设备与单片机蓝牙串口模块数据通信问题

应该是主线程数据处理内容太多,而数据发送太快,你在发送数据之后做适当的延时,应该就可以了。就是数据帧之前有适当的时间间隔。

8. Android蓝牙传输速率限制在串口吗

这个限制是在串口。
为了保证有效通讯,根据电、传输介质等的物理特性结合串口设备使用的要求,确定RS232最大传输速率只能是115200,然后逐级二分得到57600,28800,19200??为适应这些速率,设计相应的晶振频率。
串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

9. android蓝牙串口通信,接收数据问题

http://stackoverflow.com/questions/16089261/how-to-convert-byte-valueto-hex-and-then-to-decimal-which-is-from-bluetooth-spp

10. Android蓝牙BLE连接如何设置串口,数据格式为含1位起始位、7位数据位、1位奇偶校验位和1位终止位

字符长度=1+7+1+2=11 b/字符
数据速率R1=11×100=1100 b/s
有效数据速率R=7×100=700 b/s
选B

阅读全文

与android蓝牙串口数据相关的资料

热点内容
自己购买云主服务器推荐 浏览:419
个人所得税java 浏览:761
多余的服务器滑道还有什么用 浏览:189
pdf劈开合并 浏览:28
不能修改的pdf 浏览:752
同城公众源码 浏览:489
一个服务器2个端口怎么映射 浏览:297
java字符串ascii码 浏览:78
台湾云服务器怎么租服务器 浏览:475
旅游手机网站源码 浏览:332
android关联表 浏览:945
安卓导航无声音怎么维修 浏览:332
app怎么装视频 浏览:430
安卓系统下的软件怎么移到桌面 浏览:96
windows拷贝到linux 浏览:772
mdr软件解压和别人不一样 浏览:904
单片机串行通信有什么好处 浏览:340
游戏开发程序员书籍 浏览:860
pdf中图片修改 浏览:288
汇编编译后 浏览:491