Android Things,新一代物联网操作系统,软件工程师要学新知识了-燚智能周教授
觉得有道理? 左侧有“公众号”、“微信号”、“头条号”,随便你想加哪个都行!还不过瘾,直接Call我们吧!
前文我们讲到了谷歌和联想共同推出的超大屏智能音箱,就是搭载了最新的Android Things操作系统。
链接在此:Google新推出10寸屏智能音箱
Google全力推出的Android Things,有望成为新一代物联网操作系统,广大Android软件开发工程师,又面临了新的技术变化和新技术挑战。
对于Android 与 Android things的软件工程师来说到底有什么区别呢 ?
Android things 的软件开发与Android 开发类似,集成了开发工具、开发框架、google的API。
不同点在于:
1,软件硬件均不开源了
对开发Things OS扩展了 Things Support Library; Framework 以下 OS 不再开源;所有Android Things 的硬件产品开发,都是基于google 认证SOM硬件模块来实现(system on module)
左边的Google负责,右边的开发者负责
2,遇到系统问题只能找Google
开发者不再有权限修改系统,即使你测试遇到了系统的bug,只能通过提交google的修改。对开发者来讲,虽然这有点“坑爹”,但是束手无策。
3,操作系统只提供编译完成的软件
Android Things 的OS系统由Google以img的形式提供,要想像Android 系统一样修RPM调试整PMU输出电压,在Kernel里增加驱动代码,已经不可能了。
4,驱动工程师需要学习Java了。APP开发工程师需要学习Driver知识了
Android things 系统直接在应用层提供API读写读写硬件的相关接口(Java语言)。如I2S, I2C, UART, GPIO ,SPI等。 其中GPIO是系统映射好的。虽然CPU引脚功能可以复用,但在Things的API中,这些引脚的功能会固定下来,不再更改。
因此,Android Things开发已经不存在BSP开发概念, 以前做Android驱动的BSP工程师现在也需学学Java了,做上层APP应用的Java工程师也需要看懂硬件原理,量量信号,学点基础的Driver驱动工作了。
5,应用软件开发者只能通过云端推送APK给设备
开发者所能做的应用软件定制,只能通过谷歌Android Things Console云平台,推送自己定制App到OEM分区。一般情况下无法自己安装进智能硬件设备。