你是否曾经想过开发一个能够监控和控制物联网设备的应用程序?或者你正在寻找一个方便易用的工具来实现这一目标?那么,Node-RED 可能是你需要的答案。Node-RED 是一个流程编排工具,可以协调连接不同的系统和服务,并提供一个易于使用的编程接口。而在 Node-RED 上运行的 npm 包 node-red-contrib-wirelesstag,则可以方便地实现对 WirelessTag 物联网设备的连接和控制。下面是一个详细的使用教程,帮助你快速上手实现这一目标。
安装 Node-RED
首先,你需要安装 Node.js 和 Node-RED。如果你还没有安装 Node.js,可以在官网 https://nodejs.org/ 下载安装。
安装完成 Node.js 后,你可以使用 npm 命令来安装 Node-RED:
npm install -g --unsafe-perm node-red
注意:由于 Node-RED 在运行中会创建和访问系统文件和端口,你需要管理员权限才能安装和使用它。如果你在 Linux 或 macOS 上安装 Node-RED,可以使用 sudo
命令获取管理员权限。
安装完成 Node-RED 后,你可以在终端中输入 node-red
命令启动它。然后,在浏览器中输入 http://localhost:1880
,就可以访问 Node-RED 的管理界面了。
安装 node-red-contrib-wirelesstag
Node-RED 的功能可以通过 npm 包来扩展,而 node-red-contrib-wirelesstag 就是其中之一。你可以使用 npm 命令来安装它:
cd ~/.node-red npm install node-red-contrib-wirelesstag
其中,~/.node-red
是 Node-RED 的工作目录,如果你没有设置过,可以使用默认路径。安装完成后,你需要重启 Node-RED 才能使插件生效。
连接 WirelessTag
连接 WirelessTag 设备需要先在官网注册账号,并添加设备。在管理界面中获取到自己设备的 UUID 和 Token,然后打开 Node-RED 管理界面,在左侧工具栏中找到 WirelessTag 节点,将它拖动到画布上,并双击打开它的配置界面。
在配置界面中,你需要填写设备的 UUID 和 Token,然后点击「添加」按钮保存。如果配置成功,你应该可以看到节点的输出端口上会开始输出 WirelessTag 设备的数据。如果配置失败,可以查看节点的日志信息寻找原因。
获取 WirelessTag 数据
WirelessTag 设备可以检测温度、湿度、光线、加速度等多种指标,并通过节点的输出端口输出数据,可以方便地处理和可视化。
下面是一个获取 WirelessTag 温度数据并显示的例子:
[{"id":"4027288b.d27144","type":"wirelesstag","z":"dafd8e21.8291c","name":"myTag","tagid":"8a2fa1c5-5507-4e0a-8f85-707e1919f059","interval":"10","x":410,"y":100,"wires":[["c05ae5dd.4925f"]]},{"id":"c05ae5dd.4925f","type":"function","z":"dafd8e21.8291c","name":"getTemperature","func":"var temperature = msg.payload[0].temperature;\nmsg.payload = temperature + \" °C\";\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":100,"wires":[["c9b44743.ce6bf8"]]},{"id":"c9b44743.ce6bf8","type":"debug","z":"dafd8e21.8291c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":100,"wires":[]}]
在这个例子中,我们引入了两个节点:WirelessTag 节点和 Debug 节点。前者用于从 WirelessTag 获取数据,后者用于显示数据。在实际开发中,你可以将 Debug 节点替换成其他你喜欢的节点,比如 Dashboard 节点或者 Chart 节点。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005738d81e8991b448e97fb