Android Things创客DIY第一课-用Android Things展示你的智能设备创意-基础篇

Android Things旨在让Android开发者可以用熟悉的工具(Android Studio)开发智能设备。
Android Things是给Android开发者开发智能设备的一个大大的福利,Android开发者熟悉移动开发和移动互联网,可以将自己的移动互联网思维注入智能设备的设计中,而传统的硬件开发者,在这方面相较于Android开发者有所欠缺,这是Android开发者的优势。


如何开发一个智能设备


然而,Android开发者对硬件、电路往往不够熟悉,这是劣势,然而通过学习,对硬件和电子电路有一些了解,就可以很方便的用Android Things开发智能设备了。如果你喜欢动手,可以很方便的设计你的智能设备,并DIY出原型产品,开发运行在设备中的Android Things APP,结合云服务和手机APP,展示你的产品创意。之后聪明的你就可以全面的展示你的智能设备,融资或是通过众筹的方式,进行智能设备的产品化。或者你只想DIY自己玩玩,或是带着你的孩子一起玩,对,给孩子开发自己专属的智能玩具,那也是很酷的事情。


一个基于Android Things的玩具小车


做Android Things,做物联网开发,就不得不说电子电路了,Android开发者可能并不熟悉,不过本文会帮你梳理一下,基本上都是初中物理的知识。首先要介绍一个非常好的工具——面包板。


树莓派和面包板


面包板可以让你不需要焊接,通过接插的方式,把电子元件连接在一起,实现所需的功能,非常省时省力。Android Things官网的开发案例,也基本上都是通过面包板连接电子元件实现的。上图就是Android Things官网的第一个例子,电灯大法(让LED灯闪烁)。虽然Android Things现在也推荐一些集成了LED、按键和一些传感器的树莓派扩展板,不过还是建议入门者选择面包板和插件元件的配件套装,这样你知道电路是怎么连接的,知道原理会有助于发展你的创意。
我们在淘宝上提供了入门套装,你可以选择包含了树莓派和已烧录Android Things系统的TF的套件,如果你已经有树莓派,只购买配件即可。如果你要自己下载烧录Android Things系统,可以先读我的另一篇《 Android Things入门防坑必读-硬件和系统下载安装篇》。
https://sysolve.taobao.com/
套件根据Android Things官网Samples开发案例所需的配件进行打包,精选优品,无需自己搭配,专业工程师亲自搭配测试。


Android Things开发配件套装


开发第一个Android Things APP

如果你是Android开发者,你应该已经有了Android Studio,如果没有的话,可以到官网下载一个最新版的。
https://developer.android.google.cn/studio/index.html


下载Android Studio


API版本选择 API 26: Android 8.0 (Oreo)。
之后,到Github上去下载官网第一个例子(Simple PIO)的源代码。
https://github.com/androidthings/sample-simplepio
在Android Studio中打开,这里有个坑,应该是Android Studio的Bug,由于项目使用的是新的gradle-4.1进行编译,提示Failed to open zip file。没有下载成功。测试发现用浏览器是可以打开下载的,所以感觉是Android Studio的Bug。如图,打开gradle-wrapper.properties文件,看最后一行。


Android Studio提示Failed to open zip file错误


如下图红框所示,讲最后一行的https改成http,重新编译即可,第一次编译时要下载gradle-4.1-all.zip文件,需要耗费很长时间。


将https改成http


通过网络adb连上树莓派,假设树莓派的IP地址为192.168.1.100,即在命令行输入
adb connect 192.168.1.100
连接成功后,运行blink这个app即可看到LED灯闪烁了。


运行blink

还有一个坑需要注意一下,通常我们在调试APP的时候,可以在Android Studio中点击停止按钮,来停止设备上的APP运行,但你可以试一下Android Things上的这个APP,你点击停止,它马上又重新启动了!!!
这是Android Things的看门狗程序实现的功能,试想你的智能设备售卖出去了,然后程序异常退出了,你总不希望它在用户手里变砖头吧,所以Android Things发现你的APP退出之后,会帮你重新启动。(以前都要自己写异常重启的代码,现在系统帮你实现了。)
不过在调试的时候,没办法停止就不太好,比如你先调试了A程序,然后又运行了B程序,A程序没法退出,B程序就没法申请A程序已使用的资源。所以,调试的时候,可以修改AndroidManifest.xml文件,如下图所示,将
<category android:name="android.intent.category.IOT_LAUNCHER" />
这一行注释掉。在运行,APP退出就不会自动重启了。当然注释掉之后,Android Things设备开机后,也就不会自动运行这个APP了,所以正式发布的时候,要把注释取消掉。


注释掉IOT_LAUNCHER


我在Blink代码的基础上,做了一个数字管显示数字,自动累加的例子,你可能猜到了数码管其实就是一系列LED灯组合在一起的,下一篇文章中会做介绍,你也可以动手实践一下。


在Blink基础上修改的数字显示例子


想要了解更多关于Android Things的资料,可以访问官网(developer.android.google.cn这个域名是国内可以直接访问的)。
https://developer.android.google.cn/things/get-started/index.html


要学习Android Things的话,可以看官网有案例,我也会陆续写一些Android Things的开发实践,并将案例代码在Github上开源: https://github.com/sysolve

猜你喜欢

转载自blog.csdn.net/weixin_41636248/article/details/79201178