当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]如果你在办公室工作,你…在办公室里。不管是不是在你家里,我都要大胆猜测,它也是在室内——在室内长时间没有良好通风的空间会导致空气质量低(理论上是健康问题)。

如果你在办公室工作,你…在办公室里。不管是不是在你家里,我都要大胆猜测,它也是在室内——在室内长时间没有良好通风的空间会导致空气质量低(理论上是健康问题)。

现在,我不想传播恐惧,让你们都认为自己会因为吸入同事的呼气而慢慢死亡。然而,我在这里展示一个简单的方法来建立一个云连接的室内空气质量系统:

•各种Adafruit空气质量传感器

•一个blue Notecard通过LTE连接将项目云连接起来。

•Adafruit IO将空气质量数据可视化,并与其他服务集成。

•飞利浦Hue LED灯条,为低空气质量警报提供实时视觉效果.

注意:这个项目最初出现在Adafruit Playground上。

硬件组成

让我们从采购和组装不同的硬件组件开始。

空气质量传感器来自Adafruit

Adafruit是我制作新项目原型时的首选组件来源。因此,受TJ VanToll项目的启发,我开始使用Adafruit SCD40传感器来测量温度、湿度和二氧化碳水平。

接下来,我想找到一种简单的方法来测量VOC(挥发性有机化合物)的含量。Adafruit的SGP40气体传感器提供了这一点,支持的库可以访问“原始”气体水平和输出VOC指数的算法。

顺便说一句,我还使用了一个7段显示器来显示最近计算的VOC指数,本地:

来自blue的云连接

我知道我需要的不仅仅是在7段显示器上显示单个值的本地显示。我想创建一个真正的云连接系统,让我可以使用像Adafruit IO这样的云服务来可视化数据,发送警报,并与其他“智能家居”设备进行交互。

这段旅程以布鲁斯和笔记卡手机开始并结束。

虽然说到“cellular”这个词可能会让一些人感到害怕,但Blues通过将古老的AT命令语法隐藏在健壮的基于json的API后面来简化cellular。更不用说,使用Notecard无需每月支付SIM卡费用——只需一次性支付硬件费用,包括在140多个国家/地区使用500MB的数据和服务。

主MCU和载波板

为了将所有组件组合在一起,我选择使用基于stm32的主机MCU(与feather兼容的Blues Cygnet)和另一个blue提供的组件Notecarrier F。Notecarrier F提供了一个(物理)开发平台,您可以在该平台上安装Notecard(基于feather的主MCU),并连接传感器和其他外围设备。

最终硬件结果

连接7段显示器就像提供电源和连接地线,SDA和SCL线一样简单。由于STEMMA QT/Qwiic连接器的便利性,其他两个Adafruit空气质量传感器通过几根电缆连接:

写入固件

我通常在编写Arduino/C和CircuitPython之间来回切换。对于这个项目,我选择了Arduino/C -只是因为CircuitPython对Blues Cygnet的支持还没有完全准备好。然而,无论哪种方式,Adafruit传感器库和Blues Python或Blues Arduino sdk都提供了对两种语言的强大支持。

完整的源代码可以在GitHub上找到。然而,这里有一些亮点:

空气质量传感器数据

除了一些必要的仪式来初始化空气质量传感器,实际提取的值是几个命令的问题:

蜂窝连接编码

同样,Blues使云连接这个项目变得非常容易。实际上,只需要两个命令就可以将本地传感器数据发送到云端。

我们数据的第一个目的地是Blues云服务Notehub,它作为Notecard的安全云代理,最终将收集到的传感器数据路由到Adafruit IO。

1)使用枢纽。集合API:

的中心。set API告诉Notecard它应该向哪个Notehub云项目发送数据。

在设置了一个(免费的)Notehub项目后,你会得到一个全局唯一的ProductUID:

以及支持的代码块:

2)使用笔记。添加API

每次我们想要将积累的传感器数据与云同步时,我们都会调用note。添加API。这将创建一个充满我们所有传感器数据的事件(或蓝调术语中的注释)。

结果数据显示在Notehub项目中如下所示:

云连接

目前,我们正在本地收集传感器数据,并通过蜂窝定期将其发送到云端。

太酷了!

然而,现在我们需要对这些数据做一些有意义的事情,这就是Adafruit IO发挥作用的地方。这个云服务提供了一个慷慨的免费层,提供了一种非常简单的方式来可视化数据(仪表板),创建警报(操作),甚至集成第三方服务(升级)。

Adafruit IO Feeds

设置Adafruit IO帐户后,前往Feeds部分,为想要使用的每个数据元素创建一个feed:

蓝调Notehub

接下来,我们需要回到Notehub创建一个路由,它将告诉Notehub如何将事件传递到Adafruit IO!

在Routes菜单选项中,选择General HTTP/HTTPS Request/Response,它允许我们向Adafruit IO HTTP api发送数据。

安排好剩下的路线

1) URL

其中{username}是您的Adafruit IO用户名,{group}是封装提要的组名。(这可能是默认设置。)

2)在HTTP报头下,您必须添加Adafruit IO密钥(可在您的Adafruit IO帐户中找到)。x - IO- key是名称,您的Adafruit IO key是值。

3)在过滤器下,您将希望发送与此项目相关的传感器数据,并忽略Notecard发送的其他会话和健康信息。因此,在Notefiles部分下,选择Selected Notefiles,然后选择传感器。qo(这是代码中使用的Notefile的名称)。

4)最后在Data部分,我们需要编辑或转换从设备发送到Adafruit IO之前的JSON有效负载。每个云服务都有特定的数据格式,Adafruit IO也不例外!

实际上,我们需要创建一组键值对,每个要发送的数据元素对应一个键值对。之类的……

这是如何实现的呢?通过JSONata表达的魔力!JSONata允许您动态地转换JSON对象。

提示:JSONata练习器是测试JSONata表达式的好方法!

下面是我使用的完整的JSONata表达式,以及前面提到的JSONata练习器中该表达式的图像:

最后,保存路由(确保已启用)并观察下一个事件。您应该在事件视图的状态列下看到一个绿色的小复选框,它告诉您事件已成功路由到Adafruit IO!

Adafruit IO仪表板

现在我们有数据流入Adafruit IO,让我们创建一个仪表板。

前往Adafruit IO中的仪表板菜单选项并创建您的第一个仪表板。

使用提供的直观UI,为每个提要创建一个或多个块。例如,使用VOC指数数据馈送,我创建了一个显示最近读数的仪表和一个显示历史读数的折线图:

现在,对要可视化的每个数据元素重复前面的步骤。就是这么简单!

Adafruit IO Actions

接下来,我认为每当我的VOC指数超过100(通常是空气质量从好到不太好!)时,收到电子邮件提醒会很方便。

前往Adafruit IO中的Actions菜单选项。

使用表单或“Blockly”编辑器创建一个新动作(感觉有点像在Scratch中编程!)

以下是我的邮件提醒在Blockly编辑器中的样子:

警报呢?相当吸引人:

Adafruit IO Power-Ups

现在是时候认真对待Adafruit IO power - up了!

这些是与第三方服务(如IFTTT、Zapier和SMS)的健壮集成,用于消息传递(以及其他服务)。

就我个人而言,我认为使用IFTTT与我的飞利浦Hue LED灯条集成并在我当地的空气质量(VOC指数)出现问题时提供一些更戏剧性的反馈将是非常简洁的!

让我们把这个设置好。

1)在Adafruit IO的Power-Ups菜单中选择IFTTT。

2)登录您的IFTTT帐户并创建一个applet。

3) applet的第一步是监视来自Adafruit IO的监视器。搜索“Adafruit”,并根据需要填写表格,将颜色设置为绿色(例如,VOC值<= 100)。

4)接下来,在“然后”部分,你需要连接到你的Hue帐户,并为你的Hue灯选择“改变颜色”动作。

5) IFTTT小程序应该就完成了!

您将需要重复此过程来设置红色,更改“if”语句,使其在VOC值为bbb100时触发。

注意:IFTTT的免费层每小时只轮询你的Adafruit IO feed一次。你可以升级到他们的“专业”层,以获得更频繁的投票。

最终结果

结果呢?巨大的成功!

我办公室里的挥发性有机化合物含量自然在90到130之间,但我硬编码了一些挥发性有机化合物的值,以便快速演示灯光的变化:

如果你能认出那只猫,那就加分了!

因此,我希望你已经看到,构建一个真正的云连接产品是多么容易,它可以:

•测量室内空气质量。

•将这些数据发送到云端。

•在仪表板上可视化传感器数据。

•当空气质量恶化时,发送电子邮件提醒。

•在本地智能家居设备上可视化结果。

多亏了bluesnotecard和Adafruit IO的简单(和强大),这个项目只花了我几个小时就拼凑起来了——我希望你也能这样做!

在这里开始使用Adafruit IO,并在这里获得您自己的蓝调入门工具包。入门套件包括STM32主机,Notecarrier F和Notecard Cell+WiFi。也请记住,这个项目的完整源代码可以在GitHub上找到!

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭