资料介绍
Android操作系统是Google基于开源的Linux操作系统开发的移动操作平台,由操作系统、中间件、用户界面和应用软件组成,是专门为移动终端打造的开放和完整的移动操作系统。Android软件平台包含Java Application、Application Framework、Libraries、Runtime与LinuxOS等层。用户可根据产品的不同需求对系统进行裁剪,从而适应多样的产品需求,Android系统就如同积木一样通过组合不同的软硬件实现不同的应用产品。蓝牙的出现为移动设备的互联提供了一个方便快捷的选择,Android设备和以单片机为处理器的控制器联接使两者的功能得到了互补。
1系统架构
基于蓝牙与Android设备的控制系统由Android设备和下位机组成。Android设备(Android智能手机或Android平板)安装有专门编制的软件。下位机采用ATMEL公司高效的RISC内核的ATMEGA 8为核心,并集成蓝牙串行模块为通信信道。Android设备通过蓝牙将数据发送至下位机,下位机根据接收到数据,完成相应的控制功能,并将处理结果上传,实现实时监测、实时控制功能。下位机只负责数据的采集和实现控制功能,数据的存储和处理在Android设备上实现。
2下位机设计
2.1控制模块的设计
下位机由ATMEAG8、数字温度传感器、电机驱动电路等组成,其中CPU部分电路如图1所示。下位机处理器串口连接蓝牙模块。数字温度传感器将当前温度直接转换成数字信号。蓝牙模块设置为从工作模式。
图1 CPU电路原理图
系统上电后蓝牙模块处于等待连接状态,当Android设备第一次发出连接请求时需要输入蓝牙模块的内置密码,以后再连接时则不需要输入密码,只有密码匹配成功才能后成功建立蓝牙连接。蓝牙模块为Android设备和ATMEAG8的通信信道,实现Android设备和下位机的双向数据连接。用户通过Android设备向下位机发送命令,下位机接收到命令后,控制相应的执行模块,实现设定的控制功能。K1和K2为低电平,电机两端电压为0V,电机停止;K1为高电平,K2为低电平电机两端为5V,电机正向转动;K1为低电平,K2为高电平电机两端为-5V,电机反向转动;K1和K2不能同时为高电平,电机驱动电路如图2所示
图2电机驱动电路原理图
2.2蓝牙模块
蓝牙模块型号为IDS-BM4A,模块有主/从两种工作模式,通过PIO2电平来选择模块的工作,PIO2为高电平,模块工作在从模式。模块可以有两种应用方式,方式1:从模块上电即开始工作,用户可以通过Android设备查找模块,模块设备名称为“SPP”,查到设备后选择连接,电脑端将提示输入密码,此时输入“0000”,电脑将与模块建立透明连接。方式2:需要两个蓝牙模块,一个设置为主模式,一个设置为从模式,分别与两个MCU连接,上电后主从模块会自动配对连接,连接成功后主从模块将建立透明数据传输,两个设备之间可以直接互发数据。
工作状态指示:模块PIO0用来连接LED,指示当前工作方式。
主模式:
未连接,LED间隔1秒钟快速闪烁2次;已连接,LED常亮。
从模式:
未连接,LED快速闪烁;已连接,LED常亮。
连接状态指示:模块PIO1为连接状态指示,连接成功PIO1为高电平,连接断开PIO1为低电平。
波特率设定表:
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系统架构
基于蓝牙与Android设备的控制系统由Android设备和下位机组成。Android设备(Android智能手机或Android平板)安装有专门编制的软件。下位机采用ATMEL公司高效的RISC内核的ATMEGA 8为核心,并集成蓝牙串行模块为通信信道。Android设备通过蓝牙将数据发送至下位机,下位机根据接收到数据,完成相应的控制功能,并将处理结果上传,实现实时监测、实时控制功能。下位机只负责数据的采集和实现控制功能,数据的存储和处理在Android设备上实现。
2下位机设计
2.1控制模块的设计
下位机由ATMEAG8、数字温度传感器、电机驱动电路等组成,其中CPU部分电路如图1所示。下位机处理器串口连接蓝牙模块。数字温度传感器将当前温度直接转换成数字信号。蓝牙模块设置为从工作模式。
图1 CPU电路原理图
系统上电后蓝牙模块处于等待连接状态,当Android设备第一次发出连接请求时需要输入蓝牙模块的内置密码,以后再连接时则不需要输入密码,只有密码匹配成功才能后成功建立蓝牙连接。蓝牙模块为Android设备和ATMEAG8的通信信道,实现Android设备和下位机的双向数据连接。用户通过Android设备向下位机发送命令,下位机接收到命令后,控制相应的执行模块,实现设定的控制功能。K1和K2为低电平,电机两端电压为0V,电机停止;K1为高电平,K2为低电平电机两端为5V,电机正向转动;K1为低电平,K2为高电平电机两端为-5V,电机反向转动;K1和K2不能同时为高电平,电机驱动电路如图2所示
图2电机驱动电路原理图
2.2蓝牙模块
蓝牙模块型号为IDS-BM4A,模块有主/从两种工作模式,通过PIO2电平来选择模块的工作,PIO2为高电平,模块工作在从模式。模块可以有两种应用方式,方式1:从模块上电即开始工作,用户可以通过Android设备查找模块,模块设备名称为“SPP”,查到设备后选择连接,电脑端将提示输入密码,此时输入“0000”,电脑将与模块建立透明连接。方式2:需要两个蓝牙模块,一个设置为主模式,一个设置为从模式,分别与两个MCU连接,上电后主从模块会自动配对连接,连接成功后主从模块将建立透明数据传输,两个设备之间可以直接互发数据。
工作状态指示:模块PIO0用来连接LED,指示当前工作方式。
主模式:
未连接,LED间隔1秒钟快速闪烁2次;已连接,LED常亮。
从模式:
未连接,LED快速闪烁;已连接,LED常亮。
连接状态指示:模块PIO1为连接状态指示,连接成功PIO1为高电平,连接断开PIO1为低电平。
波特率设定表:
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设备的蓝牙串行通讯软件框架。凭借蓝牙的传输高效并且快速等特点,该系统具有很好的灵活性,能广泛应用于工业现场控制等多个领域,尤其是一些需要数据传输又不能很方便的布设通讯电缆的场合,具有广阔的发展空间。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 低功耗风光互补电源控制系统
- 电力拖动自动控制系统之运动控制系统电子版 0次下载
- 基于蓝牙模块的音乐喷泉控制系统 110次下载
- 基于DSP的煤矿电机控制系统 7次下载
- LTC2983 为何能够测量 18 个两线式 RTD?资料下载
- Android蓝牙开发的教程免费下载 17次下载
- DDC控制系统和PLC控制系统对比和应用 12次下载
- 使用Android客服端和单片机实现一个远程控制系统的程序免费下载
- 如何使用蓝牙进行U盘智能控制系统设计与实现 14次下载
- 基于蓝牙与Android设备控制系统的架构及其下位机设计详解 4次下载
- 基于STM32风光互补发电控制系统设计 31次下载
- 基于蓝牙技术及嵌入式系统固件开发的机器人控制系统 11次下载
- 关于蓝牙技术在工业的控制系统中的应用 12次下载
- 多网络和Linux代理的Android无线远程控制系统 0次下载
- 基于Android健康服务终端蓝牙传输软件的设计 95次下载
- 现场总线控制系统与集散控制系统的对比 765次阅读
- 步进电机控制系统是什么意思 538次阅读
- 前馈控制系统与反馈控制系统的区别 1520次阅读
- 开环控制系统与闭环控制系统的区别 5564次阅读
- plc控制系统与传统继电器控制区别 plc控制系统的优点 2427次阅读
- 风光互补控制器工作原理 风光互补控制器怎么设置 1659次阅读
- 蓝牙网络照明控制系统的优势 502次阅读
- 基于WIFI网络的车间设备监测与控制系统设计 548次阅读
- PLC控制系统设计的基本原则 1939次阅读
- DCS控制系统是什么?DCS控制系统的特点 3530次阅读
- 机器人控制系统概念!机器人控制系统的基本要求 9598次阅读
- 基于Android的智能家居终端控制系统 9758次阅读
- 基于ZigBee的Android智能移动设备控制系统设计 6143次阅读
- 基于蓝牙与Android设备的控制系统设计 933次阅读
- 多网络和Linux代理的Android无线远程控制系统 3603次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 11次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5DIY动手组装LED电子显示屏
- 0.98 MB | 3次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机PM2.5检测系统程序
- 0.83 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537797次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191186次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多