Skip to main content

通过 Node-RED 将 SenseCAP 连接到 Twilio

SenseCAP K1100 - 传感器原型套件 是 Seeed Studio 集中 LoRa® 通信技术和边缘智能产品精华的代表,旨在让 LoRa® 和物联网应用的部署和掌握变得最简单。

pir

可升级为工业传感器

通过 SenseCAP S2110 控制器S2100 数据记录仪,您可以轻松将 Grove 转换为 LoRaWAN® 传感器。Seeed 不仅帮助您进行原型设计,还为您提供了通过 SenseCAP 系列坚固的工业传感器扩展项目的可能性。

IP66 外壳、蓝牙配置、与全球 LoRaWAN® 网络的兼容性、内置 19 Ah 电池以及来自 APP 的强大支持,使得 SenseCAP S210x 成为工业应用的最佳选择。该系列包括土壤湿度、空气温湿度、光强、CO2、电导率以及 8 合 1 气象站的传感器。尝试最新的 SenseCAP S210x,为您的下一个工业项目取得成功。

SenseCAP 工业传感器
S2100
数据记录仪
S2101
空气温湿度
S2102
光强
S2103
空气温湿度 & CO2
S2104
土壤湿度 & 温度
S2105
土壤湿度 & 温度 & 电导率
S2110
LoRaWAN® 控制器
S2120
8 合 1 气象站

Twilio

Twilio 是一个客户互动平台,全球有数十万企业和超过一千万开发者使用它来为客户构建独特且个性化的体验。

Twilio 以通过 API 民主化语音、文本、聊天、视频和电子邮件等渠道而闻名,使每个组织都能轻松地在客户偏好的渠道上建立有意义的互动。

pir

本节将使用 SenseCAP K1100 套件以及 SenseCAP 控制台和 Node-RED 来完成在特定条件下触发 Twilio 消息推送的任务。

如果您尚未安装或不了解 Node-RED,请参考 Node-RED & SenseCAP 教程

创建 MQTT 节点

步骤 1. 启动 Node-RED

通过在终端中输入命令 node-red 启动 Node-RED,然后打开浏览器并在地址栏中输入 http://localhost:1880 来访问 Node-RED 的编辑器。

步骤 2. 创建 MQTT 节点

我们使用 Network -> mqtt in 节点,并按照 之前的教程 中的要求,以 SenseCAP API 的格式配置 mqtt。

  • 服务器:openstream.api.sensecap.seeed.cc

  • 端口:1883

  • 协议:MQTT V3.1.1

  • 客户端 ID:格式为 org-<Organization ID>-<Random ID>

    • <Organization ID> 您的组织 ID。我们已在 获取 SenseCAP API 中获得。
    • <Random ID> 使用您自己随机生成的数字或小写字母。
  • 主题格式:/device_sensor_data/<OrgID>/<DeviceEUI>/<Channel>/<Reserved>/<MeasurementID>

OrgID您的组织 ID。我们已在获取 SenseCAP API 中获得。
DevEUI传感器设备的唯一标识。此信息可以在 Grove - Wio E5 背面的贴纸上找到,也可以在 SenseCAP 控制台设备中找到。
Channel设备上连接传感器的物理接口。对于 K1100 套件,此处的默认值为 1。
Reserved保留字段。
MeasurementID测量值 ID。此 ID 可以在 SenseCAP 文档 的测量值 ID 部分中找到。

步骤 3. 验证 MQTT 节点

配置完成后,请点击右上角的 Deploy 按钮以检查配置是否成功。如果填写正确,则会显示 Connected 字样。

配置 Twilio

步骤 1. 注册或登录 Twilio

如果您已经注册了 Twilio,请在 Twilio 网站 上登录。

如果您尚未使用或注册 Twilio,请完成注册并在 此处 登录。

步骤 2. 获取必要信息

我们可以尝试使用一个免费的服务,将短信发送到我们在注册时验证的手机号码。

在主界面上点击 Get a trial phone number

Twilio 将自动为您生成一个 Twilio 电话号码。

在主界面底部的 Account Info 下,您将找到我们需要用来建立与 Twilio 连接的信息。

请记下 Account SIDAuth TokenMy Twilio phone number,我们稍后将在 Node-RED 中使用这些信息。

配置 Node-RED

步骤 1. 下载 Twilio 插件

点击右上角菜单栏并选择设置。

Paletts -> Install 中搜索并安装 node-red-node-twilio

从左侧的存储栏中添加 twilio out,双击它进入配置页面,然后点击编辑按钮以编辑 twilio out 节点。

步骤 2. 编辑 twilio out 节点

请在相应字段中填写我们在之前配置 Twilio 时获取的信息。然后点击右上角的添加按钮。

接着,请填写您在 Twilio 注册时验证的手机号码。

note

请注意,您需要在此处填写的手机号码前添加前缀 "+ 国家代码"。

步骤 3. 配置功能节点

短信的内容可以在功能块中定义,触发条件可以是 PaaS 平台报告的数据触发某些规则,这些都可以在功能构建块中自定义。

从左侧的功能栏中拖出功能节点,双击它进入编辑页面,然后将代码复制到 On Message 中。

例如,在本节中,当接收到传感器值时,将传感器值发送到手机,代码可以这样编写:

var payload = msg.payload;
var topic = msg.topic;
var strs = topic.split("/");
var length = strs.length
if (length >= 2) {
var measurementId = strs[length - 1]
var value = payload.value
if (measurementId == 4100) {
msg.payload = "CO2:" + value
} else if (measurementId == 4103) {
msg.payload = "soilmoisture:" + value
} else if (measurementId == 4150) {
msg.payload = "accelX:" + value
} else if (measurementId == 4151) {
msg.payload = "accelY:" + value
} else if (measurementId == 4152) {
msg.payload = "accelZ:" + value
} else if (measurementId == 4192) {
msg.payload = "sound:" + value
} else if (measurementId == 4193) {
msg.payload = "light:" + value
} else if (measurementId == 4195) {
msg.payload = "tvoc:" + value
} else if (measurementId == 4097) {
msg.payload = "temperature:" + value
} else if (measurementId == 4098) {
msg.payload = "humidity:" + value
} else if (measurementId == 4175) {
msg.payload = "AIdetection_1:" + value
} else if (measurementId == 4176) {
msg.payload = "AIdetection_2:" + value
} else if (measurementId == 4177) {
msg.payload = "AIdetection_3:" + value
} else if (measurementId == 4178) {
msg.payload = "AIdetection_4:" + value
} else if (measurementId == 4179) {
msg.payload = "AIdetection_5:" + value
} else if (measurementId == 4180) {
msg.payload = "AIdetection_6:" + value
} else if (measurementId == 4181) {
msg.payload = "AIdetection_7:" + value
} else if (measurementId == 4182) {
msg.payload = "AIdetection_8:" + value
} else if (measurementId == 4183) {
msg.payload = "AIdetection_9:" + value
} else if (measurementId == 4184) {
msg.payload = "AIdetection_10:" + value
}
}
return msg;
note

请注意您的账户余额,上述代码将每五分钟发送一次不同的传感器短信。如果直接使用上述代码,可能会快速耗尽您的余额!我们建议针对特定传感器进行编程,而不是每次发送所有传感器值。

步骤 4. 部署

然后我们连接所有节点并点击 Deploy 按钮,如果一切设置正确,您将能够看到 mqtt in 节点显示已连接。

如果您想查看数据的日志信息,可以在功能节点后添加一个调试节点。

一旦 Wio Terminal 开始启动并正常工作,并开始向 SenseCAP PaaS 服务器发送数据,我们就可以在 Node-RED 的调试日志中查看数据。

如果一切正常,您还会收到来自 Twilio 的短信,其中包含传感器的数据值。

故障排查

问题1:为什么我在 Node-RED 中找不到 Palette(调色板)?

答:如果您在设置中找不到 Palette,请检查启动 Node-RED 时终端是否有错误信息。

最常见的情况是您的 npm 版本过旧,无法启动 Palette 编辑器。

如果您的情况如上所述,请以管理员身份运行 Powershell,并输入以下命令来升级 npm。

npm install -g npm

然后重新启动 Node-RED 即可。

技术支持与产品讨论

感谢您选择我们的产品!我们为您提供多种支持渠道,以确保您使用我们的产品时体验顺畅。我们提供多种沟通方式,以满足不同的偏好和需求。

Loading Comments...