1、WIFI

通过网络使用Socket来实现通信。

2、蓝牙

蓝牙2.0 和 蓝牙4.0BLE

蓝牙2.0

1、首先扫描到蓝牙

2、通过UUID来配对蓝牙

   1)、安全模式是 要输入配对密码的

   2)、非安全模式不需要输入配对密码

3、拿到蓝牙类获取BloothSockt进行通信


蓝牙4.0BLE

是针对可穿戴设备推出的低功耗设备。

Android4.4API以后才支持蓝牙4.0BLE,以下的设备都搜索不到。

1、Android作为中央设备GATT

2、一个外界的设备是 Server(唯一的UUID)

   1)每个server包含多个services,每一个service对应一个UUID

   2)每个service包含多个 characteristic,每个characteristic对应一个UUID

  3)每个characteristic 对应 一个value和 多个description

  4)我们可以对characteristic,进行读取,写入,监听变化

3、USB

Android 本身是基于Linux系统,

1、底层实现了Android USB的驱动,但是他只能拿到Android的USB类的对象,通过USB广播获取到这个对象

2、USB设备上层还有 协议比如 HID 、CP2102协议这是我们上成要实现的

3、从USB设备中成功拿到数据后,Android不同厂商对写协议的封装,解析数据

这里可以分为 3层结构  1、USB识别层 2、usb驱动层3、应用层

USB 设备是通过 PID 和VID来 作为唯一标识的,而这个是串口芯片的标识,所以很多不同的设备却有一样的PID和VID 这时候就要通过应用层协议来区分是哪一个设备了。


这些信息可以通过 adb shell

#cat /proc/kmsg    然后插拔USB 就可以查看实时的信息了

idVendor 就是VID   idProduct 就是PID           下面是 CP2102转串口







更多相关文章

  1. Android多分辨率适配原理
  2. Android中printf和LOGE区别
  3. Android(安卓)M预览版SDK发布 Android(安卓)M开发者预览版SDK下
  4. Flutter 入门篇一(解决无法连接设备问题)
  5. Android(安卓)Developers:sqlite3
  6. Android(安卓)防止PC端第三方流氓软件强制安装apk至android设备
  7. Android之基于HTTP协议的通信详解
  8. Android设备上的简易备忘录(Memo) 具有闹钟功能
  9. 专题 - Web应用->Web应用中适配不同屏幕

随机推荐

  1. MySql主从复制机制全面解析
  2. MySQL/MariaDB 如何实现数据透视表的示例
  3. MySQL GTID主备不一致的修复方案
  4. 磁盘写满导致MySQL复制失败的解决方案
  5. MySQL UPDATE 语句的非标准实现代码
  6. 解决出现secure_file_priv null的问题
  7. MySQL 线上日志库迁移实例
  8. MySQL 线上数据库清理数据的方法
  9. mysql创建表添加字段注释的实现方法
  10. MySQL 大表的count()优化实现