Android Things 初体验——远程控制开关LED灯

一,Android Things介绍

Android Things简单来讲就是基于Android的智能物联网(IoT,Internet of Things)操作系统。

它的愿景就是将无数的的设备连接起来,Android Things 作为物联网的大脑,使用公开协议 Weave 与广大的传感器/外部设备进行对话。

简单来说Android Things就是让开发者可以使用Android开发工具开发嵌入式设备。

If you can build an app, you can build a device. 只要你会开发APP,你就能开发智能设备。

使用Android来开发智能设备需要通过学习NDK /JNI知识来实现,通过AndroidThings来开发智能只要你调用Things封装好的API就可以实现。

Android Things的平台架构如下图所示,Android Things扩展了core Android Framework,通过Things Support Library提供了附加的API,使得开发者可以集成通常在手机等移动设备中没有的硬件。


如何基于 Android Things 构建一个智能家居系统?

二,AndroidThings + 树莓派3实现远程控制LED灯

2.1:硬件准备

1:树莓派Raspberry Pi 3开发板一块

2:LED灯一个

3:8G sdcard一个(用来烧录镜像)

2.2:镜像制作

2.2.1:下载

有了平台得制作镜像,用来安装系统。首先就是下载镜像了,网址如下:镜像下载地址

解压后就是iot_rpi3.img。考虑到有些朋友还不能翻墙,这里百度网盘提供一个链接:https://pan.baidu.com/s/1kVHW2OZ 密码: crqg

2.2.2:烧录镜像

你可以下载一个树莓派官方推荐的工具软件Etcher

下载Etcher并安装Etcher


依次选择要刷入的Android Things系统文件,如下载到的image.zip,选择目标盘(把TF卡插入电脑),点击“Flash!”按钮刷入系统


刷入


刷入后会进行验证


验证完成后,弹出TF卡,插入树莓派即可启动系统了  

三,项目创建

我使用的是Android Studio2.3.3

项目结构

添加依赖

(1)往app的模块里的build.gradle文件添加如下依赖

  // 添加Things支持包

  provided'com.google.android.things:androidthings:0.2-devpreview'

  provided'com.google.android.things:androidthings:+'

  // MQTT

  compile'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'

  compile'commons-codec:commons-codec:1.5'

   远程控制LED灯开关是通过使用阿里的MQTT消息机制实现的,详见 MQTT 客户端收发 MQTT 消息_Java 接入示例_接入示例_微消息队列  LMQ_消息队列 MQ-阿里云

(2)往Manifest.xml文件中application节点下增加共享库:

注意:添加provided依赖,能确保构建工具在编译时不会将共享库复制到APK中。加入 能使这个共享库在应用程序运行时有效。总之,这些设置能使您的应用程序使用设备系统提供的共享库。
添加IO权限及相关权限

(3)声明主Activity

   让应用程序在Android Things嵌入式设备中开机启动,那么就必须在其AndroidManifest.xml文件中声明作为主入口。

声明为主入口

(4)在主Activity中初始化IO

IO初始化

Demo下载地址远程控件开关LED灯

注意:第一次安装APK的时候需要使用:adb install -g xxx.apk(-g是获取Manifest.xml中声明的权限);不然后会报权限异常

实现后的效果:通过一个遥控APP可远程控制开关LED灯

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,360评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    wgl0419阅读 6,408评论 1 9
  • 三十岁的女人 已过三十 如今徘徊在街头 我的鞋子束缚了我的脚 我的思维束缚了我的头 我的见识束缚了我的眼 我的幸运...
    空空tzy阅读 486评论 0 0
  • 七月的傍晚似气头上的两口子吵架,毫无退让的热辣,太阳蒸的我大汗淋漓,坐在几百号人的自习室,让人压抑又烦躁。...
    追上执念与你阅读 850评论 0 0