蓝牙串口app开发(蓝牙串口 app)
本篇文章给大家谈谈蓝牙串口app开发,以及蓝牙串口 app对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
求教如何制作一个安卓手机蓝牙制作的app程序,用于和单片机上的蓝牙模块,实现数据的传送
下位机,用串口和蓝牙模块连接,通信
上位机,安卓app开发用eclipse或者是android studio,蓝牙有相关的函数,,连接,断开,接受,网上大部分代码套着用就行了,,如果需要修改也修改的不多,,主ui界面的时候,不能有进程的占用和其他的一些的线程的操作,所以就得到子线程里面去执行了,还是先学学基础吧,之后再看这些的话,就容易的多了
如何使用蓝牙模块与电脑通信,实现自主开发
1、通信前必须具备东西:
(1)
蓝牙串口模块;
(2)
蓝牙适配器;
(3)
串口调试软件;
(4)
蓝牙测试软件;(配套而来的)
2、配置蓝牙串口模块;
3、把蓝牙适配器插上电脑,等待电脑自动安装好驱动软件,一般电脑都能自行安装,如果特殊的电脑不行,请下载相关蓝牙驱动软件即可;
4、在电脑右下角的蓝牙图标上单击,选择“添加设备”,然后电脑自动搜索,可以看到我们的蓝牙串口模块Bluebooth了,选择它,单击下一步;输入设备的配对码:1234(如上),然后进行连接,成功连接之后电脑会自动搜索安装蓝牙外围设备的驱动软件;
5、进行蓝牙通信。
你需要知道的蓝牙传输的原理:
1
主从关系:
蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个具备蓝牙通讯功能的设备,
可以在两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时,转换为主模式,向其它设备发起呼叫。一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。SKYLAB的BLE蓝牙模块作为工业级蓝牙低功耗模块,拥有:超低功耗、远距离传输、宽电压范围的特性。功能支持:4.0
BLE协议、主从一体、电量检测、加密传输、多种配置方式、Mesh组网、一对多广播、iBeacon协议。
2
呼叫过程:
蓝牙主端设备发起呼叫,首先是查找,找出周围处于可被查找的蓝牙设备。主端设备找到从端蓝牙设备后,与从端蓝牙设备进行配对,此时需要输入从端设备的PIN码。
如何使用MIT APP Inventor2 快速创建一个蓝牙串口app
AppInventor开发工具与测试用的AI伴侣是同步更新的,因此某个版本的AI2要与特定版本的伴侣配合使用。你可以到新浪博客搜一下“老巫婆的博客”,置顶贴里有本土版离线包的下载地址,如果我没记错的话,离线包中自带的ai伴侣就是你需要的这个版本。另:最好稳定地使用某个版本一段时间,如果跟随MIT频繁地更新版本,会无端地生出一些麻烦。
关于单片机通过蓝牙将数据传输给手机,并在app上面显示出来怎么实现?
首先是蓝牙通信,我想指出,如果你用的是蓝牙模块的话,那么它的单片机程序与串口的单片机程序差不多一样,只要你会串口操作,蓝牙也就解决了,如果不是用的蓝牙模块,另当别论。
然后是接受端手机这边,你应该懂一些java东西,知道怎么调用底层程序,编写读取串口程序,根据发送的协议,把接受的数据转化为十进制就可以了.
扩展资料
单片机采用51系列单片机用C51语言编写,通过sprintf构造JSON格式文件通过蓝牙串口模块发送到安卓手机,简要代码如下:
sprintf(msg,"{\"RR\":\"%02x\"}\0",(unsigned int )RRtemp);
Serial_print(msg);
这里涉及到Serial_print()函数如下:
void Serial_print(char *msg)
{
while (*msg != '\0') {
S2BUF = *msg;
while ((S2CON S2TI) == 0);
S2CON = ~S2TI;
msg++;
}
}
想开发一个类似于蓝牙串口助手的软件,设置几个按钮,点击相应按钮就发送相应字符串给蓝牙模块,求解答。
如此简单,干脆用流行的串口软件,如格西烽火串口助手、串口调试助手等,都可以轻松实现。
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 ListString devices;
private ListBluetoothDevice 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 ArrayListBluetoothDevice();
devices = new ArrayListString();
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() {
ArrayAdapterString adapter = new ArrayAdapterString(this, android.R.layout.simple_list_item_1,
devices);
listView.setAdapter(adapter);
}
}
蓝牙串口app开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于蓝牙串口 app、蓝牙串口app开发的信息别忘了在本站进行查找喔。