0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

科技观察员 来源:circuitdigest 作者:Rishabh Jain 2022-09-06 14:58 次阅读

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、digitalReadanalogRead和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;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2900

    文章

    43983

    浏览量

    369832
  • 家庭自动化
    +关注

    关注

    2

    文章

    64

    浏览量

    21549
收藏 人收藏

    评论

    相关推荐

    基于node-Red和Raspberry Pi联网实验设计

    基于node-Red和Raspberry Pi联网实验设计,都是小实验,有人会吗?
    发表于 03-06 12:11

    实现家庭自动化,使用树莓派控制电灯

    Pi控制继电器,您可以控制不同的电气负载,例如:灯光风扇LED灯条此外,您可以使用Raspberry Pi实施
    发表于 05-24 08:00

    Raspberry Pi驱动的单室家庭自动化解决方案

    `家庭自动化+ LED控制Raspberry Pi Relay和APA102 LED控制器允许
    发表于 03-31 13:56

    安装Raspberry Pi Clock Hat的教程分享

    Raspberry Pi 用于基于服务器的应用程序(如 NAS 服务器、家庭自动化服务器等)的人来说非常有用。这顶帽子支持从 Pi 0
    发表于 07-05 06:01

    联网家庭自动化添加WiFi的门控板

    描述WiFi 门控板 Rev 1.1替换现有的美国自动开门器控制板,并为联网家庭自动化添加
    发表于 08-29 07:32

    基于Raspberry Pi Pico开发先进的家庭自动化系统

    我们现在正在使用基于Raspberry Pi Pico的家庭自动化系统来构建技术先进的房屋。
    的头像 发表于 04-27 11:19 2935次阅读

    使用NodeMCU的基于联网家庭自动化

    电子发烧友网站提供《使用NodeMCU的基于联网家庭自动化.zip》资料免费下载
    发表于 11-01 11:10 1次下载
    使用NodeMCU的基于<b class='flag-5'>物</b><b class='flag-5'>联网</b>的<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>

    基于联网家庭自动化项目

    电子发烧友网站提供《基于联网家庭自动化项目.zip》资料免费下载
    发表于 11-01 14:23 1次下载
    基于<b class='flag-5'>物</b><b class='flag-5'>联网</b>的<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>项目

    简单家庭自动化或工业自动化联网解决方案

    电子发烧友网站提供《简单家庭自动化或工业自动化联网解决方案.zip》资料免费下载
    发表于 12-01 09:30 2次下载
    简单<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>或工业<b class='flag-5'>自动化</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>解决方案

    通过Raspberry Pi进行简单的联网LED控制

    电子发烧友网站提供《通过Raspberry Pi进行简单的联网LED控制.zip》资料免费下载
    发表于 12-09 10:02 0次下载
    通过<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>进行</b>简单的<b class='flag-5'>物</b><b class='flag-5'>联网</b>LED<b class='flag-5'>控制</b>

    通过Raspberry Pi联网有源蜂鸣器

    电子发烧友网站提供《通过Raspberry Pi联网有源蜂鸣器.zip》资料免费下载
    发表于 12-12 10:09 1次下载
    通过<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的<b class='flag-5'>物</b><b class='flag-5'>联网</b>有源蜂鸣器

    具有Azure数据库支持的Raspberry Pi无线家庭自动化

    电子发烧友网站提供《具有Azure数据库支持的Raspberry Pi无线家庭自动化.zip》资料免费下载
    发表于 12-23 16:27 0次下载
    具有Azure数据库支持的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>无线<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>

    使用联网家庭自动化

    电子发烧友网站提供《使用联网家庭自动化.zip》资料免费下载
    发表于 02-02 16:37 0次下载
    使用<b class='flag-5'>物</b><b class='flag-5'>联网</b>的<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>

    基于联网家庭自动化

    电子发烧友网站提供《基于联网家庭自动化.zip》资料免费下载
    发表于 02-07 14:03 0次下载
    基于<b class='flag-5'>物</b><b class='flag-5'>联网</b>的<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>

    基于Raspberry PI的应用程序的典型场景家庭自动化

    电子发烧友网站提供《基于Raspberry PI的应用程序的典型场景家庭自动化.zip》资料免费下载
    发表于 06-13 11:05 0次下载
    基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>PI</b>的应用程序的典型场景<b class='flag-5'>家庭</b><b class='flag-5'>自动化</b>