在开始之前

谷歌前不久发布了Android Things面向物联网的系统,用意是想让android开发者用原来开发app的方式开发硬件相关的应用,扩展了android开发的方向和前景,而谷歌的Android Things已经支持了主流的几个面向互联网的几个芯片(Intel® Edison,NXP Pico i.MX6UL,Raspberry Pi 3鉴于开发难度和集成度高低的选择,选择了树莓派作(Raspberry Pi 3)作为实践的。
1.材料准备
材料都可以在淘宝上轻易购买的,包括树莓派主板,sdcard(最好8g或者以上),sdcard读卡器,电源,HDMI转VGA转换器(如果显示器支持hdmi可以直接用HDMI线,因为树莓派主板视频口是HDMI),网线。

2.刷系统镜像
(1)首先需要下载Android Things系统镜像,目前最新的android Things是预览版,可以到下面的地址下载相对应芯片的系统镜像。
(2)用sdcard读卡器连接sdcard到电脑上。
(3)解压刚才下载的系统镜像。
(4)需要下载写入镜像到sdcard的工具根据不同系统自己选择,本教程首选windows系统可以到 https://sourceforge.net/projects/win32diskimager/  这个网站下载Win32 Disk Imager工具。运行win32 DiskImager ,最右边选择你sdcard的盘符(备注不要选到了其他的硬盘或移动存储设备,导致造成不必要的损失),然后选择镜像路径,再然后点击write等待写入结果。写入完后把sdcard插到树莓派上,插上网线(网线另一端连接路由),插上视频输出线连接到显示器,USB数据线连接电脑到树莓派,树莓派就会开始启动系统了,系统启动后,屏幕会出现局域网的ip。
(5)打开命令行工具,输入下面命令(ip -address就是显示器上android things系统显示的界面),不出情况的话就提示connected to <ip-address>:5555  这样就成功连接到树莓派。
  1. adb connect <ip-address>

3.连接WIFI
如果不想每次调试都要电脑连接树莓派的话,可以设置树莓派连接wifi(必须要完成上面连接到树莓派才能设置无线wifi连接)
(1)发送意图到Android Things的wifi服务模块的命令如下
  1. $ adb shell am startservice \
        -n com.google.wifisetup/.WifiSetupService \
        -a WifiSetupService.Connect \
        -e ssid <Network_SSID> \
        -e passphrase <Network_Passcode>


(2)通过adb 的logcat确定你的连接是否成功
  1. $ adb logcat -d | grep Wifi

 输入命令行后,不出情况一般出现下面的输出
  1. ...
    V WifiWatcher: Network state changed to CONNECTED
    V WifiWatcher: SSID changed: ...
    I WifiConfigurator: Successfully connected to ...

(3)测试你的树莓派是否能访问外网,命令
  1. $ adb shell ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=6.67 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=55.5 ms
    64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=23.0 ms
    64 bytes from 8.8.8.8: icmp_seq=4 ttl=57 time=245 ms

4.编写Android Things程序
在开始编写Android Things程序之前,
(1)确保你的sdK tools版本是24huo或者24以上
(2)确保你的sdk 支持API支持24或者更高版本。

添加依赖
(1)往app的模块里的build.gradle文件添加如下依赖
  1. dependencies {
        ...
        provided 'com.google.android.things:androidthings:0.1-devpreview'
    }

(2)往 manifest .xml文件添加
    1. <application ...>
          <uses-library android:name="com.google.android.things"/>
          ...
      </application>

声明主Activity

要把应用运行在嵌入式设备(本教程中的树莓派),必须包含一个 CATEGORY_LAUNCHER  这样的Intent Filter,这样,才能在部署和调试应用的时候,Android Studio才能启动默认的Activity。
具体需要在Manifest声明的设置如下。

  1. <application
        android:label="@string/app_name">
        <uses-library android:name="com.google.android.things"/>
        <activity android:name=".HomeActivity">
            <!-- Launch activity as default from Android Studio -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>

            <!-- Launch activity automatically on boot -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.IOT_LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>







树莓派+Android Things的更多相关文章

  1. 【树莓派】树莓派Android相关资料

    树莓派完美运行最新 Android 7.0 牛轧糖: https://linuxstory.org/android-7-0-nougat-on-raspberry-pi/ Raspberry Pi 3 ...

  2. 树莓派+android things+实时音视频传输demo之遥控小车

    做了个测试小车,上面安装了摄像头,通过外网进行视频传输: https://www.bilibili.com/video/av23817880/

  3. 【树莓派】【转】树莓派3装Android 6.0,支持Wi-Fi和蓝牙

    树莓派3装Android 6.0,支持Wi-Fi和蓝牙 相信对于许多树莓派初学者(包括我)来说,Android系统的确是一个不错的选择.但国内这方面资源稀缺,经本人FQ苦寻,找到了老外的树莓派Andr ...

  4. Android开发----开发工具的安装与TextView组件

    开发工具的安装 选择使用Android Studio进行开发,Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT, ...

  5. 用树莓派改装电风扇及实现Android遥控

    最近天气很热,我租的房子又没有空调,基本上风扇一开就是一晚上,结果经常起床后发现口干舌燥的.我觉得这肯定是因为整晚吹风扇搞的,不管是不是,反正我觉得就是了.不开风扇吧,热!开风扇吧,早上起来不舒服,怎 ...

  6. Android Things:树莓派3上手就是这么简单

    http://blog.csdn.net/p106786860/article/details/54566620 ——————————————————————————————————————————— ...

  7. 【树莓派】在树莓派的Android系统中安装APK应用

    树莓派3 Android TV安装APK应用教程 本文摘自:http://www.mz6.net/news/android/6867.html 树莓派3 Android TV怎样安装软件?对于熟悉AD ...

  8. 【树莓派】树莓派刷Android系统

    树莓派3安装Android TV系统图文教程 http://www.mz6.net/news/android/6866.html 树莓派3 Android TV系统怎样安装?树莓派3一个重要用途就是当 ...

  9. 【树莓派】树莓派上刷android系统

    这位前辈之前做了基于android2.3版本刷入树莓派的事情,http://blog.csdn.net/lichwei1983/article/details/44082669 1.android 镜 ...

随机推荐

  1. 惊喜:opera换webkit内核后完美支持SDCH压缩协议

    csdn发邮件警告说再不发文章就取消我的专家头衔了.呵呵,其实我只是在csdn暴露了我的帐号密码以后不得已把csdn密码修改成一个我自己都记不住的货,所以很少上来了. 言归正传.我们从去年就在QQ空间 ...

  2. All about Performing User-Managed Database Recovery

    Automatic Recovery with SET AUTORECOVERY ======================================== Issuing SET AUTORE ...

  3. [置顶] 遵循Java EE标准体系的开源GIS服务平台之二:平台部署

    传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...

  4. 安装javaUbuntu下安装JDK1.6,并将之设为默认的JDK

    本篇文章个人在广东逛街的时候突然想到的...最近就有想写几篇关于安装java的博客,所以回家到之后就奋笔疾书的写出来发表了 1.在Windows系统下下载Liunx 版本JDK,我下的是jdk-6u4 ...

  5. ActiveMQ NMS使用过程中的一点经验

    最近,项目中使用到了ActiveMQ获取第三方推送过来的数据.具体背景是:公司需要监控全国各地车辆实时运行的GPS数据,但监控本身不是公司做的,而是交给第三方公司做,第三方采集GPS数据后推送给我们. ...

  6. C++ std::stack

    std::stack template <class T, class Container = deque<T> > class stack; LIFO stack Stack ...

  7. jQuery 效果 - fadeTo() 方法

    实例 使用淡出效果来隐藏一个 <p> 元素: $(".btn1").click(function(){ $("p").fadeTo(1000,0.4 ...

  8. GOPS2017全球运维大会深圳站 出席嘉宾盘点!

    去年,GOPS全球运维大会在深圳出发,当时门票提前几周收盘,2017年,承载着运维人的期望,GOPS全球运维大会再次来到了深圳.第六届GOPS2017全球运维大会深圳站(本次)将于2017年4月21日 ...

  9. [趣味]WhirlPolygon——彩色旋转正多边形

    此程序用于在AutoCAD中以直线绘制彩色旋转正多边形供欣赏~ 此程序附属MagicTable(可到依云官网下载:http://www.yiyunsoftware.com/),安装之即可使用该程序. ...

  10. JDK安装(CentOS/rpm方式)

    1. 用如下命令检验是否已经自带了OpenJDK java -version 如果打印如下,则表示安装了OpenJDK java version "1.6.0" OpenJDK R ...