前两天是需要了解基本知识和搭建环境。
今天开始可以做一些有趣的事情了。
本质上来说Android Things 就是一台可扩展的Android, 所以Android 手机拥有的Google 全套云服务基本上在Android Things 上都可以用。 这意味着什么呢?
你可以通过互联网方便地监控和控制各种传感器,记录数据, 监事等等。
尤其配合上简单易用的Firebase 的 realtime database 以及 online config 之后, 开发传感器应用更加如鱼得水。
应用场景
通过温湿度传感器DHT11 每5分钟测量一次室内温度和湿度, 上传到网上, 再通过网页展示室内的温湿度时序图。
实现思路
连接 DHT11 到 Pi, 启动Android应用, 每5分钟读取一次温湿度值,通过Firebase SDK 将温湿度值上传到 Firebase 服务器。 再使用Vue.js 写一个SPA 应用, 从Firebase 读取数值, 用HighChart 动态 展示数据。 Android / iOS 手机通过浏览器查看数据。
Firebase 服务简介
Firebase 服务在瓷器国访问不通(依赖不同网络运营商)。主要原因是域名被河蟹了。 修改Pi 的DNS 解析可能会解决部分地区问题。
adb shell
setprop net.eth0.dns1 8.8.8.8
setprop net.eth0.dns2 4.4.4.4
架构
misc
DHT 11 的数据读取其实很麻烦。 网上有C 和python 版本的应用。
这可能也是Android Things 在很长一段时间的问题, 就是缺乏硬件驱动,需要开发者自己去写。 而Rasbian 等系统可能已经有相对成熟的驱动代码可以使用。
最后搞了很长时间, 也没有读出来,怀疑DHT11 坏掉了。 换了另外一个红外传感器, 能正确读出来状态了。