FlowForge中的设备

FlowForge平台除了可以创建多个Node-RED实例,还可以用来管理远程设备。只需要在设备上安装官方提供的工具包,它可以用来链接到平台,并接受平台的指令。

本篇文章就来介绍一下如何管理远程设备

安装设备代理工具包

官方提供的设备代理工具包是一个公开的npm仓库,@flowforge/flowforge-device-agent

为了方便使用,你可以将它全局安装在远程设备上。
安装命令

sudo npm install -g @flowforge/flowforge-device-agent

如果你想要使用Docker容器,而不是一个npm包,那么在运行容器是,需要挂载device.yaml文件,以此可以存取注册的设备数据。
使用Docker来安装设备代理工具的命令如下

docker run --mount /path/to/device.yml:/opt/flowforge/device.yaml -p 1880:1880 flowforge/device-agent:latest

配置

工作目录

设备代理工具默认的工作目录是/opt/flowforge-device.
如果你想要覆盖它可以使用-d/--dir参数来覆盖。

注意,指定的目录必须存在,并且对当前用户有权限运行代理工具。

创建工作目录的命令和赋权限的命令。

sudo mkdir /opt/flowforge-device
sudo chown -R $USER /opt/flowforge-device

监听端口

Node-RED 实例默认是使用1880端口,在代理设备工具中你可以修改这一配置,通过使用参数-p/--port来指定一个端口号。这对于自定义防火墙规则很有用,当一个设备上有很多实例时也很有用。

指定端口的命令

flowforge-device-agent --port=1881

注册设备

为了让一个设备链接到FF平台,你需要为设备设置一个证书。
在FF平台有两种类型的整数

  • 设备证书,用于单个设备链接到平台
  • 预配证书,用于设置一个或多个设备批量注册到FF平台。

设备证书可以在设备管理页面进行生成。
预配证书可以在团队的设置页面,设备Tab下生成。

连接设备

使用设备证书来链接FF平台,需要将设备证书的内容拷贝到device.yml中,该文件一般是存放在/opt/flowforge-device
然后运行以下命令

flowforge-device-agent

然后你就可以看到设备已经链接到FF平台啦。

如果你使用的是预配证书,那么你也需要将预配证书复制到device.yml文件中。然后运行和上面相同的指令。
预配证书使用过后,就不能再使用啦,将被新的设备证书覆盖。

在无法访问 npmjs.org 的情况下运行

默认情况下,设备代理将尝试下载正确版本的 Node-RED 和 运行分配在设备上运行的项目快照所需的任何节点。

如果设备在脱机网络上运行,或者安全策略阻止 设备代理从连接到 npmjs.org 然后可以配置为使用预缓存 模块集。

你可以通过添加到添加到文件的命令行来启用此模式。这将导致设备代理从设备代理配置目录中的目录加载模块,如上所述。 默认情况下,这将为 。-mmoduleCache: truedevice.ymlmodule_cache/opt/flowforge-device/module_cache

创建模块缓存

要创建合适的模块缓存,您需要在本地设备上安装 访问 npmjs.org,确保您使用与目标相同的操作系统和架构 设备,然后将模块复制到设备上。

在“项目快照”页面中,选择要部署的快照,然后选择下载其文件的选项。package.json

将此文件放在本地设备上的空目录中。

运行npm install安装模块。这将创建一个目录。node_modules

在目标设备上,创建在设备代理配置目录中调用的目录。module_cache

将目录从本地设备复制到目标设备,使其位于该目录下。node_modulesmodule_cache

相关新闻

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

cloud@modbus.cn

QQ
微信