标题 | 基于Android Things的LED灯开关试验探索 |
范文 | 林鑫睿 摘要: Android Things是谷歌公司推出的新一代智能物联网操作系统,有效地降低了开发的难度。该文首先对Android Things的结构、优势和应用场景进行了分析,然后从硬件的准备、关键技术的实现来探讨如何基于Android Things来进行LED灯开关的操作试验,为学习Android Things提供了较好的实践案例。 关键词:物联网;Android Things;LED灯控制;树莓派 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)03-0084-02 1 Android Things技术 Android Things为谷歌公司在2016年12月发布的物联网操作系统。在图1的系统架构中可看出,Android Things通过Things Support Library库,扩展了核心Android框架,从而可使APP能够与手机上没有的硬件集成在一起。此外,出于优化的目的,Android Things只是选用了Android API的子集。由于嵌入式设备典型情况下是为用户呈现单个应用程序,因此在Android Things中一次只能运行一个应用程序,而且应用程序将随着系统自动启动。 Android Things带来了如下显著的优势: 1) 在标准上,通过谷歌的品牌和影响力,类似于Android手机操作系统,有望在业界中推动建立一个流行的智能物联网操作系统。 2) 在开发上,可以在Android Things中使用Java语言来编程,通过调用Android Things提供的有关API来操作硬件,此外还可以使用谷歌丰富的开发资源,降低实现难度。 3) 在效率上,使用Android Studio来开发和调试程序,直接可以在物联网硬件上运行,提高了开发效率。 4) 硬件价格低,Android Things对硬件的要求比Android要低。目前支持Androd Things的开发板有:NXP i.MX7D、NXP i.MX6UL、Raspberry Pi 3、Intel Edison、Intel Joule。 5) 机器学习能力:支持TensorFlow,能够将深度学习应用到物联网领域,提高物联网设备的智能性。 6) 安全性:通过Cloud IOT云平台来进行安全管理,依靠谷歌的安全团队技术,提高物联网产品的使用安全性,减少数据泄露和被攻击的几率。 可以将Android Things部署在多个物联网领域,例如:智慧城市、车联网、智能音箱、数字标牌、打印机等,但目前受开发板成本的限制,Android Things还没有开始大规模在商业市场上应用。 2 硬件准备 1) 树莓派(Raspberry PI)。树莓派作为专门用于学习计算机编程的微型电脑,具有体积小、功能强大、价格便宜的优点,因此在本实验中采用树莓派来安装Android Things。 2) 面包板。面包板是集成电路实验板,板上由若干个小插孔组成,用于插放各类电子元器件。中间部分的5个小插孔是纵向相互连通,而上、下部分的所有横向孔是相互连通的。面包板的优点在于不需要焊接,组装电路较快,而且可以重复使用电子元器件。 3) 其他配件:红、黄、蓝LED灯各1个,电阻3个、杜邦线若干、HDMI接口显示屏1个。 3 系统实现 3.1 功能介绍 通过APP操作界面设置LED灯的开和关,并通过滑动栏来控制开灯的闪烁频率。 3.2 软件开发环境配置 1) Android Studio 3.0对Android Things提供了支持,需要到谷歌开发者官网下载并安装。 2) 打开Android Studio,新建一个项目,设置目标Android设备为“Android Things”,并选择合适的API版本。 3.3 关键实现代码 实现的原理是获取连接在GPIO的引脚对象,通过该对象去访问连接在灯上的引脚BCM6,然后进行true/false的取值来发送接通/关闭引脚,从而实现对灯的管理。 1) 定义一个PeripheralManagerService对象:PeripheralManagerService是负责管理外设连接的类。 PeripheralManagerService service = new PeripheralManagerService(); 2) 定义一个Gpio对象:Gpio对象用于读取输入设备的二进制状态(例如:按钮开关)和控制二进制输出设备的开关状态(例如:LED灯)。PeripheralManagerService对象的openGpio方法用于打开指定引脚名字的Gpio对象。 Gpio mLedGpio= service.openGpio("BCM6"); 3) 通过Gpio对象的setDirection方法来配置 BCM6引脚为输出信号引脚。 mLedGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW); 4) 调用Gpio对象的setValue(true)方法打开LED,或者调用setValue(false)方法关闭LED。 5) 最后调用Gpio对象的close()方法關闭端口的连接,释放资源。 本案例的运行结果如图5,6所示: 4 结论 Android Things能够和树莓派较好地结合,进行物联网的相关应用。在本实验搭建的LED环境中,可以作进一步的物联网扩展开发实验,例如:增加烟雾探测、温度、人体红外感应等类型的传感器,添加摄像头进行图像捕捉等。 参考文献: [1] 谢景明,钟闰禄,陈长辉,等. Android移动开发项目式教程 [M].2版.北京:人民邮电出版社,2015. [2] Google, Things[EB/OL].[2018-01-03]. https://developer.android.google.cn/things/index.html. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。