首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Things 教程:通过 MQTT 控制 LED

MQTT,即消息队列遥测传输,是一种类似于 HTTP 超文本传输协议的流行协议,用于客户端和服务器之间的通信。由于 MQTT 的头部占用空间小,可靠性高,MQTT 更受物联网应用青睐。MQTT 使用非常小的字节数据来描述正在传输的信息的内容。 将其集成到不同的项目中也很容易,并且有许多库可用于开发客户端和代理(简单形式的 MQTT 服务器)代码。

在这个演示中,我将使用 Eclipse 的一个开源库 PAHO。由于 Android Things 使用其他 API 扩展了核心 Android 框架,因此我们可以使用 PAHO 中的相同 Java 库,在运行 Android Things 的设备上构建 MQTT 客户端,在我们的例子中是 Raspberry Pi 3。

一旦你设置了你的 RPi 与 Android Things,并设置你的 Android Studio,我们可以开始编码演示。

安装 MQTT 代理:Mosquitto

首先,我们把我们的经纪人放在一台机器上。 我正在使用 Mosquitto for Macbook 来设置 Broker。使用 Brew 来安装,在终端上键入以下命令以安装 Mosquitto:

脚本完成后,通过提供的指令来启动:

就这么简单。现在,可以通过在两个不同的选项卡或终端窗口上,运行以下命令来测试您的安装:

集成 MQTT 到 Android Things

接着,我们将把 PAHO Java 库整合到 Android Things 应用程序中。在 Android Studio 项目中,我们将 PAHO 库添加到我们的项目中。

1.将以下的源(repositories)添加到项目的

2.将 PAHO 依赖添加到应用程序的

3.使你的 实现 ,并在 类的 方法中添加以下代码:

这里的 是作为 MQTT 代理的、我的 Macbook 的本地 IP 地址。1883 是代理监听的端口。客户已经订阅了名为 的主题。

4.声明成员变量

在 方法中添加以下代码,以初始化您的 GPIO 引脚,并将其配置为输出引脚:

5.MqttCallback 类会要求你实现三种方法。将下面的代码添加到这些方法来接收输入消息,并根据收到的数据更改 GPIO 引脚的状态。

6.现在,按照以下原理图设置带有 LED 的面包板和 Raspberry Pi 3:

Android Things 电路图

7.通过在终端上运行 ADB 命令,将 Raspberry Pi 3 与 Android Studio 连接起来:

然后点击运行(Run)。

8.现在,在您的终端上,键入以下命令来控制 LED 的状态:

如命令所示, 将打开 , 将关闭。IP 地址 127.0.0.1 适用于 Macbook 上运行的 MQTT 代理。

完整的项目可以在我的 GitHub 源码库上找到:MQTT_LED

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180108G0U3BO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券