一句话说,Android Things就是让开发者可以使用Android开发工具开发嵌入式设备。If you can build an app, you can build a device.只要你会开发APP,你就能开发智能设备。Android Things的推出,扫清了将Android Phone/Tablet系统用在智能设备中的各种弊端。
一、Android Things
一句话说,Android Things就是让开发者可以使用Android开发工具开发嵌入式设备。If you can build an app, you can build a device.只要你会开发APP,你就能开发智能设备。Android Things的推出,扫清了将Android Phone/Tablet系统用在智能设备中的各种弊端。(通常需要嵌入很多NDK开发的接口,很多功能需要root后通过Linux命令实现),提供了更统一的接口。Android开发者也可以使用自己熟悉的开发工具,做智能硬件的开发。
Android Things扩展了core Android Framework,通过Things Support Library提供了附加的API,使得开发者可以集成通常在手机等移动设备中没有的硬件。
Android Things的特性:
- 单一自启动APP,通常设备会只运行单一的程序,即开发者的APP会自动启动,系统APP不会呈现出来。
- 显示是可选的,设备可以没有屏幕,通过按钮、触摸、LED灯、语音或其他形式与用户交互。
- 提供了通过I/O驱动外设的接口,让开发者可以与传感器和执行器进行通讯交互,支持GPIO、PWM、I2C、SPI和UART。
- 用户驱动API,用户驱动继承Android Framework Services,允许APP将硬件事件注入到Framework中,使得其他APP可以使用标准的Android API访问。
- 物联网云,通过Google物联网云平台,开发者可以方便且安全的连接、管理数百万计遍布全球的设备,并从中获取数据。Google物联网云平台和一些其他的Google服务,提供了包括数据采集、处理分析和可视化物联网数据的完整解决方案。
延伸阅读:
二、Android Things的优势是什么
- 更统一的开发框架和接口
传统的单片机开发智能硬件的方式,开发工具、开发接口多而杂,不同的单片机厂商甚至型号,都有特定的开发工具,学习成本高,不统一,程序的可移植性差、可管理性差。Android Things提供更完善的开发框架,更方便好用的开发工具(而且是免费的)。
- 更适合Android开发者进行智能设备的创新
智能硬件通常都要实现与服务器交互、与手机交互,这些领域都是Android开发者熟悉的领域,通过Android Things开发智能设备,可以将Android开发者在移动开发方面的经验更深入的体现在智能设备开发中。传统的硬件、单片机开发者,对移动开发不熟悉,自然会在智能设备创新中落后于对移动开发了如指掌的Android开发者。
- 更先进的基础框架
Android Things相较于传统的设备平台,就如同Android手机与Nokia功能机的区别。尤其在有触摸屏人机交互的设备中,Android的优势明显,Android对UI线程的优先和保障机制,使得传统设备人机界面操作卡顿的问题可以很好解决。Android基于Java的面向对象开发,也使得程序更容易封装和管理。众多的Android开源资源,也可以方便的应用到Android Things中来。我们开发的Android工业设备智能操作终端,在应用中给用户提供了更好的操作体验,受到了用户的广泛好评。
- 更安全的物联网云
传统的物联网方案,由于设备端、服务端往往由不同的开发团队完成,设备端开发往往还停留在比较古老的开发阶段,对一些新的安全物联网协议了解较少,使得很多物联网设备,还在采用TCP协议明码传输数据,很容易被截获和篡改。而有信息安全概念和经验的服务端开发者,由于不了解硬件开发也无能为力。新闻报道过的一些智能摄像头被入侵的案例,很多与这方面有关。而Android Things彻底改变了这种状况,手机APP与服务端通讯安全方面的经验,Android开发者可以直接应用在设备开发中。很多新的物联网协议,如MQTT,都有Android的客户端实现可以方便使用。
- 更丰富的云服务资源
使用Android Things,有丰富的云服务资源可以使用,可以基于TensorFlow实现人工智能(如图像识别),可以通过Google Assistant获得智能服务。国内访问Google服务目前还有一些问题,不过想一些办法解决。同时,阿里、腾讯也都有一些智能服务(如图像识别、人脸识别等)通过云提供,使用Android Things也可以方便集成。
- 更低的入门门槛
传统的智能硬件开发,通常需要购买昂贵的开发套件,而Android Things只需要几百块钱买个开发套件接上显示器或电视机就可以玩起来。如果你手上有树莓派3,下载最新镜像烧录就可以玩了。