×

获取纽约市帝国大厦的实时配色方案

消耗积分:0 | 格式:zip | 大小:0.10 MB | 2022-12-07

申根换

分享资料个

描述

将纽约当前聚光灯的颜色图案带到您的家中

从纽约帝国大厦的实际配色方案到我在大洋彼岸的乐高帝国大厦。每天晚上,我的乐高帝国大厦的颜色都和它在纽约的兄弟一样。只是因为它可以。

在 Raspberry Pi 上,Node-RED从帝国大厦配色方案的网站上检索当前配色方案。将此数据解析为 JSON,并使用 BLE(低功耗蓝牙)将其发送到 Adafruit Feather。Feather 负责NeoPixel将颜色发射到我的 LEGO 设置中。

我是怎么想到这个主意的?

当我在我的纽约市乐高天际线下放置一个 LED 时,这一切都开始了。只是因为要看看它的样子。很快就产生了一个想法,如果 LED 的颜色与真正的帝国大厦的颜色相同,那就太棒了。而在物联网时代,这应该是可能的。所以我开始做这个项目。

很长一段时间后,我有了一个工作正常的 NeoPixel LED 灯,可以照亮帝国大厦的颜色图案。还可以使用 Apple HomeKit 对其进行控制。

项目本身

我决定将这个项目分成两个对象。一种是通过蓝牙接收颜色图案发射的聚光灯。另一部分从网络上检索颜色模式并通过蓝牙将其发送到聚光灯。我们称第二部分为智能部分。通过以这种方式分离,聚光灯变成了一个智能灯泡,可以响应开和关,颜色模式也是如此。智能部分可以重新编程或被任何其他解决方案取代。

通信聚光灯和智能对象

作为网络,使用低功耗蓝牙(BLE)。BLE 是一种非常节能的协议,在基于 Arduino 的解决方案上使用起来非常便宜。几乎每个便携式设备/计算机都支持 BLE,这使得使用 BLE 进行测试非常简单。

没有选择 WiFi,因为 WiFi 会消耗更多电量并给路由器增加额外负载。不选择WiFi的一个重要原因是它把聚光灯(间接)连接到互联网上。BLE使它更稳定,因为在WiFi断开时仍然可以控制聚光灯。每个智能手机都可以控制它。

对于协议,选择了 JSON。有很多可用的库,它适用于任何类型的网络。我做的JSON的设计在Arduino项目中。

通过 BLE 以 JSON 格式发送数据的方式最好使用 UART。遗憾的是,BLE 默认不支持 UART。对于 BLE,有 Nordic UART 服务 ( NUS ) 来模拟 UART 协议。Adafruit 提供了一个很棒的库,可以在没有 BLE 知识的情况下使用 NUS。这与设置串行连接一样简单。在智能部分,您必须使用NUS 的 ID来写入和发送数据。对我来说,这是一个相当长的研究,但结果很简单。查看 Node-RED 代码以了解其完成方式的详细信息。

通信仍然是单向交通。聚光灯返回没有确认已发送正确的命令或当前状态是什么。但现在我只是不在乎。我这里没有蓝牙噪音,一旦它不起作用,我会重新发送命令。此外,不应用任何安全措施。但是如果我的邻居可以找到 BLE 设备,他们需要知道 JSON 协议。尽管如此,这在未来必须改变。适当的家庭自动化不需要人为干预。

聚光灯

聚光灯发出它接收到的颜色图案。羽毛中没有智能部分的一个优点是它的设计可以很小并且功耗很低。聚光灯几乎​​可以放置在任何地方,并且带有一个小电池,该位置独立于电源插座。额外的优势是聚光灯还可以从其他来源发出光图案,或者根据需要制作您自己的图案。只要你使用 JSON 模式。

为 Adafruit 的羽毛做出了选择。准确地说是nRF52 Bluefruit LE 这个 Feather 还可以与ArduinoJson一起使用,ArduinoJson是一个简洁的轻量级库,可以在 Arduino 上轻松解析和生成 JSON。

整个代码添加到该项目的附件中。我希望它可以通过代码注释进行自我解释。

智能部分

选择了带有 Node-RED 的 Raspberry Pi (3B)。一开始,这对我来说是最明显的选择。我知道 Node-RED,对于正确的节点,只需拖放正确的节点即可。查看 Node-RED 流程了解详细信息。这很容易理解。

Node-RED 存在蓝牙问题,大多数用于蓝牙的 Node-RED 调色板依赖于node.js HCI套接字,它在node.js V10上不起作用自己的调色板。查看我的解决方案的流程。

家庭用品

因为聚光灯有开和关命令,您可以将它与HomeBride或任何其他解决方法集成,以将您自己的设备添加到 HomeKit。因为聚光灯响应 {"Status":true/false},所以它与默认命令兼容。

未来的计划

用基于太阳能电池板的解决方案更换电池。还有一块电池在使用中,需要一会儿充电。

从 spotlight 获得状态的反馈。目前没有个人需要这样做。

提高 BLE 安全性。

合法的东西。

我的代码是根据MIT License获得许可的在他们的网站上查看 Node-RED、调色板和 Adafruit 的详细信息。


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !