例如,我们将构建一个基于 Arduino 和 Android 的报警系统。这是 物联网 (IoT) 的一个有趣示例,该项目的目的是使用连接到 Arduino 板的 红外传感器 (PIR) 构建警报 ,该警报将推送消息发送到 Android 智能手机。这个项目混合了不同的技术和平台,我们让它们一起工作!
警报系统 使用两个平台来帮助简化项目:
- 天布
- 解析网
物联网项目概览
在深入研究该项目之前,描述这两个平台是很有用的。
Temboo 是一个具有一组“连接器”的平台,可用于与其他平台或服务提供商(即 eBay、Yahoo! Weather、Google 等)交换数据。 Temboo 的有趣之处在于它与 Arduino 板 兼容,因此这些连接器可以在 Arduino 上导出。
Parse.com 是我们在上一篇文章中用于 发送 android 推送消息的 平台。
物联网项目 的主要概况如下图所示:
很明显,构建物联网项目有几个部分。第一部分是 带有 PIR 传感器的 Arduino 板,用于检测运动 。 Arduino 运行一个将数据发送到 Parse 平台的 Temboo 代理 。当其中一个 Arduino 数字输入变为高电平时,将触发此代理。 Temboo 平台用于在不编写太多代码行的情况下创建代理。使用 Temboo choreo ,Arduino 可以将 JSON 数据直接发送到 Parse.com,后者又将推送消息发送到我们的智能手机。
阿杜诺素描
第一步是设置使用 PIR 传感器的 Arduino 草图并对其进行测试。这一步非常简单,我们必须使用三根线将传感器连接到 Arduino 板:电源、地线和信号线。
传感器非常简单 ,当它检测到运动时输出变高。对于这个例子,我们可以假设它连接在 数字引脚 8 上。
要检查我们的传感器是否正常工作并且它以正确的方式连接到 Arduino 板以便它检测运动,请尝试将此代码加载到 arduino 中:
int stato = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(8, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
stato = digitalRead(8);
Serial.println(stato);
delay(500);
}
现在运行代码并将您的手移到传感器前面并查看串行监视器以检查它是否有效!
现在 Arduino 组件已准备就绪!
天布舞蹈
下一步是设置将 Arduino 板连接到 Parse.com 的 代理。在这种情况下,我们需要一个以太网扩展板来将 Arduino 连接到互联网 。我用过 Wiznet W5500 。创建帐户后,就可以配置您的 Temboo 杂务 了。我们想将 Arduino 连接到 Parse,所以我们检查 Parse -> Push Notification 。 Parse choreoos 在使用之前需要一些信息:
- 申请编号
- RestAPI 密钥
这两个参数用于将代理连接到 Parse.com。您可以在 Parse.com 中找到这些信息:
您必须将所需的密钥复制到 Temboo 中:
好的,我们准备好了。如果您愿意,可以尝试从 Temboo 向 Parse.com 发送通知。
现在设置控制代理的触发器:
最后 ,Temboo 将创建可供使用的 Arduino 代码 !!最后将代码复制并粘贴到您的 Arduino IDE 中。
Temboo生成的代码如下所示:
int stato = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(8, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
stato = digitalRead(8);
Serial.println(stato);
delay(500);
}
配置 Parse.Com 频道并构建 Android 应用程序
Temboo 要求我们使用 Parse 通道来发送我们的通知 。然后我们必须修改我们的 Android 应用程序以使用通道来收听传入的通知。如果您不知道如何编写处理推送消息的 Android 应用程序,您可以阅读我之前的帖子,其中描述了 如何使用 Parse.com 发送 Android 推送消息 。
以这种方式稍微修改 ParseTutorialApplication.java:
int stato = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(8, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
stato = digitalRead(8);
Serial.println(stato);
delay(500);
}
其中
temboo
是通道。
我们准备好了!!运行应用程序并将您的手靠近传感器,
Arduino 将向 Android 智能手机发送一条推送消息
!
最终结果显示在这里:
在这篇文章的最后,您将了解如何
使用 Arduino 和 Android 构建物联网项目,以及如何通过 Temboo 和 Parse.com 整合这两个生态系统
。