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

发布者:Xingfu6666最新更新时间:2023-06-20 来源: elecfans关键字:Raspberry  Pi  Cloud  家庭自动化 手机看文章 扫描二维码
随时随地手机看文章

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;

}

}


关键字:Raspberry  Pi  Cloud  家庭自动化 引用地址:使用Raspberry Pi和Particle Cloud进行物联网控制的家庭自动化

上一篇:使用TTP223和Arduino UNO通过触摸控制家庭灯
下一篇:制作MIDI琶音合成器的教程分享

推荐阅读最新更新时间:2024-11-05 17:11

国货当自强:首款国产柔性PI基板材料的高分辨率AMOLED
  北京时间05月15日消息,863计划新材料技术领域课题“柔性基板材料及柔性显示关键技术研究开发”通过技术验收 2018年5月5日,科技部高技术研究发展中心在武汉组织了国家863计划新材料技术领域“柔性基板材料及柔性显示关键技术研究开发”课题验收。下面就随嵌入式小编一起来了解一下相关内容吧。   课题突破了用于柔性基板的聚酰亚胺浆料合成技术,设计出具有自主知识产权的分子结构,并满足高耐热稳定性、高拉伸强度和低热膨胀系数等关键特性要求;在6代 AMOLED 量产线上进行国产柔性基板材料的工程化验证,完成了国内首款采用国产柔性PI基板材料的6英寸高分辨率柔性 AMOLED 样机的制备,样机显示特性、耐弯折特性均达到先进水平。   
[嵌入式]
英特尔、联通、中兴共同宣布,开启Edge-Cloud全国大规模试点
今天,在2018世界移动通信大会上,中国联通联合中兴通讯、英特尔召开新闻发布会,宣布中国联通Edge-Cloud大规模试点正式启动、联合发布了《中国联通Edge-Cloud平台架构及产业生态白皮书》,并在英特尔展台现场联合展示了边缘vCDN和边缘智能分析等业务。 中国联通网络技术研究院朱常波副院长重点介绍了中国联通Edge-Cloud平台架构、演进路标和重点应用案例。面向5G固移融合业务发展需求和网络云化演进方向,中国联通致力于打造开放、开源的边缘PaaS业务平台,实现对计算、存储、网络及加速器资源的弹性调配,以及对多样化边缘业务的编排管理,为应用开发者提供丰富的平台服务能力和统一的API,从而加速边缘应用的商业孵化。
[半导体设计/制造]
谷歌开放 Cloud TPU,计算能力达到180 teraflops
谷歌传奇工程师 Jeff Dean 在推特上连发 10 条消息,宣布谷歌 Cloud TPU 正式对外全面开放。   “我们对此感到非常兴奋,因为许多研究人员和工程师在进行机器学习时都遇见了计算力不足的问题,而我们认为这(即 Cloud TPU)将是一个很好的解决方案。举例来说,我们一个 Cloud TPU 设备可以在 24 小时内将运行在 resnet-50 上的模型的识别精度训练到 75%。”Jeff Dean 在推特上兴奋地表示。   据了解,Cloud TPU 主要用于对深度学习等进行加速,每个 Cloud TPU 包含 4 个定制化的 ASIC,每个 Cloud TPU 的计算能力达到每秒 180 万亿次浮点运算(180
[嵌入式]
TI高电压转换开关助力常通电智能电表及家庭自动化实现节能设计
    700V 电源管理转换开关将静态功耗锐降 50%。     2014 年 9 月 15日,北京讯---日前,德州仪器 (TI) 宣布推出支持小于100uA、 业界最低静态电流的 700V 转换开关,其功耗是现有解决方案的一半,这进一步壮大了 TI 面向离线 AC/DC 设计的高电压电源解决方案阵营。该 UCC28880 控制器高度集成 700V 功率 MOSFET 和高电压电流电源,可帮助输出电流高达 100mA 的常通电非隔离式电源系统提升整体能源效率,且充分满足智能电表、家庭自动化设备以及大型家用电器等应用需求。     TI 高电压电源解决方案产品部首席技术官 Dave Freeman 指出:“全
[电源管理]
博世推出专为智能家居虚拟触摸屏BML100PI模块
在中国上海举行的慕尼黑上海电子展上,Bosch Sensortec展示了BML100PI,这是一款能够为智能家居各类表面增加虚拟触摸屏的互动投影模块,可将普通储物架变为个人助理。 BML100PI模块为交互式投影提供了一套完整的即用型解决方案,可实现高度灵活的虚拟触摸屏。所生成的激光束可在任何表面上创建无需聚焦图像,然后逐行扫描以检测任何手势或手指移动。准确的手势和触摸识别无需校准或调整。Bosch Sensortec的交互式投影模块为所有智能家居设备增添触摸屏,并可实现高度直观的用户体验,与静态物理屏幕相比,可谓是一种完全灵活的替代产品。 智能家居的私人助理 家用设备制造商可以使用BML100PI来创建“智能储物架”,包
[嵌入式]
博世推出专为智能家居虚拟触摸屏BML100<font color='red'>PI</font>模块
PI为亚洲电源设计师推出内容全面的本地语言网站
  用于高能效电源转换的高压集成电路业界的领导者Power Integrations公司今天宣布推出四种亚洲语言的全新网站,此举将大大方便中国大陆、日本、韩国及中国台湾的工程师以其本地语言获取各种设计工具及技术信息。   为满足亚洲电源设计师的需要,新网站以本地语言提供内容全面的设计资源,其中包括参考设计、技术知识视频、新推出的外部电源能效合规性计算器以及Power Integrations广受欢迎的电源设计软件PI Expertâ。网站还设有Power Integrations“绿色空间”,介绍有关节能设计的最新信息以及最全面的能效规范和标准资料。   Power Integrations市场营销副总裁Doug Ba
[电源管理]
PI收购高压驱动厂商Concept
包尔英特(PI)公司已与瑞士的高功率器件公司CT-Concept Technologie AG达成协议,同意以1.15亿美元(约1.05亿瑞士法郎)现金收购Concept。 坐落在瑞典比尔的Concept公司开发了用于高压IGBT模块的驱动程序,主要用于工业电机驱动、再生能源生产、电动火车、高压直流输电、电动汽车与医疗设备等领域的高压功率转换应用。 “我们的战略重点是通过不断拓宽功率与产品应用范围,提供高压功率转换产品的革新技术。而Concept公司完美地符合我们的战略重点。”PI的总裁兼首席执行官Balu Balakrishnan如是说。 Concept大约拥有员工65人,专利权14项,另外还有正在申请中的
[工业控制]
风河Linux平台构建新型家庭自动化网关
Intel全资子公司风河系统公司(Wind River)日前宣布,比利时fifthplay公司选择Wind River Linux作为构建其新型家庭自动化网关。fifthplay最新推出的FG4000 Gateway网关平台可让用户通过手机或web接口控制传感器、灯光、摄像头等在内的一系列家庭自动化设备,而且开发了全新的应用软件,让家庭设备自动的自动警报信息通过SMS短消息文本或电子邮件发送到手机设备。此外,这套系统的软件和硬件升级都非常便捷,从而能够与家庭中更多类型的设备互联互动。 fifthplay公司研发总监Erik Van Mossevelde表示:“网关的概念主要集中在舒适性、用户友好和可连接性等方面。技术
[网络通信]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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