安卓工控机:这个时代的软硬件基础
“工控机”简介
对传统物联网领域以外的伙伴而言,“工控机”是个陌生的概念。工控机就是在工业或商业场景的计算终端,典型的应用包括:ATM机/检票闸机/售货机等自助设备、高速收费、视频安监、自来水/污水/电/煤气等各种市政管网的检测网络、智能楼宇、工厂自动化产线等等。 工控机一般形如:
从Win+Intel切换到ARM+Android的原因
时间回到2012年上半年,友宝当时用的是工控界标配的“Window嵌入式版本 + 工业版Intel处理器”(其实现在好像也是如此)。而彼时“ARM + Android”的市场是怎样的呢?2011年Q4真正稳定顺畅的Android4.0版发布,2011年初发布的Android3.0开始支持平板电脑,2011年安卓手机在整体出货量占比第一次超过10%。 可以看到,“ARM + Android”刚刚进入技术成熟期,为什么着急应用呢? - 当时友宝工控的软硬件技术负债严重:硬件版本很多、Windows镜像五花八门,出问题后经常对bug的定位不清、耗时过长。 - Windows的稳定性是天然劣势:Windows也可以稳定,但需要更长的应用软件测试周期、需要懂Windows底层的高手,这显然是高成本的。 - Windows天然的高成本:每套Window几百元的license费,再加上它对硬件性能的高需求,推高了成本。 于是,需要一个契机来解决这些问题,工控机的彻底重新技术选型就成为了这个契机。 事实上,如果没有“历史问题”,我会选“ARM + Linux”的方案。这样原有跑Windows的设备也可以切换到Linux,从而形成“Intel + Linux”/“ARM + Linux”的底层结构,上层应用软件就可以实现统一版本了。 这个“历史问题”是:友宝最初就是使用Linux,后来一拨人来到后切换到的Windows,如果我一个“新人”来到友宝,再改回Linux的话,会在当时团队中造成“政治问题”。 切换的历程
安卓工控机的导入真的是一个超级大工程,时间跨度超过一年,涉及公司上上下下的所有团队,如果细细回顾,几乎要把那一两年的工作通通翻出来讲一遍了。只拣印象最深刻的几个点记录一下吧。
合作伙伴的缘分当决定要做这个切换的时候,很幸运的是很快就遇到两个与友宝合作至今的合作伙伴,大家一起走过了很长的路,迈过了很多的坎。
公司上下的支持公司从上至下的信任是这么长周期、高复杂度项目成功的关键。而项目每一步可靠的交付,是信任得以延续的关键。
一体化方案还是独立通讯模块是采用高通、MTK这样的一体化方案,还是瑞星微、freescale这样需要独立通讯模块的方案?这个问题纠结了几年。但几年后的结论是:只要成熟合作伙伴高质量质控的方案都是可行的,在成本上和可靠性上区别都不大。
不同方案间的选择高通、MTK、瑞星微、Intel等不同的芯片方案,手机方案、平板电脑方案、电视机顶盒方案等不同的基础方案,几年下来的经验是:Intel+Android是不靠谱的,其他的基本都可选。其实靠谱的供应商合作伙伴要比这几个方案之间细微差别更重要,所以选择成熟而坚定地供应商,选择成熟而广泛应用的方案即可。
试商用测试标准“试商用测试”是友宝在引入新的工控供应商或新一款工控机时候必做的重要测试,到目前还是业内最严格的,这个过程是工控机稳定性的最好保证。而事实上,这个测试应该做的更严格一些。
支持体系 围绕一款硬件所构建的测试、质控、培训、固定资产管理、维修售后流程等整个体系,成本是远超过导入一款新硬件的过程的而。这样的体系建立又是必须的,否则正常工作都无法展开,更不要说质量管理了。 收益和不足之处
收益 1. 硬件成本节省:10万台 × 2000元/台 = 2亿人民币 2. 软件迭代加速:这对一个互联网属性的公司而言,高速迭代的意义更胜于成本节省 3. 招聘难度降低:安卓工程师要远比嵌入式Windows高手容易招聘4. 推动行业进步:为行业引领技术方向,承担了龙头企业的责任
不足之处 1. 如果无历史因素,应该选择“ARM + Linux”的迁移路径:避免长时间维护Windows和Android两个版本售货机端软件的尴尬。 2. 供应链上应该更坚决:更少的供应商、更少的硬件版本、更严格的测试、每个版本更长的供应周期。更多的硬件版本永远是痛苦的。