树莓派+Android Things

在开始以前
谷歌前不久发布了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  这样就成功链接到树莓派。
adb connect <ip-address>

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


(2)经过adb 的logcat肯定你的链接是否成功
$ adb logcat -d | grep Wifi

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

(3)测试你的树莓派是否能访问外网,命令
$ 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文件添加以下依赖
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声明的设置以下。

<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>









相关文章
相关标签/搜索