前言:转向Android智能硬件开发近一年了,一路过来也经历过几个大大小小的项目,从对Android智能硬件一无所知到现在算是略有小成,期间踩了很多坑,也接触到了许多非Android方面的知识,现用文章的方式将之记录下来,与大家分享。
1.Android智能硬件的定义与应用领域
关于智能硬件的定义,以我理解的角度来看,首先这是一个不同于移动手机的硬件,它本质还是一个可触碰的实质物体;其次关于智能,只要是基于Android系统开发的硬件就可称之为智能,因为智能硬件最关键的特性就是与外部连接通信,也称之为物联网,而Android系统自带优秀的外部连接通信体系。
我们最常听到与见到的智能硬件有手环、智能音箱、智能家居这些比较成熟的消费级商品,这些智能硬件大部分都是没有界面的,与我从事的领域有所不同。没有界面的智能硬件大部分都不是Andriod系统,而有触屏界面的智能硬件我敢说80%以上都是Android系统,因为Android的交互体系绝对是最好的。
市面上成熟的Android智能硬件有:手持POS机、自动售货机、政务自助机、人脸识别门禁、收银机、汽车多媒体、电子班牌、快递柜、影院取票机、广告视频机等等。
2.一款智能硬件产品开发的全流程
- 导入需求,分析确定需求细节,讨论方案的技术可行性。
- 确定项目负责人、产品经理、硬件工程师、软件工程师、结构工程师、UI设计师。
- 由需求确定使用哪些外设,对外设进行选型,需充分考虑性能、质量、结构设计、价格、供应商支持度等各方面的因素。
- 优先确认使用什么Android主板,确认主板与外设选型后告知结构工程师进行结构外形设计。
- 硬件工程师负责外接设备的控制板开发并提供接入协议,硬件工程师还须将外设接入Android主板的线材适配好。
- UI设计师提供界面给软件工程师(Android),开始进入进行软件开发阶段。
- 产品样品建模制作出外壳,打磨、喷漆后进行所有元件的组装。
- 样品烧入程序,开始交予测试。
- 程序bug修改,稳定性测试。
- 所有测试通过后,撰写用户文档与操作手册。
- 一款智能硬件样品全部制作完毕。
3.智能硬件开发所涉及的技术体系概述
- Android UI
- 列表(RecycleView)
- 弹窗(Dialog)
- 动画(Animation)
- 文字与按钮(TextView)
- 手势(Gesture)
- 外部通信
- 串口通信(UART)
- 以太网
- Wifi、热点
- 4G
- 蓝牙
- USB
- NFC
- I2C
- GPIO
- 存储
- TF卡
- U盘
- FTP
- Linux系统
- 脚本
- 点亮屏幕
- 固件升级
- NDK
- 音视频播放
- 设备通讯协议加密
- 接入已有的C库
- 语音识别
- 人脸识别
- 外接设备
- 二维码
- 摄像头
- 红外感应器
- 喇叭、麦克风
- 触摸屏
- LCD液晶屏
- 打印机