Android设备与STM32单片机通信方式探讨
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android设备与STM32单片机通信方式探讨
摘要:随着科学技术的进步与人们生活水平的提升,Android设备也以其成本低廉、开发难度小、开放性强等优势,成为人们手中主要的网络设备。而Android平板电脑是当前非常流行的一种移动终端,本文便以Android平板电脑为例,研究Android设备与STM32单片机之间的音频通信、串口通信以及Bluetooth通信三种通信方式。
关键词:Android设备STM32单片机通信方式
中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2016)01-0000-00
所谓STM32,指的是以ARMCortex-M3为基础的STMicroelectronics嵌入式32为微处理器,具有成本低、性能高、能耗少等优势。从性能的角度出发,微处理器可以分为基本型、互联型以及增强型几个种类,以适用于产品的不同性能要求。而Android则是一种以Linux为基础的操作系统,普遍适用于智能终端设备,如平板电脑、智能手机等,越来越受到市场的广泛认同。
1 音频通信
耳机孔是Android设备中必不可少的,用于输入与输出麦克和耳机中的音频信号,耳机引脚的构成如图1所示:
图1 耳机引脚的构成
根据图1所示,可以运用两个声道中的任意一个,作为Android设备向STM32单片机进行信号传输的通信线,而MIC 麦克则可以作为STM32单片机向Android设备进行信号传输的通信线[1]。由于音频信号是一种模拟信号,因此,需要调制传输过程中的数字信号,现阶段常用的调制方法有AM、FM以及PM,其中,AM虽然相对简单,但在抗干扰能力方面相对较差,所以,当前普遍运用的方法是FM与PM。应用相关广泛的音频调制方式为DTMF,市场上有很多与之相对应的编解码芯片,这些芯片能够在很大程度上简化对STM32单片机的开发环节。
在音频通信的过程中,其运作难点主要集中在调制与解调方面,STM32单片机可以运用当前相对成熟的芯片来完成对硬件的调制与解调工作,但是,Android设备在这方面却需要自行完成[2]。另外,一般情况下,20kHz是音频信号传输过程中的普遍上限,所以,运用音频进行通信的速率也相对较低,这种方式只适用于手持式刷卡机。
2串口通信
在嵌入式系统中,串口通信是最常见的通信方式,运用这种方式进行通信,STM32单片机的开发难度相对较小,其引脚、波特率、中断函数等参数都可以进行有针对性的设置,操作简单方便。
对于Android设备来说,并不能够直接对串口通信实现支持,但绝大多数Android设备都能够支持On-The-Go,因此,可以将Android设备当做USB的主机,利用PL2303等转串口芯片来实现虚拟串口。在设备的上层应用中,想要与单片机之间实现串口通信,只需要对虚拟串口驱动设备进行有针对性的调用即可。这个过程可以通过两种方式来实现,其一,运用Linux实现;其二,运用应用层来实现,相比来讲,后者因为必须经历Dalvik VM,所以通用性更强,但绝大多数厂商并不会将通信协议公布出来,所以想要运用这种方式,其难度与工作量都会相对较大[3]。无论在研发难度方面,还是在应用成本方面,串口通信都更适用于低速传输。
3 Bluetooth通信
STM32单片机无法直接对Bluetooth功能实现支持,想要实现对这一功能的支持,需要利用串口转蓝牙模块。在转换过程中,需要将蓝牙与单片机两者的串口波特率调整到一致,便能够实现Bluetooth通信。
而Android设备能够很好的支持Bluetooth通信,在很早以前,Android系统便为BlueZ提供了协议支持,Bluetooth
设备与Android设备之间的通信已经非常成熟[4]。具体来讲,在Android设备中,Bluetooth功能的实现主要是通过android?bluetooth包中的类库完成的.
4结语
综上所述,在不同的场景中,需要选择有针对性的通信方式,音频通信主要适用于低通信速率的场景,而串口通信与Bluetooth通信的传输速率相似,在进行无线传输的过程中,需要运用Bluetooth通信,而一般情况下,则优先考虑串口通信。本文主要对Android设备与STM32单片机之间的通信进行研究,虽然单片机的种类非常多,但每种单片机之间也有很大相似性,所以,本文的研究成果是具有普遍性的,可以在一般单片机与Android设备的通信中实现推广。
参考文献
[1]王鹏,黄忠.基于Android和STM32的新型智能快递终端的研究与设计[J].科技广场,2014,08:237―242.
[2]郑晓彬,王琛岚,王忠等.基于ZigBee和Android的家用移动监护系统设计与实现[J].计算机测量与控制,2015,08:2706―2708?2712.
[3]陈隆捷,林立.基于安卓系统应用软件控制平台的双模STM32智能小车[J].仪表技术,2015,09:41―43.
[4]崔世钢,董江磊,田立国等.基于家庭物联网Android 平台的智能植物生长柜监控系统设计[J].中国农机化学报,2015,03:110―113.
收稿日期:2015-11-08
作者简介:孔元(1991―),男,湖北黄冈人,大学本科,研究方向:计算机应用。