【Android Framework (十二) 】- 智能硬件设备开发

这篇具有很好参考价值的文章主要介绍了【Android Framework (十二) 】- 智能硬件设备开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

针对我过往工作经历,曾在一家智能科技任职Android开发工程师,简单介绍下关于任职期间接触和开发过的一些项目经历,智能多与物联网(LOT)进行联系,从对Android智能硬件一无所知到现在算是略有小成,期间踩了很多坑,也接触到了许多非Android方面的知识,现用文章的方式将之记录下来,与大家分享。


智能硬件的定义与应用

提到智能硬件其实属于物联网(LOT)的范畴,关于智能硬件的定义,以我理解的角度来看,首先这是一个不同于移动手机的硬件,它本质还是一个可触碰的实质物体;其次关于智能,只要是基于Android系统开发的硬件就可称之为智能,因为智能硬件最关键的特性就是与外部连接通信,也称之为物联网,而Android系统自带优秀的外部连接通信体系。

我们最常听到与见到的智能硬件有手环、智能音箱、智能家居这些比较成熟的消费级商品,这些智能硬件大部分都是没有界面的,与我从事的领域有所不同。没有界面的智能硬件大部分都不是Andriod系统,而有触屏界面的智能硬件我敢说80%以上都是Android系统,因为Android的交互体系绝对是最好的。

市面上成熟的Android智能硬件有:手持POS机、自动售货机、政务自助机、人脸识别门禁、收银机、汽车多媒体、电子班牌、快递柜、影院取票机、广告视频机等等。


智能硬件产品开发流程

导入需求,分析确定需求细节,讨论方案的技术可行性。
确定项目负责人、产品经理、硬件工程师、软件工程师、结构工程师、UI设计师。
由需求确定使用哪些外设,对外设进行选型,需充分考虑性能、质量、结构设计、价格、供应商支持度等各方面的因素。
优先确认使用什么Android主板,确认主板与外设选型后告知结构工程师进行结构外形设计。
硬件工程师负责外接设备的控制板开发并提供接入协议,硬件工程师还须将外设接入Android主板的线材适配好。
UI设计师提供界面给软件工程师(Android),开始进入进行软件开发阶段。
产品样品建模制作出外壳,打磨、喷漆后进行所有元件的组装。
样品烧入程序,开始交予测试。
程序bug修改,稳定性测试。
所有测试通过后,撰写用户文档与操作手册。
一款智能硬件样品全部制作完毕。

智能硬件开发所涉及的技术体系概述

Android UI
列表(RecycleView)
弹窗(Dialog)
动画(Animation)
文字与按钮(TextView)
手势(Gesture)
外部通信
串口通信(UART)
以太网
Wifi、热点
4G
蓝牙
USB
NFC
I2C
GPIO
存储
TF卡
U盘
FTP
Linux系统
脚本
点亮屏幕
固件升级
NDK
音视频播放
设备通讯协议加密
接入已有的C库
语音识别
人脸识别
外接设备
二维码
摄像头
红外感应器
喇叭、麦克风
触摸屏
LCD液晶屏
打印机
NFC模块
IC类读卡器

关于主板选型

Android主板的选型一定要放在首位,因为这是整个产品的控制中心,核心元件,如果不能自己定制主板,那就只能依赖于供应商提供方案。现行市面上非常多做安卓工业主板的,不愁找不到主板,但想要很特殊的定制可能会比较麻烦,除非你的量很大,否则只能用人家的标准板。依赖供应商还有一个特别麻烦的事情,就是系统功能定制的沟通,这是一个特别漫长而痛苦的过程。

结合多个项目的经验,总结出智能硬件在安卓系统中所基本必要的功能。

序号 功能 说明
1 开机自启 智能硬件一般只运行一个应用,且开机就要自动打开
2 保证应用永远在前台运行 让用户永远不会看到除了应用之外的其它安卓界面
3 有接口设置系统时间 有些局域网场景无法连接外网,需要同步局域网服务器时间
4 定时开关机(带RTC电池) 为了让系统更好运行,可能需要每隔几天重启一次
5 静默安装应用,完成后直接拉起应用 更新安装应用过程必须是无感的
6 系统固件更新接口 将新的系统固件放入系统后能用有方法更新
7 支持U盘、TF卡且有路径检测 对于非联网管理的产品必须要能检测到外部存储插入
8 设置静态以太网IP接口 对于某些依赖于IP地址进行管理的产品必须要能设置IP
9 开启/关闭背光电源接口 有些场景可能要求节能环保,关背光很必要
10 读写IO口接口 IO口是控制外设开关的关键功能
11 设置屏幕显示方向 横竖屏根据项目会有不同要求

主板CPU芯片的选择

CPU芯片是一块主板最核心的元件,对于智能硬件而言CPU价格是不能太高的,不然会导致产品成本过高竞争力下降,但CPU性能又不能太差以让产品毫无竞争力可言。从我观察的情况来看,现在市面上的智能硬件基本是三家芯片厂商占据了绝大部分市场,它们分别是:

瑞芯微 Rockchip,简称RK
全志 AllWinner
飞思卡尔 FreeScale
瑞芯微是我接触比较多的,在百度搜安卓主板出来的广告厂商基本都是采用瑞芯微方案的,总体来说瑞芯微方案是最成熟的。

全志的安卓主板给我的感觉就是很便宜但系统都是4.2或4.4,说实话有点落后时代,不是5.0系统以上的主板我都不想碰,界面太丑系统还有点卡。

最后关于飞思卡尔,这是一个国外厂商,我手上还没接触过这个芯片的板子,很少见搭载这个芯片的安卓主板,也许在某些特定应用场景才会考虑这个芯片吧。

下面重点介绍下瑞芯微(下面简称RK芯片)系列4款常见的芯片。
芯片 定位 特性
RK3188 低端 四核Cortex-A9(32位),频率最高1.6GHz,四核Mali-400MP4 GPU,支持OpenGL ES1.1/2.0,1080P视频编解码 (H.264)
RK3288 中端 四核Cortex-A17(32位),主频最高达1.8GHz,Mali-T764 GPU,支持OpenGL ES 1.1/2.0/3.1, OpenCL, DirectX9.3,1080P视频编解码 (H.264/265)
RK3368 中低端 八核64位Cortex-A53,主频最高达1.5GHz,PowerVR G6110 GPU,支持 OpenGL ES 1.1/2.0/3.1,OpenCL,DirectX9.3,1080P视频编解码 (H.264/265)
RK3399 高端 双Cortex-A72+四Cortex-A53大小核CPU结构,主频最高达1.8GHz,Mali-T864 GPU,支持OpenGL ES1.1/2.0/3.0/3.1,OpenVG1.1,OpenCL,DX11,1080P视频编解码
目前RK3288工业主板的价格大概在350~500 之间,RK3399价格在500~700之间,RK3188比3288便宜,RK3368介于3288与3399之间。

对于绝大多数应用场景而言,RK3288绝对能满足需求,价格也比较适中,系统一般是Android5.1不用进行运行时权限适配。RK3399主要用于对于运算能力要求比较高的场景,比如人脸识别,3399还有一大优势就是板子面积相对而言比较小。我目前基本都是采用3288进行开发的,对于智能硬件而言成本还是首要考虑因素,毕竟制造业利润低,苦笑~
【Android Framework (十二) 】- 智能硬件设备开发,Android Framework,android,智能硬件
【Android Framework (十二) 】- 智能硬件设备开发,Android Framework,android,智能硬件

关于串口通信

串口通信是Android智能硬件开发所必须具备的能力,市面上类型众多的外设基本都是通过串口进行数据传输的,所以说不会串口通信根本就做不了智能硬件开发。
首先来看一张RK3288的架构图,在ConnectActivity那一个模块可以发现UART*5的字样,这就表示3288有5个串口可用,其中串口2一般是调试口不开放使用。
【Android Framework (十二) 】- 智能硬件设备开发,Android Framework,android,智能硬件

总结

以上可以对从事android开发工程师来说大致了解做智能硬件需要了解的一些知识点,和对基础一年电路板的选型尤其是cpu上,真实android软件工程师来说主要还是在底层基础上进行相应有UI效果的开发和编程处理。文章来源地址https://www.toymoban.com/news/detail-654254.html

到了这里,关于【Android Framework (十二) 】- 智能硬件设备开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SurfaceControl之Transaction事物深入剖析-android framework实战开发

    前面已经讲解清楚了SurfaceControl整个创建过程,一般SurfaceControl都是一个静态图层的代表,但往往只有静态一个图层是没有意义的,即只是创建了一个图层其实啥也看不到,更多需要是SurfaceControl对应的Transaction,这个事务才是真正可以让SurfaceControl可以显示的关键所在,Transac

    2024年01月24日
    浏览(44)
  • 人人都能升薪?深扒Android开发中的通天神器Framework

    近年来,客户端领域的竞争日益激烈,很多安卓开发者抱怨内卷现象普遍存在。在这种背景下,开发者们面对的压力越来越大,很难掌握足够的技能去顺利发展。解决内卷,突破迷茫,是许多开发者面临的挑战。小米的高管在脉脉上提供了一条不错的建议,即如下: 但对于大

    2024年02月02日
    浏览(42)
  • Android开发——组合函数、注解与连接Android设备

    1、JetPack Compose:Jetpack Compose 是由 Google 推出的用于构建 Android 用户界面的现代化工具包。它是一个声明式的 UI 工具包,用于简化 Android 应用程序的用户界面设计和开发。Jetpack Compose 采用了类似于 React 或 Flutter 的方式,通过组合函数来构建 UI,将 UI 的状态和外观分离开来,

    2024年02月04日
    浏览(45)
  • android多屏触摸相关的详解方案-安卓framework开发手机车载车机系统开发课程

    直播免费视频课程地址:https://www.bilibili.com/video/BV1hN4y1R7t2/ 在做双屏相关需求开发过程中,经常会有对两个屏幕都要求可以正确触摸的场景。但是目前我们模拟器默认创建的双屏其实是没有办法进行触摸的 静态修改方案 使用命令查看display2即副屏的信息情况 adb shell dumpsys d

    2024年02月11日
    浏览(52)
  • 厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能原理篇

    所有的软硬件系统全是自己一人独自开发,看法和角度难免有局限性。希望抛砖引玉,将该智能软硬件系统分享给更多有类似需求的朋友。 一、一套智能软硬件系统的目的在于用技术来解决生产中遇到的实际问题,首要的元素便是数据的准确性。 数据准确性,这里指的是通

    2024年04月14日
    浏览(48)
  • Android Framework最难模块WMS实战作业-手机车机系统开发必备

    0-整体介绍 1-window-container.mp4 窗口层级树实战启动篇 2-displayarea-feature.mp4 窗口层级树源码分析相关 3-displayarea-draw-feature.mp4 窗口层级树绘制实战1 4-displayarea-draw-leaf.mp4 窗口层级树绘制实战2 5-displayarea-draw-leaf-2.mp4 窗口层级树绘制实战3 6-displayarea-surfacelayer.mp4 窗口层级树相关sur

    2024年02月12日
    浏览(50)
  • hal深入剖析之aidl实战-android framework车机车载手机系统开发

    这个是hal工程根目录 接下来要创建aidl的文件存放目录 注意mkdir -p android/hardware/mytest其实就是包名目录,即模块包名就是android.hardware.mytest. 提示:这个如果为了项目的更加好的维护性建议到自己项目目标的vendor下面进行,目前只是为了演示方便,直接在system的hardware下面 创建

    2024年02月19日
    浏览(50)
  • android framework实战开发之WINDOWING_MODE_FREEFORM自由窗口相关

    hi,粉丝朋友们! 今天开始就进入正式的自由窗口的相关的内容讲解,blog只是一些知识点的记录,更多的干货,还请看马哥的视频,及视频配套资料。 b站免费视频教程讲解: https://www.bilibili.com/video/BV1wj411o7A9/ aosp默认并没有公开自由窗口模式,如果需要体验自由窗口模式必须

    2024年02月06日
    浏览(42)
  • android 车载widget小部件部分详细源码实战开发-千里马车载车机framework开发实战课程

    官网参考链接:https://developer.android.google.cn/develop/ui/views/appwidgets/overview App widgets are miniature application views that can be embedded in other applications (such as the home screen) and receive periodic updates。 通俗解释:一个能够定期刷新并且加到其他应用上的微型视图。 更多android framework干货内容请

    2024年02月09日
    浏览(56)
  • 【Android取证篇】Android设备USB调试打开方式(开发者模式)

    Android各个版本系统手机开启”USB调试”的入口不全相同,仅供参考—【蘇小沐】 1、【Android1.0-3.2】 路径:在应用列表选择「设置」-「应用程序」-「开发」-勾选「USB调试」选项。 2、【Android 4.0、4.1】 路径:在应用程序列表中选择「设置」进入系统设置菜单-「开发者选项」

    2024年02月14日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包