编程进阶网 编程进阶网
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机组成原理
  • 操作系统原理
  • 网络协议原理
  • 数据库系统原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 在线工具
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 加解密
  • 时间日期
  • 网络工具
  • 颜色设计
  • 二维码
  • 开发实用
  • 计算机组成原理
  • 操作系统原理
  • 网络协议原理
  • 数据库系统原理
  • 序卷导读
  • 数据本质
  • 运行模型
  • 并发设计
  • 内存真相
  • 交互系统
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 体系建设
  • 代码品质
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 性能优化
  • 数据结构导论
  • 线性结构详解
  • 树哈希结构论
  • 容器设计实战
  • 经典算法思想
  • 工程案例剖析
  • 算法题库精练
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++编程技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript案例
  • JavaScript高级
  • Android库解读
  • Android专栏
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • 毛选解读
  • 自我精进
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • Android提升进阶

  • iOS开发和进阶

  • Web开发和进阶

  • Linux应用开发

  • IoT智能硬件开发

    • README
      • 专栏路线图
      • 存量文章对照表
      • 01.Android智能硬件开发全景图
      • 02.GPIO与底层IO控制
      • 03.串口通信原理与JNI实战
      • 04.USB通信协议深度剖析
      • 05.NFC与射频卡技术原理
      • 06.APDU指令协议与CPU卡交互
      • 07.韦根协议与门禁控制器
      • 08.继电器控制与门锁执行器
      • 09.门禁系统端到端架构设计
      • 10.Android Camera2框架原理
      • 11.YUV图像编解码深度剖析
      • 12.UVC相机协议与实践
      • 13.人脸识别集成实战
      • 14.视觉系统端到端架构设计
      • 15.蓝牙协议栈与Android BLE开发
      • 16.WiFi与MQTT物联网通信
      • 17.RTSP/RTMP视频流传输
      • 18.多协议融合通信网关设计
      • 19.智能硬件App稳定性与容灾设计
      • 20.智能硬件系统架构全景回顾
      • 每篇文章的标准结构
      • 改造优先级
    • 智能硬件开发全景图
    • GPIO底层IO控制
    • 串口通信原理实战
    • USB通信协议剖析
    • NFC射频卡原理
    • APDU与CPU卡交互
    • 韦根协议门禁控制
    • 继电器与门锁控制
    • 门禁系统架构设计
    • Camera2框架原理
    • YUV图像编解码
    • UVC相机协议实践
    • 人脸识别集成实战
    • 视觉系统架构设计
    • 蓝牙BLE开发实践
    • WiFi与MQTT通信
    • RTSP视频流传输
    • 多协议通信网关设计
    • 硬件稳定性与容灾
    • 智能硬件架构回顾
  • Apps
  • IoT智能硬件开发
杨充
2025-07-24
目录

README

# 智能硬件开发专栏

专栏定位:从 Android 视角深度剖析智能硬件开发的完整知识体系——覆盖有线通信(串口/USB/GPIO)、身份识别(NFC/APDU/韦根/继电器)、影像采集(Camera2/YUV/UVC/人脸识别)、无线通信(BLE/MQTT/RTSP)四大领域,以"案例引入→架构概览→逐层深挖→综合串讲→设计哲学"的深度专栏体例组织。


# 专栏路线图

智能硬件开发专栏 20 篇路线图:

模块 A:硬件通信基础(第 01~04 篇)── 地基
  ├── 01.Android智能硬件开发全景图          ← 专栏入口,五层硬件栈
  ├── 02.GPIO与底层IO控制                   ← sysfs/proc/电平信号
  ├── 03.串口通信原理与JNI实战               ← UART+termios+环形缓冲区
  └── 04.USB通信协议深度剖析                 ← 协议分层+传输模式

模块 B:身份识别与门禁(第 05~09 篇)── 核心场景
  ├── 05.NFC与射频卡技术原理                 ← ISO14443+M1安全缺陷
  ├── 06.APDU指令协议与CPU卡交互             ← ISO7816+密钥分散+安全报文
  ├── 07.韦根协议与门禁控制器                ← 电气时序+校验位+三级组网
  ├── 08.继电器控制与门锁执行器              ← 光耦隔离+超时保护+冗余
  └── 09.门禁系统端到端架构设计              ← 综合串联:刷卡→云端

模块 C:影像采集与处理(第 10~14 篇)── 视觉能力
  ├── 10.Android Camera2框架原理             ← 管道模型+参数体系+Surface
  ├── 11.YUV图像编解码深度剖析               ← 采样格式+libyuv+零拷贝
  ├── 12.UVC相机协议与实践                   ← Video Class+带宽+花屏定位
  ├── 13.人脸识别集成实战                    ← 全pipeline+三大SDK对比
  └── 14.视觉系统端到端架构设计              ← 综合串联:刷脸→开门

模块 D:无线通信与IoT(第 15~18 篇)── 连接能力
  ├── 15.蓝牙协议栈与Android BLE开发         ← GATT+连接参数+回调地狱
  ├── 16.WiFi与MQTT物联网通信                ← QoS等级+离线队列+设备影子
  ├── 17.RTSP/RTMP视频流传输                 ← 协议栈+MediaCodec+WebRTC
  └── 18.多协议融合通信网关设计              ← 综合串联:四通道+仲裁

模块 E:工程实战与系统设计(第 19~20 篇)── 收束
  ├── 19.智能硬件App稳定性与容灾设计         ← 防御性编程+OTA+兼容性
  └── 20.智能硬件系统架构全景回顾            ← 知识地图+演进趋势+技能树

# 存量文章对照表

存量 7 篇实务文章已完成初步整理,其内容将作为新专栏对应篇目的素材来源:

存量文章(旧编号) 覆盖主题 映射到新专栏
01.M1实体卡读写库 RFID/M1卡数据结构、APDU协议 → 第 05、06 篇素材
02.继电器和韦根协议 GPIO文件控制、Wiegand格式、校验位 → 第 07、08 篇素材
03.设备串口通信实践 串口参数、C/C++ JNI实现 → 第 03 篇素材
04.USB开发设计实践 USB Host/Accessory模式、Endpoint → 第 04 篇素材
05.UVC相机设计实践 USB Video Class、图像采集、编码 → 第 12 篇素材
06.原生相机采集图片库 Camera2 API、YUV编解码 → 第 10、11 篇素材
07.蓝牙开发业务实践 经典蓝牙/BLE、配对连接 → 第 15 篇素材

📌 存量文章保留在原目录中,新专栏文章将在此基础上深度改造,补全架构概览、底层原理、性能数据、设计哲学等缺失维度。


# 01.Android智能硬件开发全景图

专栏入口 | Android硬件栈五层模型、通信协议分类矩阵、SEAndroid权限体系、从App到物理信号的完整链路。

核心要点:
  1. Android硬件栈五层模型(App → Framework → HAL → Kernel → Hardware)
  2. 有线/无线通信协议分类矩阵与选型决策树
  3. HAL模块加载机制与JNI桥接层
  4. SEAndroid硬件权限模型

# 02.GPIO与底层IO控制

sysfs文件系统控制GPIO、/proc虚拟文件系统、JNI桥接、电平信号时序与继电器消抖。

核心要点:
  1. sysfs GPIO控制(export/unexport/direction/value/edge)
  2. Java → JNI → write() → 内核驱动 → 寄存器的完整调用链
  3. 继电器消抖的软件方案与GPIO翻转频率上限实测
  4. 文件描述符泄漏排查与SELinux策略配置

# 03.串口通信原理与JNI实战

UART帧结构、termios参数体系、阻塞/非阻塞读取、环形缓冲区设计、CRC16/XOR校验选型、C/C++ JNI双方案对比。

核心要点:
  1. UART硬件层帧结构(起始位、数据位、校验位、停止位)
  2. termios结构体逐字段解读(波特率/流控/超时)
  3. 环形缓冲区(Ring Buffer)的生产者-消费者模型
  4. Google serial_port vs 自研C++方案性能基准
  5. 帧同步状态机与粘包/半包分层解决方案

# 04.USB通信协议深度剖析

USB协议分层、Control/Bulk/Interrupt/Isochronous传输模式选型、Host vs Accessory电气差异、零拷贝优化、热插拔防ANR。

核心要点:
  1. Device/Configuration/Interface/Endpoint四级描述符
  2. 四种传输模式的工程选择决策表
  3. UsbRequest异步传输 vs 同步bulkTransfer性能对比
  4. MemoryFile/Ashmem零拷贝方案
  5. USB_DEVICE_ATTACHED广播的时序陷阱

# 05.NFC与射频卡技术原理

ISO 14443协议栈、M1卡存储结构底层原理、M1卡安全缺陷与CPU卡优势、Android NFC三种工作模式、TagTechnology子类选型。

核心要点:
  1. 物理层13.56MHz射频场与负载调制
  2. M1卡扇区/块/密钥的存储结构
  3. CRYPTO-1算法破解史与M1安全缺陷全景
  4. M1卡 vs CPU卡安全性对比
  5. NfcA/NfcB/NfcF/IsoDep/Ndef的选型指南

# 06.APDU指令协议与CPU卡交互

ISO 7816-4 APDU逐字节解读、智能卡文件系统MF/DF/EF、安全通道建立、密钥分散算法、指令状态机设计。

核心要点:
  1. CLA/INS/P1/P2/Lc/Le字段的字节级含义
  2. 智能卡三级目录结构(MF→DF→EF)
  3. 外部认证vs内部认证vs双向认证
  4. 读流程:选目录→选文件→取随机数→认证→读数据
  5. SW1-SW2状态字速查与错误恢复

# 07.韦根协议与门禁控制器

Wiegand电气层脉冲时序、26/34/37位格式字段映射、偶校验/奇校验位运算、门禁控制器RS485三级组网、Android端接收解析校验流水线。

核心要点:
  1. D0/D1两根线的脉冲宽度与间隔电气规范
  2. 26位Wiegand格式逐位拆解(厂商码+卡号+校验)
  3. 偶校验/奇校验的位运算实现
  4. 防重复刷卡的时间窗口设计
  5. 韦根→RS485→TCP/IP三级组网

# 08.继电器控制与门锁执行器

电磁式vs固态继电器选型、GPIO控制电路设计(光耦隔离/续流二极管)、Android三种控制方式(sysfs/Serial/Socket)、开门超时保护与状态回检。

核心要点:
  1. 电磁式继电器的物理原理与固态继电器的半导体原理
  2. 光耦隔离+续流二极管的保护电路
  3. Android端三种控制方式的延迟与可靠性对比
  4. 开门超时自动关闭 + 状态回检 + 断电自动开锁
  5. 双继电器冗余设计

# 09.门禁系统端到端架构设计

模块B综合串联:刷卡→NFC读取→APDU认证→韦根输出→继电器开门→上报云端,离线模式白名单设计,多门禁RS485联动,安全防护矩阵。

核心要点:
  1. 一条完整请求的五阶段生命周期
  2. 离线模式的本地白名单机制
  3. 主控+分控RS485总线架构
  4. 防尾随/防拆报警/胁迫密码安全矩阵
  5. 门禁+考勤+访客三合一架构

# 10.Android Camera2框架原理

Camera2管道模型、CaptureRequest三层参数体系、Surface输出目标选择、YUV_420_888三种排列方式、相机生命周期管理。

核心要点:
  1. CameraManager→Device→Session→CaptureRequest全链路
  2. 3A(AF/AE/AWB)参数控制策略
  3. SurfaceView vs TextureView vs ImageReader选型
  4. YUV_420_888的Planar/Semi-Planar/Interleaved内存布局
  5. 相机启动耗时优化实战

# 11.YUV图像编解码深度剖析

色彩空间基础、YUV 4:4:4/4:2:2/4:2:0采样格式、NV21/NV12/I420内存布局、libyuv高效转换(10~50×)、ScriptIntrinsicYuvToRGB零拷贝方案。

核心要点:
  1. BT.601 vs BT.709的转换矩阵差异
  2. NV21/NV12/I420/YV12内存布局逐字节对比
  3. libyuv SIMD加速原理
  4. RenderScript零拷贝方案
  5. 四种转换方案的性能基准测试

# 12.UVC相机协议与实践

USB Video Class规范、Video Control/Streaming Interface、MJPEG vs YUY2 vs H.264格式选择、UVCCamera开源库架构剖析、USB 2.0带宽上限。

核心要点:
  1. UVC协议栈(Video Control + Video Streaming)
  2. Probe/Commit的格式协商机制
  3. MJPEG软解码的性能优化
  4. 预览花屏的帧同步定位与修复
  5. 双UVC相机共存时的USB带宽分配

# 13.人脸识别集成实战

人脸识别全pipeline(检测→对齐→特征提取→比对)、三大SDK对比(Face++/虹软/百度)、Camera2+ImageReader最佳采集时机、本地vs云端比对权衡、特征向量本地存储方案。

核心要点:
  1. 检测算法演进(Viola-Jones→MTCNN→BlazeFace)
  2. 特征向量的余弦相似度比对
  3. Face++/虹软/百度三大SDK选型矩阵
  4. 本地粗筛+云端精比的混合方案
  5. 万级人脸库SQLite的检索性能

# 14.视觉系统端到端架构设计

模块C综合串联:双摄像头RGB+IR活体检测、实时视频流vs拍照切换策略、视觉+身份识别融合(刷脸→查卡号→韦根→开门)、刷脸支付一体机架构。

核心要点:
  1. 刷脸开门的完整300ms数据流
  2. 双摄像头方案(RGB+IR活体检测)
  3. 本地识别+云端复核的混合架构
  4. 照片/视频/3D面具攻击的防御方案
  5. 刷脸支付的安全等级设计

# 15.蓝牙协议栈与Android BLE开发

蓝牙协议分层、GATT数据模型(Service/Characteristic/Descriptor)、MTU协商与吞吐量、连接参数三大关键值、Android BLE线程模型与回调地狱解决方案。

核心要点:
  1. Service/Characteristic/Descriptor的层级数据模型
  2. Connection Interval / Slave Latency / Supervision Timeout
  3. MTU协商与1M/2M PHY的吞吐量计算
  4. 错误码133的根因分析与修复
  5. 协程封装解决回调地狱

# 16.WiFi与MQTT物联网通信

MQTT协议核心(CONNECT/SUBSCRIBE/PUBLISH/QoS等级)、Broker选型(EMQX/Mosquitto/AWS IoT)、Android客户端实现(Paho/自研)、离线消息队列、设备影子。

核心要点:
  1. QoS 0/1/2的递送保证机制差异
  2. Will Message遗嘱消息的最佳实践
  3. EMQX vs Mosquitto vs AWS IoT Core对比
  4. 本地消息队列(Disruptor/SQLite)设计
  5. 消息去重与幂等性保证

# 17.RTSP/RTMP视频流传输

RTSP协议栈(OPTIONS→DESCRIBE→SETUP→PLAY→TEARDOWN)、RTP/RTCP打包解包、H.264 NAL单元、MediaCodec硬编码vs软编码、WebRTC低延迟方案。

核心要点:
  1. RTSP/RTP/RTCP的协议交互时序
  2. H.264的SPS/PPS/IDR帧结构
  3. MediaCodec异步模式(Callback)最佳实践
  4. 端到端延迟优化(目标<500ms)
  5. WebRTC低延迟方案迁移路径

# 18.多协议融合通信网关设计

模块D综合串联:BLE近场+4G远程双通道开柜、多协议网关架构(BLE/WiFi/4G/以太网)、连接优先级策略、多通道数据聚合与去重、各通道功耗对比。

核心要点:
  1. BLE/WiFi/4G/以太网四通道架构
  2. 近场优先BLE、远程走MQTT的仲裁算法
  3. 通道健康度检测与毫秒级failover
  4. 多通道数据去重与顺序性保证
  5. Android作为网关的边界与局限

# 19.智能硬件App稳定性与容灾设计

模块E综合篇:USB热插拔防Native Crash、硬件异常防御性编程、心跳检测与断线重连、日志诊断系统、固件OTA升级、硬件兼容性测试矩阵。

核心要点:
  1. 外设断开后的优雅降级模式
  2. 重连退避算法(指数退避+随机抖动)
  3. 硬件交互日志的专用格式设计
  4. 固件OTA的Android端差分升级方案
  5. 不同厂商硬件的兼容性测试矩阵

# 20.智能硬件系统架构全景回顾

专栏终章:19篇知识体系全景图、一条完整请求链路(刷卡→NFC→APDU→韦根→继电器→云端)、设计哲学回扣、技术演进趋势(边缘AI/UWB/Matter)。

核心要点:
  1. 五大模块知识地图与篇幅依赖关系
  2. 刷卡/刷脸/BLE三条完整请求链路的端到端剖析
  3. 分层抽象/协议解耦/故障即时/声明式优先四大哲学
  4. 边缘AI/UWB/Matter的技术演进趋势
  5. Android硬件开发者能力模型与学习路径

# 每篇文章的标准结构

与专栏博客体例对齐,每篇采用统一深度结构:

1. 案例引入(真实生产bug → 5个假设逐条验证 → 7个原理点映射)
2. 架构概览(分层模型ASCII图 → 为什么这么分层的论证)
3~8. 各维度深挖(每节:疑惑→论证→结论)
9. 实战工具(性能基准/调试命令/框架设计)
10. 综合案例串讲(7个疑问逐条作答表 + 完整链路知识树 + 设计哲学4条 + 速查表)

# 改造优先级

优先级 篇目 原因
P0 03.串口通信 已有最完整的实务内容,加底层原理最快出效果
P1 05.NFC射频卡 门禁核心场景,实务内容足,缺底层原理
P1 06.APDU/CPU卡 同上,安全话题天然适合深度展开
P2 10.Camera2 已有YUV基础,可快速扩展
P2 15.BLE蓝牙 实务内容丰富,需要结构化梳理
P2 01.全景图 专栏入口,必须最先完成
P3 02.GPIO 继电器引出了话题但无独立展开
P3 16.MQTT IoT核心协议,专栏当前完全空白
P3 13.人脸识别 视觉模块的高价值场景
P4 09/14/18/19/20 综合串联篇,依赖前面各篇完成

上次更新: 2026/06/28, 17:55:19
高级编程技巧
智能硬件开发全景图

← 高级编程技巧 智能硬件开发全景图→

最近更新
01
科学方法实践论法
06-28
02
辩证思维矛盾论法
06-28
03
毛选中的调查观念
06-28
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 鄂ICP备2024073355号-1 | 鄂ICP备2024073355号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式