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

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

3天内不再提示

如何利用Blues Wireless实现断电检测器的设计

科技观察员 来源:电路城 作者:电路城 2022-06-08 16:50 次阅读

据估计,全球有近 90% 的家庭用上了电,这意味着当我们停电时,我们中近 90% 的人不可避免地会感到烦恼。

虽然大多数时候这只是一种烦恼,但失去电力(尤其是当我们在离开或睡着时没有意识到它时)可能会导致灾难性的后果。这可能意味着非常多不可估计的意外情况,从恢复供电时由于电流浪涌导致的设备损失,到危重护理环境中的生命线。

在这个项目中,我们将介绍如何构建我认为最简单的全球可用、支持蜂窝的断电检测器,并配备由 Twilio 提供支持的即时 SMS 通知。

poYBAGKgYp-ANPiIAACrC1yoxqA039.png

这个项目不需要用到以往曾频繁使用的烙铁,但它也并没有因此变得更容易!

我们将使用Blues Wireless Cellular Notecard,将其连接到Blues Wireless Notecarrier-A,并使用新发布的 Notecard 固件功能,该功能允许在没有主机微控制器的情况下自主报告 GPIO 状态更改。

pYYBAGKgYpuADMiUAAZQuE_oVHM517.png

我们还需要一个带 JST 连接器的小型 LiPo 电池(任何容量都可以)和一根微型 USB 电缆(带墙上插座适配器)。

使用蜂窝网络的原因

当发生停电时,我们不能依赖本地网络硬件来启动和运行(例如 Wi-Fi)。在这种情况下,蜂窝网络是唯一可靠的选择。

Blues Wireless Notecard 有Wi-Fi和蜂窝两种版本。蜂窝模型在全球范围内适用于LTE-M、NB-IoT 和 Cat-1 协议,与传统的蜂窝物联网产品不同,因为它们预付了 500MB 的数据和 10 年的全球蜂窝服务。

poYBAGKgYpeABzBpAAIyJWpwtlA096.png

Notecard 成功的秘诀是,一旦你打开它,它就知道要去哪里。Notecard 不在公共互联网上,只能通过私有 VPN 隧道进行通信(使其成为非常安全的设备)。不需要证书管理或手动密钥轮换。

Notecard 与什么通信?它自动与Blues Wireless 云服务 Notehub.io 同步,后者又可以将数据安全地路由到几乎任何云服务(如 AWS、Azure、Google Cloud)、RESTful 端点或支持 MQTT 的服务。

pYYBAGKgYpOANei9AAEtoTSmO6Y251.png

您只需打开 Notecard 的电源,使用基于 JSON 的 Notecard API中的命令之一,它就能够与云进行通信。

构建一个断电检测器

如前所述,我们将使用 Notecard 和 Notecarrier-A。Notecarriers是开发板,可让您使用 Notecard 轻松构建 IoT 解决方案的原型。Notecarrier-A 提供板载天线、JST 连接器、用于外围设备的 Qwiic 连接器,并暴露了 Notecard 上的所有引脚。

首先,我们只需将 Notecard 插入 Notecarrier-A 上的 M.2 边缘连接器:

pYYBAGKgYo-AGfXDAAasyYWKF6Y401.png

然后我们将MAINNotecarrier-A 上的 u.fl 连接器连接到MAINNotecard 上的 u.fl。这允许使用 Notecarrier 上的板载蜂窝天线:

poYBAGKgYoyAVhMhAAXM3XsrFE0363.png

注意:您也可以选择连接GPSu.fl 连接器,这样您就可以使用蜂窝 Notecard 上的 GPS 模块。

接下来,我们需要使用短跳线连接VUSB到AUX1Notecarrier-A。通过正确的card.auxNotecard API 请求,Notecard 可以自动报告任何AUX引脚 (1-4) 上的状态变化。通过连接VUSB到AUX1,我们将自己设置为能够将断电的状态变化报告到VUSB:

pYYBAGKgYoeAYvuwAARnuPjN-58710.png

通过JST 连接器将 LiPo 电池连接到 Notecarrier 。LIPONotecarrier 的另一个优点是,当它通过 USB 供电时,它将保持连接的 LiPo 电池的电量:

pYYBAGKgYoKAVLv6AAY8gc5nJ-g129.png

最后,Notecarrier 可以通过 micro USB 电缆连接到您想要监控的墙上插座。

设置Notecard

Notecard 使用一种语言:JSON。

所有Notecard API 命令都是 JSON 格式,这也意味着任何可以读写字符串的编程语言也可以与Notecard 通信。如果您使用的是 MCU 或单板计算机,则有Blues Wireless 支持的适用于 Python、C/C++Arduino 和 Go 的 SDK(以及社区支持的适用于Rust和.NET 的 SDK)。

使用dev.blues.io 提供的浏览器内终端,我们可以通过 Web Serial 的魔力直接连接到我们的 Notecard 并发出基于 JSON 的 API 命令:

pYYBAGKgYn2AXKvQAAMflPQ0QvY311.png

尝试发出一个示例命令,例如{“req”:“card.version”},从记事卡中获取一些识别信息

》 {“req”:“card.version”}

{

“body”: {

org”: “Blues Wireless”,

“product”: “Notecard”,

“version”: “notecard-3.3.1”,

“ver_major”: 3,

“ver_minor”: 3,

“ver_patch”: 1,

“ver_build”: 14612,

“built”: “May 18 2022 11:21:51”

},

“version”: “notecard-3.3.1.14612”,

“device”: “dev:864475040543182”,

“name”: “Blues Wireless Notecard”,

“sku”: “NOTE-NBGL-500”,

“board”: “1.11”,

“api”: 3

}

注意:这是检查 Notecard 固件版本的好机会!我们即将使用的新 API 功能至少需要固件 v3.3.1。

接下来,我们可以在 Notehub.io 上设置一个新的(免费)帐户并创建我们的第一个 Notehub 项目。

在这个 Notehub 项目中,我们将看到来自 Notecard 的传入数据,并使我们能够使用 Twilio 发送 SMS 消息:

pYYBAGKgYneAf2coAAGnITuQ0a0418.png

创建 Notehub 项目后,我们需要保存项目的唯一标识符(ProductUID ),例如:

com.your-company.your-name:power_outage

接下来,返回浏览器内终端,将此 Notecard 与我们刚刚创建的 Notehub 项目相关联。为此,我们使用hub.set API:

{

“req”:“hub.set”,

“product”:“com.blues.rlauer:power_outage”,

“mode”:“continuous”

}

然后,我们可以使用hub.sync API 快速测试蜂窝连接,如下所示:

{“req”: “hub.sync”}

几秒钟后,我们就可以回到我们的 Notehub 项目,看到 Notecard 已经成功建立了蜂窝连接:

poYBAGKgYnGARCg1AADosgyn08E910.png

现在我们来看看好东西!我们可以使用card.aux API 的一项新功能,通过以下命令自动报告 AUX 引脚上的状态变化:

{

“req”:“card.aux”,

“mode”:“gpio”,

“usage”:[

“input-pulldown”,

“off”,

“off”,

“off”

],

“sync”:true,

“file”:“power-outage.qo”

}

请求

数组中元素的顺序usage对应于 AUX 引脚。所以数组中的第一项 == AUX1(我们的跳线连接到它)并且它使用input-pulldown选项将引脚设置为下拉输入。

该“sync”:true参数告诉我们的 Notecard立即将任何状态更改传达给我们的 Notehub 项目。

最后,该“file”:“power-outage.qo”参数提供了一种在 Notehub 中识别/命名这些状态更改事件的简单方法。

测试

假设我们的硬件已插入并以正确的方式连接,并且我们的 Notecard 与 Notehub 成功通信,我们已准备好测试断电!

只需从 Notecarrier-A 上拔下 micro USB 电缆即可。LiPo 电池将立即成为 Notecard 的活动电源,并且将记录状态更改。AUX1您可能会注意到 Notecard 的绿色 LED 亮起,让您知道它正在与云通信并向 Notehub 发送便笺:

poYBAGKgYmiAJeYeAAB1mj8Q9_E202.png

这很棒!在提供的 JSON 中,我们看到阵列中的 AUX1 引脚状态为“低”,这意味着 USB 电源已丢失:

{“state”:[{“low”:true},{},{},{}]}

我们还可以重新插入 Notecarrier以查看恢复电源时状态更改事件的样子:

{“power”:true,“state”:[{“high”:true},{},{},{}]}

看到这个停电数据显示在 Notehub 中,虽然很好,但并不能真正帮助我们采取任何行动。

我们的下一步是设置 SMS 消息,以便在停电几秒钟内收到一条短信。这是通过Notehub的路由功能实现的。

启用短信功能

Notehub 路由让您可以将数据路由到任何第三方云服务。这可能是 AWS、Azure 或 Google Cloud 等大型云,也可能是 Datacake、Ubidots、Adafruit.io 或 Losant 等物联网平台。它甚至可以是 MQTT 服务或通用 RESTful HTTP/S 服务,就像 Twilio 提供的消息端点一样:

https://api.twilio.com/2010-04-01/Accounts/[twilio_account_sid]/Messages.json

请按照 Blues Wireless 提供的广泛的 Twilio SMS 路由指南来启用对 Twilio 的消息传递 API 的访问。

正如您在该指南中看到的,我们可以对 Notehub 路由进行一些小的自定义,以更改发送的 SMS 消息。

首先,让我们确保仅在将这些事件发送到 Notehub时才收到通知。为此,请确保在配置 Notehub 路由时提供的字段中输入:power-outage.qopower-outage.qo

pYYBAGKgYmOAbkpJAADvW7NqBpE753.png

其次, Notehub允许您使用JSONata 动态转换JSON。上面的 Twilio 指南中对此进行了概述,我将包含我使用的 JSONata 表达式:

“&Body=” & (body.state.low ? “Your power is out!

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

    关注

    1

    文章

    857

    浏览量

    47621
  • Wireless
    +关注

    关注

    0

    文章

    78

    浏览量

    19104
收藏 人收藏

    评论

    相关推荐

    交流线路断电检测器电路原理图

    由交流线路驱动的数字系统通常需要断电检测。快速交流线路断电检测允许在直流电源下降之前发出存储存储命令。下图中的电路通过在电源变压的整流次级两端连接光隔离
    的头像 发表于 12-07 18:12 1929次阅读
    交流线路<b class='flag-5'>断电检测器</b>电路原理图

    电压检测器的原理是什么?

    电压检测器适用于电池供电的各种电子设备。目前已广泛应用于微机复位电路、电子设备的通电复位电路、蓄电池充放电检测电路、存贮备用电池控制电路、断电检测电路和延时电路等。
    发表于 10-08 14:27

    在STM32线中实现的USB电池充电检测器是否可以与USB Type-C连接一起正常工作

    我想知道在 STM32 线中实现的 USB 电池充电检测器是否可以与仅使用 USB 2.0 线的 USB Type-C 连接一起正常工作。求大神解答
    发表于 12-02 10:19

    简易漏电检测器

    简易漏电检测器
    发表于 12-19 20:31 1094次阅读
    简易漏<b class='flag-5'>电检测器</b>

    电检测器电路图

    电检测器电路图 由CD4011和三极管9013组成,测试非常方便。
    发表于 12-20 20:44 1146次阅读
    光<b class='flag-5'>电检测器</b>电路图

    电源掉电检测器电路图

    电源掉电检测器电路图
    发表于 04-09 09:17 1932次阅读
    电源掉<b class='flag-5'>电检测器</b>电路图

    调光光电检测器电路图

    调光光电检测器电路图
    发表于 04-20 11:19 1063次阅读
    调光光<b class='flag-5'>电检测器</b>电路图

    断电器故障检测器电路图

    断电器故障检测器电路图
    发表于 06-30 13:31 817次阅读
    <b class='flag-5'>断电</b>器故障<b class='flag-5'>检测器</b>电路图

    如何用自制光电检测器判断光电元件的质量

    如何用自制光电检测器判断光电元件的质量 判断光电二极管好坏的另一个方法是自制一个光电检测器。电路见图。光电二极管虽然
    发表于 08-03 16:21 1074次阅读
    如何用自制光<b class='flag-5'>电检测器</b>判断光电元件的质量

    电检测器及光子学基础部件的资料说明

    本文档的主要内容详细介绍的是光电检测器及光子学基础部件的资料说明主要内容包括了:1.光电检测器的性能参数,2.光电检测器种类,3.多通道探测—自学,4.光学基本元件,5.光学基础部件
    发表于 01-18 08:00 0次下载
    光<b class='flag-5'>电检测器</b>及光子学基础部件的资料说明

    电场与漏电检测器电路原理图免费下载

    本文档的主要内容详细介绍的是电场与漏电检测器电路原理图免费下载。
    发表于 03-19 16:07 24次下载
    电场与漏<b class='flag-5'>电检测器</b>电路原理图免费下载

    Arduino Uno掉电检测器和记录

    电子发烧友网站提供《Arduino Uno掉电检测器和记录.zip》资料免费下载
    发表于 11-15 14:33 0次下载
    Arduino Uno掉<b class='flag-5'>电检测器</b>和记录<b class='flag-5'>器</b>

    带有Blues Wireless的蜂窝ROB

    电子发烧友网站提供《带有Blues Wireless的蜂窝ROB.zip》资料免费下载
    发表于 11-15 14:24 0次下载
    带有<b class='flag-5'>Blues</b> <b class='flag-5'>Wireless</b>的蜂窝ROB

    使用Blues Wireless和Qubitro的物联网天气数据记录

    电子发烧友网站提供《使用Blues Wireless和Qubitro的物联网天气数据记录.zip》资料免费下载
    发表于 02-06 14:21 0次下载
    使用<b class='flag-5'>Blues</b> <b class='flag-5'>Wireless</b>和Qubitro的物联网天气数据记录<b class='flag-5'>器</b>

    使用Blues Wireless将BLE传感数据路由到云端

    电子发烧友网站提供《使用Blues Wireless将BLE传感数据路由到云端.zip》资料免费下载
    发表于 06-14 11:53 0次下载
    使用<b class='flag-5'>Blues</b> <b class='flag-5'>Wireless</b>将BLE传感<b class='flag-5'>器</b>数据路由到云端