前言

有时候开发,掌握一定理论知识,有助于缕清思路,避免走弯路,提高开发效率。

一般来说,终端设备包括Android系统及其关联的硬件模块的组合体,Android系统与硬件通讯有多种连接方式,比如常见的串口,usb,wifi,蓝牙等连接方式,不同连接方式在传输速率、性能、协议、应用场景等方面各有不同。其中串口一般是指传统的串口RS232((也叫COM口,通讯口))。广义串口包含USB接口,usb就是通用串行总线(Universal Serial Bus, USB)。传统串口相信不久会被市场淘汰,目前市场上大部分是usb口。

串口

串口是指利用串行方式传输数据的接口,它是一大类接口,USB接口、RS232接口、网线RJ45接口、RS485接口、SATA接口等等都属于串口。各种串口之间的通讯协议、接口电平等并不完全相同,传输速率也不同,因此有一种串口得到另一种串口时需要转换。
通用串行总线(Universal Serial Bus, USB)是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。

传统串口连接:

Android上串口连接一般使用google的库android-serialport-api,串口有五个重要的参数:串口设备名,波特率,检验位,数据位,停止位, 其中检验位一般默认位NONE,数据位一般默认为8,停止位默认为1。
串口操作流程:

  1. 打开串口
  2. 读写串口
  3. 关闭串口

推荐一个基于android-serialport-api编译,可用在Android上的库:Android-SerialPort-API,或者自己下载编译

USB COM

USB转串口即实现计算机USB接口到通用串口之间的转换。为没有串口的计算机提供快速的通道,而且,使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。USB连接中需要知道对应USB设备的vendorId(设备厂商Id)和productId(设备产品Id),这两个id主要是用于连接和过滤设备,参考:https://www.cnblogs.com/blogzhangwei/p/4758230.html

开发使用这个库:usb-serial-for-android,就可以实现USB COM开发,该库支持:

  • FTDI FT232R, FT232H, FT2232H, FT4232H, FT230X, FT231X, FT234XD
  • Prolific PL2303
  • Silabs CP2102 and all other CP210x
  • Qinheng CH340, CH341A

蓝牙串口

蓝牙串口是基于SPP协议(Serial Port Profile),能在蓝牙设备之间创建串口进行数据传输的一种设备。蓝牙串口的目的是针对如何在两个不同设备(通信的两端)上的应用之间保证一条完整的通信路径。平时Android蓝牙连接都需要一个UUID,不同UUID的含义也不同,其中有一个是蓝牙串口服务的ID。

//蓝牙串口服务的IDUUID BluetoothUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

硬件通讯

针对以上硬件通讯需求,封装了一个通用的硬件连接库,DeviceConnector,用法参考:https://blog.csdn.net/u011082160/article/details/126119843

扩展资料:

串口其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

作为应用最广泛的USB接口,每台电脑必不可少的通讯接口之一,它的最大特点是支持热插拨,即插即用。传输速度快。对于大多数工程师来说,开发USB2.0 接口产品主要障碍在于:要面对复杂的USB2.0协议、自己编写USB设备的驱动程序、熟悉单片机的编程。

参考:

https://baike.baidu.com/item/%E4%B8%B2%E8%A1%8C%E6%8E%A5%E5%8F%A3/2909564?fromtitle=%E4%B8%B2%E5%8F%A3&fromid=1250303&fr=aladdin

https://baike.baidu.com/item/%E8%93%9D%E7%89%99%E4%B8%B2%E5%8F%A3/1415870

关于Android终端机串口的理解相关推荐

  1. Android 操作串口 (android serial port api)

    Android 操作串口 (android serial port api)

  2. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  3. Android菜单详解——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  4. 用Kotlin开发android平台语音识别语义理解应用

    用Kotlin开发android平台语音识别,语义理解应用(olamisdk) 转载请注明CSDN博文地址:http://blog.csdn.net/ls0609/article/details/75 ...

  5. Android蓝牙串口程序开发

    本文主要介绍了针对android的蓝牙串口上位机开发. 程序下载地址:点击打开链接 一.帧定义 androidclient依照一定的数据帧格式通过蓝牙串口发送数据到连接到MCU的蓝牙从机.MCU接收到 ...

  6. Android蓝牙串口通讯【转】

    本文转载自:http://blog.sina.com.cn/s/blog_631e3f2601012ixi.html Android蓝牙串口通讯 闲着无聊玩起了Android蓝牙模块与单片机蓝牙模块的 ...

  7. Android USB转串口开发(hoho.android.usbserial串口库)

    使用hoho.android.usbserial串口库开发串口 import android.app.Application import android.app.PendingIntent impo ...

  8. 求android 中串口的发送接收数据代码

    RT,求高手帮忙! 就是 /dev/ttyS0 和/dev/ttyS1 两个设备的通信问题.. 同求~ 这个是不是需要串口驱动啊?最近正在搞这个串口通信的案子,头疼 同样也没有搞出来,老是报:不能扫描 ...

  9. android读写串口

    android读写串口(friendlyarm) import com.friendlyarm.AndroidSDK.HardwareControler; import android.app.Act ...

最新文章

  1. JS 中 URL 编码的问题.
  2. [.net 面向对象编程基础] (13) 面向对象三大特性——多态
  3. docker删除为none的镜像
  4. Markdown插图片模板
  5. vscode如何查看修改过的部分_如何查看和修改Windows远程桌面端口
  6. 【OpenGL】glFinish()和glFlush()函数详解
  7. Exchange 跨林迁移 Part4 双方域管理员加到对方管理员组
  8. 两台服务器安装redis集群_高性能分布式存储服务Minio安装配置入门
  9. 系统版本与服务器版本不一致,服务器sql版本不一致,请问如何恢復备份
  10. Zabbix 监控ESXi服务器【非虚拟机】CPU、内存、硬盘、网络带宽
  11. 中国好SaaS广州站:Fundebug勇夺两大奖项
  12. pyecharts绘制地铁图_2025年北京市轨道交通线路预绘图(含地铁、有轨电车、市郊铁路)...
  13. 【软件定义汽车】【场景篇】智能座舱
  14. 不靠体育赛事,咪咕视频还有多大发展空间?
  15. 故障诊断 | 系统级追踪诊断方法及案例分享
  16. Xcode 12 GM发行说明,快来看看SwiftUI和Swift都更新哪些新技术吧
  17. 【手动安装Python包】
  18. 智慧医院信息化建设整体解决方案
  19. 操作系统 | 期末复习 · I/O系统
  20. Diskgenius修复硬盘0柱面坏道

热门文章

  1. 20190904携程机试
  2. 微信每日早安推送给女朋友,小白也可以学会
  3. Redis(主从复制、哨兵模式、集群)概述及部署
  4. 比较好做的计算机毕设,大学几年快结束了,计算机毕设到底该怎么做?
  5. 边沿触发 与电平触发
  6. 移动Web第七天(响应式网页:媒体查询、BootStrap)
  7. 物联网技术可以给养老院带来哪些变化
  8. Mac技巧之更改苹果电脑开机画面的技巧
  9. 3u VPX主板**
  10. [网易2017实习生编程题] 魔力手环