A. 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);
}
}
B. 蓝牙串口,有蓝牙适配器接入电脑串口com1,形成蓝牙串口,再用串口调试助手就打不开了com1了谢
蓝牙适配器没有硬件问题的话,可以更换一个串口软件,检验一下,如格西烽火、SSCOM等,相对稳定。
C. 如何使用蓝牙模块与电脑通信,实现自主开发
1、通信前必须具备东西:
(1)
蓝牙串口模块;
(2)
蓝牙适配器;
(3)
串口调试软件;
(4)
蓝牙测试软件;(配套而来的)
2、配置蓝牙串口模块;
3、把蓝牙适配器插上电脑,等待电脑自动安装好驱动软件,一般电脑都能自行安装,如果特殊的电脑不行,请下载相关蓝牙驱动软件即可;
4、在电脑右下角的蓝牙图标上单击,选择“添加设备”,然后电脑自动搜索,可以看到我们的蓝牙串口模块Bluebooth了,选择它,单击下一步;输入设备的配对码:1234(如上),然后进行连接,成功连接之后电脑会自动搜索安装蓝牙外围设备的驱动软件;
5、进行蓝牙通信。
你需要知道的蓝牙传输的原理:
1
主从关系:
蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个具备蓝牙通讯功能的设备,
可以在两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时,转换为主模式,向其它设备发起呼叫。一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。SKYLAB的BLE蓝牙模块作为工业级蓝牙低功耗模块,拥有:超低功耗、远距离传输、宽电压范围的特性。http://www.skylab.com.cn/procts-3.html功能支持:4.0
BLE协议、主从一体、电量检测、加密传输、多种配置方式、Mesh组网、一对多广播、iBeacon协议。
2
呼叫过程:
蓝牙主端设备发起呼叫,首先是查找,找出周围处于可被查找的蓝牙设备。主端设备找到从端蓝牙设备后,与从端蓝牙设备进行配对,此时需要输入从端设备的PIN码。
D. 怎么用串口调试助手配置蓝牙模块
下载PL2303串口驱动程序,并在用于调试蓝牙模块SKB501的电脑上安装该驱动程序PL2303_Prolific_DriverInstaller_v1.5.0.exe
E. 安卓程序蓝牙 用电脑如何调试 电脑要是服务器端吧
前提是电脑支持蓝牙,如果支持打开就能搜索到蓝牙设备,配对成功就可以用了。
F. pc蓝牙串口调试助手怎么使用
串口调试助手就是相当于PC机,也就是上位机。通过串口和其它设备(比如单片机或仪器,甚至也可以是PC机)通信。在助手上可以收发,看出结果。
G. 有什么好的pc版蓝牙串口调试助手
如此简单,干脆用流行的串口软件,如格西烽火串口助手、串口调试助手等,都可以轻松实现。
H. 如何开发简单的调试蓝牙app
分两种情况:
你懂技术,安卓JAVA或苹果OC。有一定的技术基础,并且愿意去学习和尝试,简单的蓝牙app其实真的简单,就是通过蓝牙协议进行软硬件联调,指令也就那几条,只要调通就好了。
不懂技术。那就网络一家app技术公司去咨询,然后把项目外包给他们,当然一定要货比三家。
I. 怎么用手机蓝牙调试助手控制51单片机上的LED灯亮
#include<reg52.h>
typedef unsigned char unit8;
typedef unsigned short unit_16;
void Receive_Handle(unit8 Value)
{
switch(Value)//具体发送过来的是什么数据 需要自己自己通过串口调试助手查看
//改变这里面对应的数据即可
{
case 0x00:P2=0xff;break;
case 0x01:P2=0xfe;break;
case 0x02;P2=0xfd;break;
case 0x03:P2=0xfb;break;
case 0x04:P2=0xf7;break;
default:P2=0xff;break;
}
}
void main()
{
TMOD |= 0x20;//定时器1 工作方式2 8位自动重装模式
SCON = 0x50;//串口工作方式1 允许接收 8位数据位
TH1 = 0xfd; //波特率9600
TR1 = 1;
ES = 1;
EA = 1;
while(1);
}
void UART1_Rountine()interrupt 4
{
static unit8 Receive_Data=0;
ES = 0;
while(!RI);
RI=0;
Receive_Data = SBUF;
Receive_Handle(Receive_Data);
ES = 1;
}
/*---------------------------------------------------------------------------------------
如有问题可再咨询
----------------------------------------------------------------------------------------*/
J. 想开发一个类似于蓝牙串口助手的软件,设置几个按钮,点击相应按钮就发送相应字符串给蓝牙模块,求解答。
如此简单,干脆用流行的串口软件,如格西烽火串口助手、串口调试助手等,都可以轻松实现。