了解如何将 Android Things 与 Firebase 进行同步,使您能够通过将 Firebase 数据库链接到您的开发板,以创建实时的 IoT 应用程序。
本文介绍如何将 Android Things 与 Firebase 进行同步,以便我们可以实时远程控制 RGB LED。更详细地说就是:该项目展示了如何通过无线实时控制远程 RGB LED,从而改变 Firebase 数据库中的某些值。正如你可能已经知道 Android Things 是 Android 操作系统的一个分支。因此,Android Things 支持开箱即用的 Firebase。
本教程将介绍将 Android Things 与 Firebase 集成所需的所有步骤,以及如何将 RGB LED 连接到 Android Things 板。将 Android Things 与 Firebase 同步,该物联网项目会根据我们使用 Firebase 设置的值,实时更改 LED 颜色。
在本教程中,我们假定您已经熟悉 Android Things 操作系统并且已经安装了它。如果这是您第一次使用 Android Things,您可以阅读如何在您的主板上安装 Android Things OS。
这个 Android Things IoT 项目可以进一步扩展,以便我们可以使用不同类型的信息将 Android Things 与 Firebase 进行同步。Android Things 和 Firebase 之间的同步在多个场景中扮演着重要的角色,因此知道如何去做是非常重要的。
在深入研究这个 Android Things Firebase 同步项目之前,先澄清一下我们将使用哪些组件:
Raspberry Pi 3(或者 Android Things 兼容板)。
一个普通的阳极 RGB LED。
此外,您需要一个 Firebase 帐户,以便测试此 Android Things 物联网项目。
如何将 Android Things 与 Firebase 项目同步
现在,我们知道我们将在这个项目中使用的组件,对同步进行概述是非常有用的。下图描述了该项目的工作原理:
Android Things Firebase 架构
一旦将 Android Things 连接到 Firebase 后,只要我们更改 Firebase 数据库中的值,新值就会触发一个事件,以便 Android Things 和 Firebase 数据库之间进行同步,将新值传输到 Android Things 开发板,转换、设置 RGB LED 的颜色。
如何设置 Android Things 及 Firebase
在本节中,我们将介绍如何配置 Firebase 项目,以便我们可以将其与 Android Things 进行整合。 第一步是创建一个免费帐户。 获得免费帐户后,您可以创建一个新的 Firebase 项目,如下所示:
Android Things Firebase
下一步是配置你的应用程序:
Android Things Firebase 项目配置
在此配置过程中,您必须遵循 Firebase 说明。最后,在与 Firebase 进行交互之前,有必要修改安全方面的内容:
Firebase 安全规则
最后,我们可以配置我们的数据库,它将持久化 LED 的颜色:
Android Things Firebase 添加项目
在应用程序级别, 看起来像这样:
如何使用 Android Things 及 Firebase
在 Firebase 项目里,设置期间按照说明操作之后,即可开始编写 Android Things 应用程序。所有的 Firebase 依赖和配置都已准备就绪。我们可以深入 Android Things 项目。如前所述,Android Things 应用程序必须监听 Firebase 值更改并作出反应,才能控制 RGB LED。
RGB LED 有三个引脚 - 每种颜色一个 - 我们将它们连接到 Raspberry Pi GPIO 引脚。根据 Firebase 数据库中的值,Android Things 应用打开或关闭每个控制 LED 颜色的 GPIO 引脚。这个应用程序没有 UI,因为 Android Things 是远程控制的。
为了创建这个 Android IoT 应用程序,有必要创建一个新的 Android Things 项目克隆模板项目。如果您是新手,并且这是您第一次使用 Android Things,则可以按照本教程描述如何开始使用 Android Things。
在上一步中,我们在 Firebase 数据库中创建了一个表格,其中包含代表 LED 颜色的三个不同字段。为了保留新的 Firebase 值,我们必须创建一个表示表的简单 POJO 类:
我们将使用这个简单的类来控制 GPIO 引脚。
现在,我们可以将注意力集中在处理 Android Things 和 Firebase 之间所有同步的主要 activity 上。为此,您可以使用项目中已经配置的模板 Activity。在 中,我们必须初始化与 Firebase 的连接,并获得对 的引用:
这里的, 是 的一个实例。而且,应用程序向数据库引用添加一个侦听器,以便在值更改时接收通知。此外,在这种方法中,我们初始化应用程序用来控制 LED 的引脚:
需要注意的是,在上面的代码中,Android Things 物联网应用直接引用了引脚名称。如果你想要你的应用程序,这不是一个好的做法 ,不方便在不同的电路板上进行移植。无论如何,对于本教程,我们可以使用直接引脚访问。
将 Android Things 与 Firebase 同步
一旦“硬件”部分准备好并且引脚已初始化,则需要在 Firebase 值更改时收到通知。为此,有必要定义一个监听器:
上面的代码非常简单。 当数据库中的一个或多个值发生更改时,将调用 方法。 前面描述的类 拥有新的值。 最后一步是更新引脚,设置正确的颜色:
在这个例子中,我们假设如果这个值大于零,那么这个引脚是打开的。否则,它是关闭的。请注意,我们正在使用一个共同的阴极 LED。 出于这个原因,我们关闭了引脚。
现在,您可以使用 Firebase 控制台更改 RGB 值来查看 LED 如何更改颜色。
总结
在本文的最后,您已经学习了如何将 Android Things 与 Firebase 进行同步,以便我们可以实时远程控制 Android Things 开发板。
领取专属 10元无门槛券
私享最新 技术干货