物联网模块安装#
物联网模块需要执行本文档中描述的安装后步骤。
包存储库#
如系统要求中所述,物联网模块需要一个包代码库来存储所有二进制文件和相应版本。
目前,支持两种类型的代码库(NPM和Directory),每种代码库都有其自己的优点和缺点。
| 类型 | 优点 | 缺点 |
|---|---|---|
| NPM | 通过角色进行身份验证 基于Web服务器 明确定义的API 提供商业解决方案及支持 | 必须安装/配置/维护服务器 商业解决方案/支持不是免费的 可能需要互联网连接 更新包时需要取消发布 + 发布(开发 + 修补程序) |
| 目录 | 免费 易于准备 易于检索/更改包 不需要互联网/端口 | 必须在所有物联网计算机中可用(挂载) 基于ACL的身份验证 任何具有权限的人都可以简单地删除所有内容 |
Table: 包代码库类型
部署物联网模块包#
包选择#
运行安装向导并从下拉菜单中选择Cmf.ConnectIoT.Packages包,然后单击下一步按钮。
如果您有任何先前导出的配置文件,则可以导入该文件。即便是这种情况,仍然继续下一步。
物联网模块配置#
在NPM服务器代码库部分中,按照下面的描述填写字段:
- 是否已启用 - 包是否应发布到NPM代码库
- 地址 - 服务器(必须支持NPM API)的完整地址(包括端口)
- 标记 - 用于标记包的标记
- 注册表用户 - 具有发布权限的用户名
- 注册表用户密码 - 上一个字段中指定的用户的密码
- 注册表用户电子邮件 - 与将发布包的用户关联的电子邮件
在目录代码库下,定义以下选项:
- 是否已启用 - 包是否应发布到目录代码库
- 位置 - 目录的完整路径(如果目录不存在,将创建目录)
下一节与MES配置有关:
MES配置#
定义MES系统的配置:
- 租户名称 - 用于连接到MES系统的租户名称
- 主机名或IP地址 - 安装MES系统的地址
- 端口 - MES系统的端口地址
- 使用SSL - 是否使用SSL
在用户帐户下,填写将访问系统的用户的详细信息:
- 用户帐户 - 用于访问MES系统的用户帐户
- 用户密码 - 用于访问MES系统的用户密码
安全门户#
定义与通过安全门户进行身份验证和授权相关的设置:
- 启用安全门户 – 指定是否在此安装中启用安全门户。
- 安全门户客户端ID – 指定用于访问安全门户的客户端ID。
- 地址 – 指定可访问安全门户网站的主机名。
- 端口 – 指定可访问安全门户网站的端口。
- 安全访问令牌 – 指定此实例的访问令牌。
Warning
如果启用了安全门户,则必须将上面定义的用户设置为集成用户。
按下一步继续安装过程。
物联网模块代码库设置#
在代码库设置中定义是否配置该代码库以及要使用的代码库类型:
- Npm
- 目录
在临时文件下,选择是否应移除临时文件。
按下一步继续安装过程。
物联网模块管理器配置#
在管理器选择中,插入自动化管理器ID(每行一个条目)。还需定义将在其中运行管理器的基本目录。
最后,定义是否应将管理器作为服务安装。
在下面的自动化管理器用户设置中,定义用于运行自动化管理器的用户凭据(用户名和密码)。
按下一步查看安装摘要,并继续安装过程直至结束。
手动部署包#
有时,需要手动部署包(即自定义包),因此务必了解如何完成此任务。
目录代码库#
部署一个包甚至一组包的过程相当简单:
- 将文件复制到用作目录代码库的目录中(即上一节的安装步骤中使用的目录)
- 执行安装期间创建的
.rebuildDatabase.ps1PowerShell脚本
- 现在将使用所有可用包更新数据库
- 注意:简而言之,该脚本会完全更新目录的内容,因此您可以删除/添加/更新包并运行该脚本。
NPM代码库#
如果NPM服务器配置了用于发布的身份验证角色,请确保先登录:
然后,对要发布的每个包,运行以下命令:
安装自动化管理器#
从7.2版开始,您可以从Automation Manager实体页面下载一个完全准备就绪且可供使用的zip压缩文件,因此,安装自动化管理器的过程将非常简单。
使用相应的向导下载该文件后,便可简单地将所有内容解压到目标目录中。
最后一步是将该自动化模块安装为Windows服务。对于此功能,请以管理员身份(创建Windows服务要求具有管理员权限)执行位于scripts\InstallService.ps1中的PowerShell脚本,并回答相关问题。
Info
如需正确安装自动化管理器,必须具有.Net Framework 3.5或更高版本。
问题排查#
“无法验证第一个证书”#
“无法获取本地颁发者证书”#
当您遇到上述任何错误时,这意味着您正在连接到启用SSL的主机,而且很可能服务器证书是由非信任证书颁发机构颁发的。
如需解决此问题,您需要创建一个文本文件,其中包含允许验证服务器证书所需的整个证书链(采用.pem格式)。
如果您只有.pfx格式的证书,则可以使用OpenSSL对其进行转换。
最终文件的结构应如下所示:
-----BEGIN CERTIFICATE-----
bGUgQ28xEDAOBgNVBAsMB3RlY2hvcHMxCzAJBgNVBAMMAmNhMSAwHgYJKoZIhvcN
AQkBFhFjZXJ0c0BleGFtcGxlLmNvbTAeFw0xOTA1MTcxMDQ5NTRaFw00NjEwMDEx
...
oEGp4U7q1UGmGfmXKiT/gsxJB6bbD6kO1SVdE+706WLg1vN4cLj1jvIr00jhWt41
sJtjAyB64zRVeS5Ic7Vidv6UDMM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MDQ5NTRaMIGBMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTUExDzANBgNVBAcMBkJv
c3RvbjETMBEGA1UECgwKRXhhbXBsZSBDbzEQMA4GA1UECwwHdGVjaG9wczELMAkG
...
knyZpJnYVisd5NUVmjWNSlK/S6eA/Ka9LxFUhjRt0MMcXP91YHp6+rgsigZt5c3V
aBM3yGsn3YQnttUNp2dQwBgNpH9=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
BwmQEGpD6ECCjPXZLH38KLCpSLzzQEqz0tulvDtRIGlEPLsdlWMLnwbQPG/TJ2M5
Gpezb90Lqfi6POObEIO3/3dAewgn4xhW6aZHf6yWgtM7gdQIJpRXK2T8ZGWv1LMz
...
KAjgC4ttj4DlJfljq61DlegE/0BbAtqNiQ3er9NB/wor3ET5eOO/12Ly1eotiHd5
/rkm+ENnvbNWk4w+LzHXfejtSAh=
-----END CERTIFICATE-----
然后,将此文件的位置设置到NODE_EXTRA_CA_CERTS环境变量中
另一种方法是禁用证书完整性检查。这不会禁用安全性,但会将收到的证书按原样使用;而且,此选项只能在开发环境中使用。
注意:环境变量应定义为持久性宽定义。本节中介绍的命令是临时命令,仅在命令窗口会话期间有效。






