首页 > 微机单片机 >单片机制作 > 使用Raspberry Pi和Particle Cloud进行物联网控制的家庭自动化

使用Raspberry Pi和Particle Cloud进行物联网控制的家庭自动化

来源:互联网发布者:spectrum 关键词: 物联网 家庭自动化 更新时间: 2024/05/17

Raspberry Pi 是最著名的低成本计算机之一,也是用于对不同类型的物联网和嵌入式项目进行原型设计的强大工具。随着树莓派在物联网领域的普及,粒子云开始在其平台上支持该板。

Particle Cloud是一个非常流行的物联网平台,它可以帮助您从您想要在物联网设备中执行的所有操作开始。Particle 是一个可靠、可扩展且安全的物联网设备平台。有许多支持物联网的粒子设备,如 Xenon、Photon、Electron 等,它们根据我们的需要具有不同的功能。

有许多物联网平台,如Blynk、ThingSpeak 等,您可以使用它们将 Raspberry Pi 连接到物联网云,但粒子云平台有一些很棒的功能,使其与众不同。就像您可以使用粒子云 IDE 在您的 Raspberry Pi 中运行您的 Arduino 代码一样,并且可以在世界任何地方对您的 Pi 进行编程,现在这很酷!此外,您可以轻松集成 IFTTT、Google Cloud 或 Microsoft Azure。

让我们通过使用 Particle Mobile 应用程序和来自世界任何地方的在线 Particle IDE 制作简单的 Raspberry Pi 应用程序来控制家用 AC 设备,开始探索 Particle 云平台。

所需组件

安装了 Raspbian 的 Raspberry PI

继电器模块

220v 灯泡

跳线

假设您的 Raspberry Pi 已经刷入了操作系统。如果没有,请 在继续之前遵循Raspberry Pi 入门教程。这里我们使用 Rasbian Jessie 安装 Raspberry Pi 3。

电路原理图

这个Raspberry Pi Home Automaton 项目的电路图很简单:

poYBAGMW7uyABkiHAAEB_AickuQ121.png

poYBAGMW7uiABkJ_AAOpGZoQ8pU243.png

我们必须在 Raspberry Pi 中安装Particle 代理才能将其与 Particle Cloud 连接。Particle Agent 是一个在后台运行的软件服务,用于与 Raspberry pi 的 GPIO 引脚进行交互。在安装代理之前,您必须在 Particle.io 上创建一个帐户。

我们将从在粒子云上创建一个帐户并了解粒子平台的界面开始。

设置粒子云帐户和树莓派

1. 前往Particle.io并点击右上角的控制台。现在,单击创建帐户。填写所有信息,然后单击注册。

poYBAGMW7uOARVe7AAIjy-Xjzno420.png

2. 现在,在树莓派终端中运行以下命令来安装粒子代理。

bash 《( curl -sL https://particle.io/install-pi )

输入您在第一步中创建的粒子云电子邮件和密码。

pYYBAGMW7t-ALd1gAAH6q89SpwY202.png

3. 粒子代理成功安装在 Pi 中并在后台运行。它也在听粒子云。您可以使用以下命令获取更多信息代理。

poYBAGMW7tuAbujlAAIAatEAvuE670.png

现在,让我们跳到编码部分并探索粒子平台。

使用 Raspberry Pi 和 Particle Cloud 控制 AC 设备

如果您已在 Pi 上成功安装了 Particle 代理,那么您可以在Particle 控制台上找到您的设备。如下所示

pYYBAGMW7teAdBZnAACcfXkUs-s144.png

如您所见,屏幕左侧有许多选项,包括添加新设备、创建网状网络、与 IFTTT、Microsoft Azure 和 Web IDE 集成。

1.首先,点击Web IDE选项。将使用在线 IDE 打开一个新选项卡,如下所示。

pYYBAGMW7tKAIb7aAAHShGuWnpo534.png

2. 现在,您可以在 Raspberry Pi 中使用您的 Arduino 代码。还给出了一些示例代码。我们将在线控制 AC 灯泡,因此,单击 Web-Connected LED 示例并连接您的继电器模块,如电路图所示。代码中使用的引脚是 D7。引脚映射如下所示。

poYBAGMW7s6ANEJIAANfNqs8AyE836.png

3. 现在,编译代码并点击 Flash。确保您的 Raspberry Pi 已连接到互联网。此外,您可以根据需要更改代码,但您必须分叉要使用的示例代码。

poYBAGMW7sqAWtW2AAGRYQuYE7w491.png

4. 正如您在代码中看到的那样,无论何时发送“on”,灯泡都会发光,而无论何时发送“off”,灯泡都会熄灭。要发出命令,请返回控制台选项卡并单击设备。单击刷新按钮,您将看到一个需要参数来执行函数调用的 led 函数。在这里你必须写“on”和“off”来打开和关闭灯泡。编写参数后单击调用。

poYBAGMW7saAYuQKAAC3Jn55Mtw733.png

5. 现在,使用移动应用程序控制灯泡。

在应用程序中,您将看到您的树莓派已列出,单击它。

poYBAGMW7sGAGXr_AAA07L86m7s637.png

6. 单击数据。您会在这里找到相同的 LED 功能。只需输入参数并单击发送。通过这种方式,您也可以使用智能手机控制您的设备。

pYYBAGMW7r6AT8f1AABKSlTrldI548.png

7. Web IDE 中有一个特殊的代码示例,称为Tinker。在 Raspberry Pi 中上传此代码后,您可以一次控制多个引脚,而无需对其进行硬编码。此外,您无需在代码中指定引脚即可获得传感器读数。

8. 只要您 Flash 修补程序示例代码,您将在应用程序中的设备前面看到修补程序选项。点击它。

poYBAGMW7ruAfs5jAAA0nLTWn1s894.png

9. 现在,选择要在其上获得输出或输入的引脚。单击时,系统会要求您单击digitalWrite、digitalRead、analogRead和analogWrite。在我们的例子中,单击引脚 D7上的digitalWrite 。

poYBAGMW7raAGoQjAABZiea67hk473.png

分配功能后,只需单击引脚 D7。你会看到灯泡在发光。再次按下 D7 时,灯泡将关闭。同样,您可以获取不同引脚上的传感器数据,并可以同时控制电器。

// ------------------------------------

// 通过 Internet 控制 LED

// ---- -------------------------------------------


// 首先,让我们为引脚创建“速记”

// 与闪烁 LED 示例相同:

// led1 是 D0,led2 是 D7


诠释 led2 = D7;


// 上次,我们只需要在 setup 函数中声明引脚。

// 这一次,我们也要注册我们的粒子函数


void setup()

{

// 这是引脚配置,和上次一样

pinMode(led1, OUTPUT);

pinMode(led2,输出);


// 我们还将声明一个 Particle.function,以便我们可以在云端打开和关闭 LED。

Particle.function("led",ledToggle);

// 这就是说,当我们向云请求函数“led”时,它将使用此应用程序中的函数 ledToggle()。


// 为了更好地衡量,我们还要确保在启动时两个 LED 都熄灭:

digitalWrite(led1, LOW);

数字写入(led2,低);

}



// 上次,我们希望 LED 持续闪烁,

// 因为这次我们正在等待通过云输入,

// 我们实际上不需要在循环中放入任何东西


void loop()

{

// 此处无事可做

}


// 现在我们将拥有一个超级酷的函数,当发送匹配的 API 请求时调用它

// 这是我们之前注册到“led”Particle.function 的 ledToggle 函数。


int ledToggle(String command) {

/* Particle.functions 总是将字符串作为参数并返回一个整数。

由于我们可以传递一个字符串,这意味着我们可以给程序命令如何使用该函数。

在这种情况下,告诉函数“on”将打开 LED,告诉它“off”将关闭 LED。

然后,该函数返回一个值给我们,让我们知道发生了什么。

在这种情况下,它将返回 1 表示 LED 亮起,0 表示 LED 关闭,

如果我们收到一个完全虚假的命令,它没有对 LED 做任何事情,则返回 -1。

*/


if (command=="on") {

digitalWrite(led1,HIGH);

数字写入(led2,高);

返回 1;

}

else if (command=="off") {

digitalWrite(led1,LOW);

数字写入(led2,低);

返回0;

}

其他 {

返回 -1;

}

}

提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2024-11-13 06:19

答题赢好礼|世健探索:烟雾探测赋能智能建筑
烟雾探测器可以挽救生命。在美国,每五起与火灾有关的死亡中,有三起发生在没有烟雾探测器的房产中。只有正确使用烟雾探测器,才可以挽救生命。在装有烟雾探测器的房产中,近四分之一(23%)的死亡发生在烟雾探测器不工作或由于经常误警报而被停用的情况下。 烟雾探测器制造商面临四个关键挑
 EEWORLD社区传感器
立即报名 | STM32全国巡回研讨会即将开启!(走进11城,9/12-10/27)
时间: 9月12日-10月27日 地点: 杭州、武汉、郑州、西安、济南、成都、苏州、南京、广州、厦门、北京 如何通过STM32的产品和生态,拓展嵌入式创新边界,在产业生态下实现共赢? 来参与以 STM32不止于芯 为主题的STM32全国巡回研讨会吧! 最新STM32 技
 EEWORLD社区stm32/stm8
【视频下载】十天学会CPLD教程
本帖最后由 paulhyde 于 2014-9-15 09:10 编辑 以下为纳米盘下载链接,没安装纳米机器人的先安装一个吧 第一天 http://www.namipan.com/d/CPLD%e7 ... fe254e99029af6c3104 第二天 http:
 open82977352电子竞赛
【NXP Rapid IoT评测】Rapid IoT套件开箱及开发环境了解
◆ 钱盐 近期手头的项目忙着上线,一直把评测报告给拖着,眼看要截止了,赶紧整理一下发上来吧,既是完成承诺,也逼着自己回顾梳理一下评测的心得收获。偶然 看到 论坛的这个评测活动,并幸运入选,由于自己正在做IoT系统的开发、应用,因此非常期待。 ◆ 开箱 接到论
 jf8looRF/无线
功放LM3886
纯直流功率放大器,LM3886也是一块非常好用的芯片,前面上传的TDA7294相信下过的人都知道,要是你做成板子,音质真的是““爽””,但这个LM3886不输于TDA7294!原理图和PCB一起打包了。 功放LM3886 :非常地不错,但你有勇气做吗?action! 你想吗!
 枫亭幽竹Microchip MCU
TI 原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢
TI 原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢? 设计调试仿真器的时候,是否可以不用它? TI 原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢 你可以看看原理图中cpld的等效电路。 我今天看到一个仿真器上并没有这个芯片,也可以仿真和下载
 academic微控制器 MCU

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved