基于蓝牙与Android设备的控制系统设计

时间:2014-10-27来源:网络

  3 Android设备软件设计

  Android2.2版本以上才能很好的支持蓝牙功能,Android上的应用程序一般采用Java语言开发,编程环境一般采用Eclipse.

  Android应用程序需要使用蓝牙功能,必须在AndroidManifest.xml中要申请两个权限:BLUETOOTH_ADMIN和BLUETOOTH.具体格式如下:

  ission.BLUETOOTH_ADMIN"/>me="android.permission.BLUETOOTH"/>

  BLUETOOTH_ADMIN权限允许Android应用程序启动发现设备或者进行蓝牙功能的设置;BLUETOOTH权限是Android应用程序执行蓝牙通信必须具有的权限,例如接受连接和传送数据。大多数应用程序都需要这个权限,才能查找当地的蓝牙设备。

  由于需要和下位机的蓝牙模块连接,在应用程序中需要实现主设备功能。具体的连接流程是:

  (1)在应用程序中检查设备的蓝牙功能是否开启,如果未开启,则打开蓝牙功能;

  (2)查找设备附近等待连接的蓝牙设备,显示查找到的蓝牙设备的物理地址(以前没有连接过的设备)或蓝牙设备的名称;

  (3)选择想要连接的蓝牙设备,如果是第一次连接这个目标设备系统会自动发起一个配对过程,弹出输入连接密码的对话框,输入“0000”,等待对方校验密码,完成配对,然后进行连接。

  (4)应用程序接收到连接成功,就可以通过生成的BluetoothServerSocke和下位机进行数据传输。需要连接的蓝牙模块是蓝牙串口,因此应用程序中定义的UUID必须符合蓝牙串口的UUID,这样连接才会被接受。因为accept()调用是一个阻塞的调用,应用程序所有响应在调用返回之前会被阻塞,因此一定不能在主线程中进行调用,通常是在一个新的线程中做所有的工作从而避免应用程序主线程的阻塞。主要代码如下;

  (5)关闭server socket,释放serversocket和它占用的资源,结束应用程序。

  4结束语

  本文提出了基于蓝牙与Android设备的无线控制系统模型,分析了蓝牙网络的一般结构,采用通用的蓝牙模块实现了无线终端设计,给出了Android设备的蓝牙串行通讯软件框架。凭借蓝牙的传输高效并且快速等特点,该系统具有很好的灵活性,能广泛应用于工业现场控制等多个领域,尤其是一些需要数据传输又不能很方便的布设通讯电缆的场合,具有广阔的发展空间。

  主要代码

  

 

  

1 2

关键词: 蓝牙 Android ATMEGA 8

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版