华为云用户手册

  • 示例流程 图1 给用户授权NAT网关权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予NAT网关服务权限“NAT ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1.创建用户组并授权中创建的用户组。 用户登录并验证权限。 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择NAT网关,进入NAT网关主界面,单击右上角“购买NAT网关”,如果无法购买NAT网关(假设当前权限仅包含NAT ReadOnlyAccess),表示“NAT ReadOnlyAccess”已生效。 在“服务列表”中选择除NAT网关外(假设当前策略仅包含NAT ReadOnlyAccess)的任一服务,若提示权限不足,表示“NAT ReadOnlyAccess”已生效。
  • 策略样例 示例1:授权用户创建和删除NAT网关 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "nat:natGateways:create", "nat:natGateways:delete" ] } ]} 示例2:拒绝用户删除NAT网关 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。 如果您给用户授予NAT FullAccess的系统策略,但不希望用户拥有NAT FullAccess中定义的删除NAT网关权限,您可以创建一条拒绝删除NAT网关的策略,然后同时将NAT FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对NAT网关执行除了删除NAT网关外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Action": [ "nat:natGateways:delete" ], "Effect": "Deny" } ] } 示例3:多个授权项策略 一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下: { "Version": "1.1", "Statement": [ { "Action": [ "nat:natGateways:update", "nat:natGateways:create" ], "Effect": "Allow" }, { "Action": [ "vpc:vpcs:update" ], "Effect": "Allow" } ]}
  • 产品优势 简规划 企业从线下IDC迁移部分业务上云后,希望保持原先企业内部网络通信方式,私网NAT可将业务VPC下云主机的IP转换为中转VPC下的中转IP,并与远端IDC或其他VPC进行三层通信,助力企业业务零改造、简化网络规划。 零冲突 利用两个 私网NAT网关 ,可将两重叠网段的VPC进行地址转换,实现两个VPC下的云主机互访,解决网段重叠互访问题。 高安全 私网NAT网关提供私网IP地址映射为满足企业安全规范的IP地址,接入指定部门,提升安全性。
  • 应用场景 重叠网段VPC间互通 私网NAT网关提供私网地址转换服务,利用两个私网NAT网关,配置SNAT、DNAT规则,可同时将源、目的网段地址转换为中转IP,通过使用中转IP实现两VPC间互通。私网NAT网关解决了两个重叠网段虚拟私有云中的云主机互相访问的问题。 如下图所示,创建一个中转VPC,然后使用两个私网NAT网关将VPC A中IP地址为192.168.0.1的弹性云服务器地址转化为10.0.0.11、将VPC B中IP地址为192.168.0.1的弹性云服务器地址转化为10.0.0.22,通过转化后的IP地址相互访问。 图2 重叠网段VPC间互通 企业网络上云及指定IP接入 大企业等机构上云,希望迁移上云保持组网不变,使用私网NAT网关无需对网络做任何更改即可保持原有方式互通。同时,行业监管部门要求指定地址接入,使用私网NAT网关将各部门的IP地址映射为指定地址接入行业监管部门,满足企业安全规范。 如下图所示,企业部门间存在网段重叠,使用私网NAT网关,实现企业各部门迁移上云后组网不变,部门间保持原有方式互通,简化了IDC上云的网络规划;使用私网NAT网关,配置SNAT规则,将各部门的IP地址映射为符合要求的10.0.0.33地址接入行业监管部门,提升企业的安全性。 图3 企业网络上云及指定IP接入
  • 公网NAT网关与私网NAT网关对比 公网NAT网关通过配置SNAT规则将私有IP映射为弹性公网IP,实现VPC内的云主机通过共享弹性公网IP访问互联网;配置DNAT规则共享弹性公网IP为公网提供服务。 私网NAT网关通过配置SNAT规则将私有IP映射为中转IP,实现VPC内的云主机访问私网中的用户数据中心或其他VPC;配置DNAT规则共享中转IP为私网提供服务。 表1概括了公网NAT网关和私网NAT网关间的差异: 表1 公网NAT网关与私网NAT网关对比 功能项 公网NAT网关 私网NAT网关 功能 私网和公网间互通 私网和私网间互通 SNAT功能 访问公网 访问私网中的IDC或其他VPC DNAT功能 为公网提供服务 为私网中的IDC或其他VPC提供服务 互通媒介 弹性公网IP 中转IP
  • 什么是私网NAT网关? 私网NAT网关(Private NAT Gateway),能够为虚拟私有云内的云主机(弹性云服务器、裸金属服务器)提供私网地址转换服务。您可以在私网NAT网关上配置SNAT、DNAT规则,可将源、目的网段地址转换为中转IP,通过使用中转IP实现VPC内的云主机与其他VPC、云下IDC互访。 私网NAT网关分为SNAT和DNAT两个功能: SNAT功能通过绑定中转IP,可实现VPC内跨可用区的多个云主机共享中转IP,访问外部数据中心或其他VPC。 DNAT功能通过绑定中转IP,可实现IP映射或端口映射,使VPC内跨可用区的多个云主机共享中转IP,为外部私网提供服务。 中转子网 中转子网相当于一个中转网络,您可以在中转子网中创建私网IP,即中转IP,使本端VPC中的云主机可以共享该中转IP访问用户IDC或其他远端VPC。 中转VPC 中转子网所在VPC。 图1 私网NAT网关 如图1所示: 重叠网段的VPC互访 两个本端VPC网段重叠,使用两个私网NAT网关,配置SNAT、DNAT规则,将本端VPC私网地址转换为中转IP地址,实现两个本端VPC中云主机利用中转IP互访,解决了VPC间网段重叠互访的问题。 指定IP接入远端私网 访问远端私网中的用户数据中心(IDC)和VPC被要求指定IP地址接入,远端私网中的IDC通过云专线/VPN接入中转VPC,远端私网中的VPC通过对等连接接入中转VPC。本端VPC1使用私网NAT网关,配置SNAT规则,将本端VPC私网地址转换为指定IP地址,实现本端VPC1中的云主机以指定IP地址接入远端私网。 私网NAT网关目前在“华东-上海二”、“中国-香港”、“拉美-圣保罗一”、“非洲-约翰内斯堡”、“拉美-墨西哥城一”限时免费。 私网NAT网关目前在“华南-广州-友好用户环境”、“华南-广州”、“华东-上海一”、“华北-北京四”、“华北-乌兰察布一”、“亚太-曼谷”、“亚太-新加坡”、“西南-贵阳一”已开始计费。
  • 支持审计的关键操作列表 通过 云审计 服务,您可以记录与NAT网关相关的操作事件,便于日后的查询、审计和回溯。 云审计支持的公网NAT网关操作事件列表如表1所示。 云审计支持的私网NAT网关操作事件列表如表2所示。 表1 云审计服务支持的公网NAT网关操作列表 操作名称 资源类型 事件名称 创建公网NAT网关 natgateway createNatGateway 修改公网NAT网关 natgateway updateNatGateway 删除公网NAT网关 natgateway deleteNatGateway 创建公网NAT网关DNAT规则 dnatrule createDnatRule 修改公网NAT网关DNAT规则 dnatrule updateDnatRule 删除公网NAT网关DNAT规则 dnatrule deleteDnatRule 创建公网NAT网关SNAT规则 snatrule createSnatRule 修改公网NAT网关SNAT规则 snatrule updateSnatRule 删除公网NAT网关SNAT规则 snatrule deleteSnatRule 表2 云审计服务支持的私网NAT网关操作列表 操作名称 资源类型 事件名称 创建私网NAT网关 privateNat createPrivateNat 修改私网NAT网关 privateNat updatePrivateNat 删除私网NAT网关 privateNat deletePrivateNat 创建私网NAT网关DNAT规则 privateDnatRule createPrivateDnatRule 修改私网NAT网关DNAT规则 privateDnatRule updatePrivateDnatRule 删除私网NAT网关DNAT规则 privateDnatRule deletePrivateDnatRule 创建私网NAT网关SNAT规则 privateSnatRule createPrivateSnatRule 修改私网NAT网关SNAT规则 privateSnatRule updatePrivateSnatRule 删除私网NAT网关SNAT规则 privateSnatRule deletePrivateSnatRule 创建中转子网 transitSubnet createTransitSubnet 修改中转子网 transitSubnet updateTransitSubnet 删除中转子网 transitSubnet deleteTransitSubnet 创建中转IP transitIp createTransitIp 删除中转IP transitip deleteTransitIp 父主题: 审计
  • 操作场景 公网NAT网关创建后,如果您在使用过程中发现当前的公网NAT网关规格不能满足自己的需求,可以修改公网NAT网关规格、名称和描述。 提升公网NAT网关规格不影响业务;降低公网NAT网关规格取决于当前的业务量是否超过降档后规格的上限。 包年/包月的公网NAT网关不支持规格降级。 包年/包月的公网NAT网关转按需,需包年/包月资费模式到期后,按需的资费模式才会生效;按需的公网NAT网关可以随时转包年/包月。
  • 步骤1:注册设备 登录华为HiLens管理控制台,单击“专业版”,切换至专业版控制台。 单击左侧导航栏“设备管理”,进入“设备管理”页面。 单击注册设备,进入注册设备页面。 填写注册信息,单击右下角的“确认”。 基本信息 图3 基本信息 表1 注册设备基础信息 参数 说明 设备名称 设备注册时使用的名称,批量注册时使用该名称作为前缀。仅允许中文字符、英文字母、数字、下划线、中划线且长度不超过64。 描述 设备描述。不允许输入*~#等特殊字符且长度为0-255。 标签 设备标签。 单击“创建标签”,添加标签,在输入框中依次填写标签键和标签值。 只允许大小写字母、数字、下划线和中划线,不允许为空。标签键不允许重复,最大长度为36个字符,标签值最大长度为43个字符。 最多可添加20组标签。 单击,删除标签。 部署方式 当前仅支持注册“HiLens”类型设备。 设备类型 选择待注册的设备类型,包括“Atlas 500”、“Atlas 800”、“通用ARM设备”、“通用x86设备” 等设备类型。 本样例选择“Windows”。 高级设置 图4 高级设置 参数 说明 开启AI加速卡 AI加速卡开关,开启后AI加速卡类型当前仅支持“Nvidia GPU”。 批量注册 批量注册开关。如果开启,选择注册设备的数量。 输入值范围必须在1~100000。 IAM用户名 由帐号在IAM中创建的用户,如果没有IAM账户时,填写华为云帐号名。相关概念请参见IAM基本概念。 工作空间 选择设备注册的工作空间。默认帐号的默认工作空间,可自定义选择。 事件有效时间 若您在设备离线时进行操作,则操作将保留在待执行的事件列表中,待设备上线后执行。 日志设置 配置日志的“日志存储时间”、“日志等级”,设置“LTS日志上传”开关。 图5 应用日志 表2 注册设备日志设置 参数 说明 日志存储时间 日志存储时长,单位为天。输入值范围必须在1~30。 日志等级 选择日志等级,可选“Error(错误)”、“Warning(警告)”、“Info(信息)”、“Debug(调试)”。 本地日志设置 大小限制 对该注册设备的日志大小限制,默认为50MB,不可自定义。 日志滚动数量 每隔 {0} 天,对本地日志根据数量对日志进行一次日志滚动,删除最旧的日志文件。每个日志文件固定10M。 LTS 云日志 设置 日志上传 日志上传开关。系统日志与应用日志默认在本地存储,如果要上传至云日志服务(LTS),可开启“日志上传”开关。 开关开启后,选择日志等级,仅对应等级的日志上传至LTS。 填写完注册设备的基本信息,在“完成,下载固件”页面,单击操作列的“下载”,下载对应的固件和配置文件至本地。 图6 下载固件和证书文件 设备故障和离线状态时,可尝试重新下载证书并再次执行注册命令,设备激活状态、部署等信息不变。同一设备下,证书总共最多可下载10次。 解压上一步下载的“HiLens_Device_Agent”,得到可执行文件“hdad.exe”。 双击“hdad.exe”,保持窗口开启。 打开PC命令提示符窗口,执行如下命令注册设备: [固件文件夹路径]\hdad.exe hdactl bind -p [证书路径]\win10.tar.gz 注册命令示例如下: HiLens_Device_Agent\hdad.exe hdactl bind -p Device-20221031151022.tar.gz 在专业版管理控制台左侧菜单栏单击“设备管理”,默认设备列表展现所有设备,查看到您所注册的设备列表,且设备状态处于“运行中”状态,则说明您的设备成功注册。 图7 控制台查看设备
  • 准备工作 安装Git for Windows ModelBox中有些脚本的执行依赖bash,使用Git bash也可以让开发者在Windows上获得与Linux相同的执行环境,因此需要安装Git for Windows。 安装后打开Git bash,可以使用Linux命令执行某些操作。 安装Python3.8.10 ModelBox技能的开发运行需要Python3.8.10环境(目前Python版本必须为3.8.10,且无法使用Anaconda环境中的Python)。 安装Python第一步,需要勾选“将Python3.8加到环境变量PATH中”。 图1 安装Python 安装Visual Studio Code 与使用ModelBox的其他套件一样,推荐使用Visual Studio Code进行技能开发,请登录Visual Studio Code官网下载安装Windows x64版本的编辑器。 图2 安装Visual Studio Code
  • 准备工作 已注册华为云帐号,且在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。 已购买HiLens Kit设备,并准备好网线,电脑,路由器,HDMI线,显示屏。 成功注册设备HiLens Kit设备至华为HiLens控制台,详情请参见注册HiLens Kit。 登录OBS服务,创建桶和文件夹,用于存放样例的模型数据。创建名称为“hilens-test1”OBS桶,创建名称为“face-detection”文件夹和名称为“face-detection-output”的文件夹。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证模型数据能正常访问,请务必保证创建的OBS桶与华为HiLens在同一区域。 占用OBS资源的操作均会收取一定费用,收费规则请参见 对象存储服务 OBS。
  • 步骤1:准备数据 华为HiLens在公共OBS桶中提供了人脸检测技能的示例模型,命名为“face_detection_model”,因此本文的操作示例使用此示例模型进行技能开发。您需要执行如下操作,将模型文件上传至您的OBS目录下,即准备工作中您创建的OBS目录“hilens-test1/face-detection”。 单击模型下载链接,将人脸检测案例示例模型“face_detection_model”下载至本地,在文件存放目录完成签名校验(Windows系统推荐使用Git工具),验证成功将返回OK。执行命令如下: echo ec5160c48f5ba6025dac696d7ff8b827f1902f6aa712b6969609cb5f290d149a face_detection_model.zip | sha256sum -c 在本地,将“face_detection_model”压缩包解压。例如解压至本地“face_detection_model”文件夹下,包括两个子文件夹“caffemodel+transfer”和“logic_code”。 参考上传文件,将“caffemodel+transfer”文件夹下的3个文件上传至“hilens-test1/face-detection”OBS路径下,包含caffe模型文件“.caffemodel”和“.prototxt”和配置文件“.cfg”。
  • 环境要求 安装边缘节点的服务器需要与设备在同一网域,因此您可以 局域网:使用两台电脑(一台Windows,一台Linux),或者在一台Windows电脑上使用虚拟化软件安装Linux(网卡需要设置为桥接模式)。 公网:分别使用两台拥有公网的Window和Linux电脑,推荐购买两台E CS 服务器。 其他要求: 安装边缘节点的电脑需为Linux,推荐使用CentOS 7(不推荐CentOS 8,因CentOS 8缺少边缘软件依赖组件)。 安装边缘节点的电脑需要安装docker且内存不小于1G,docker要求版本大于17.06.0,推荐18.06.3,不推荐18.09.0(该版本有多处bug)。 开放7883端口。
  • 坏点 报错信息: 单击采集时数据大部分点位正常采集,但个别点位报错为Exception Code(结合各厂家自己定义的报错方式与协议Exception Code分析),优先考虑出现坏点导致采集失败。 排查位置: 参考告警接收到的报错信息,或驱动日志里的metadata信息,找到对应的点组。挨个单击采集,直到找出上报信息为Exception Code的点位,即为坏点。 正确格式: 可通过修改坏点所在的从站配置中的有效地址范围缩小采集范围,避开坏点进行周期采集让业务正常运行后排查设备故障点位并修复。 父主题: 点位采集失败
  • 安装MQTT设备模拟器 访问MQTT.fx下载页面,下载并安装最新版本的MQTT.fx工具。 MQTT.fx 1.7.0及旧版本对带有$的主题(Topic)处理存在问题,请使用最新版本进行测试。 在设备对接边缘节点场景中,需要在设备侧集成相应证书。 证书类型,证书格式,以及用途详见下表。 证书名称 证书类型 证书格式 说明 下载 plt-device-ca 设备侧证书 pem 用于设备校验边缘节点的身份。 证书文件 父主题: 前提条件
  • 上传容器应用镜像到SWR 应用镜像需集成边缘SDK,根据需要可分别基于ItClient/OAClient/DriverClient进行开发。此处仅演示部署步骤,故可直接拉取一个现有的可公开拉取到的镜像。 登录边缘节点硬件(例如步骤2.1购买的ECS),执行拉取镜像的命令: //1.拉取镜像$ docker pull swr.cn-north-4.myhuaweicloud.com/huawei-iot-edge/edgerule:1.1.0001.20200428202651.x86//2.查看拉取到的镜像$ docker images 访问 容器镜像服务 SWR,单击“立即使用”,进入容器 镜像服务 控制台。 单击右上角“创建组织”,创建容器镜像所属的组织。 组织名称:自定义,如iot_edge_test 单击右上角“登录指令”,复制在边缘节点硬件上连接容器镜像服务的临时指令。 登录边缘节点服务器后台系统,输入复制的登录指令并回车,提示“Login Succeeded”则表明该硬件已通过SWR云服务的鉴权认证,可进行上传/下载镜像。 上传docker镜像到SWR云服务 为本地镜像打标签,格式为docker tag [镜像名称:版本名称] [镜像仓库地址]/[组织名称]/[镜像名称:版本名称] $ docker tag swr.cn-north-4.myhuaweicloud.com/huawei-iot-edge/edgerule:1.1.0001.20200428202651.x86 swr.cn-north-4.myhuaweicloud.com/iot_edge_test/app:1.0.0 上传镜像到SWR,格式为docker push [镜像仓库地址]/[组织名称]/[镜像名称:版本名称] $ docker push swr.cn-north-4.myhuaweicloud.com/iot_edge_test/app:1.0.0 镜像名称/版本名称:swr.cn-north-4.myhuaweicloud.com/huawei-iot-edge/edgerule:1.1.0001.20200428202651.x86为用户自定义的容器应用镜像,本实验中使用一个公开的数据清洗镜像,即步骤1中拉取到ECS的镜像。 镜像仓库地址:本实验在北京四环境,则该地址为swr.cn-north-4.myhuaweicloud.com 组织名称:上述步骤4在SWR云服务上创建的组织名称,即iot_edge_test 镜像名称/版本:自定义,该名称即为上传到SWR存储时镜像的名称/版本 在SWR控制台选择“我的镜像”,可查看上传的 自定义镜像 app。 父主题: 前提条件
  • 查看配置结果 当完成模块配置后,可以在已部署的应用模块中确定对应的配置数据是否下发至边缘。 登录网关节点,并打开自定义应用日志,进行观察: 图1 影子数据 数据详情: { "properties": { "default_values": { "app_name": "user_app" }, "connect_info": { "endpoint": "127.0.0.1" }, "channels": [{ "device_id": "device_01", "test_data": "4dvuazeD4QCRW1Y3-PzWQzvm9OJStv36ZCtLcwPzDV8=" }, { "device_id": "device_02", "test_data": "nteYaqO1H1QEC8xrdL5JrRcL0LN0mXTVLfrfxl1IIKo=" }] }, "properties_update_time": { "default_values": 1681476843981, "connect_info": 1681476843981, "channels": 1681476843981 }} 其中test_data为加密数据,需要调用sdk接口进行解密。其余数据可直接使用。 父主题: 操作步骤
  • 点位数据类型与寄存器类型不匹配或点位未下发 报错信息: 排查位置: 根据报错信息,查看对应点位的数据类型与寄存器类型是否匹配,也可查看上一次下发配置时的metadata报错信息。 若数据类型与寄存器类型配置无误,且检查上次下发配置是报错信息无对应点位,可初步判断点位未下发。点位未下发时,单击下发配置后刷新,再次单击采集查看结果。 正确格式: 表1 参数 寄存类型 支持的数据类型 Coil_Status Bool Input_Status Bool Holding_Registers Short,Ushort,Int,Uint,Float,Long,Ulong,Double Input_Registers Short,Ushort,Int,Uint,Float,Long,Ulong,Double 父主题: 点位采集失败
  • 修改数据配置并下发,数据源配置未更新 修改数据源配置并下发后,驱动会接收到更新过的数据影子。在连接建立成功的前提下,若修改端点信息或组配置信息下发后修改项未生效,优先考虑配置错误的可能。 采集未避开坏点 现象描述:在出坏点问题后,通过主动采集的方式感知坏点地址并配置组配置信息内的对应寄存器有效地址后,坏点信息仍继续上报、相邻点无法成功上报数据。 排查方式:查看驱动日志可以看到Illegal Range limit config报错日志,也可以自行排查组配置处坏点所在从站寄存器有效地址范围是否按对应格式配置。 正确格式:地址为十六进制数,格式为“0x”+地址量。起始地址与结束地址以“-”(半角)连接,范围之间用“,”(半角)分隔。地址范围不可重复。 更新端点信息后驱动仍采集原ip地址 现象描述:更新端点信息后驱动仍采集原ip地址 排查方式:查看日志能看到Illegal EndPoint对应错误日志。 解决方法:按ip+端口号的格式配置端点信息。 父主题: 常见问题
  • 下写不可写寄存器 现象描述: 下写失败,如图报错couldn’t write for register type______。 问题排查: 排查报错对应点位配置,查看是否存在写不可以寄存器的行为。 正确格式: Modbus协议中的寄存器分为四种,Coil_Status与Holding_Registers为可读可写,Input_Status与Input_Registers为只读寄存器。应尽量避免对不可写寄存器进行写操作。 父主题: 点位下写失败
  • 操作步骤 下载安装指导。 安装依赖项openssl,下载路径https://www.openssl.org/source/old/1.1.1/,这里我们选择1.1.1g。 假设将下载文件放至"/home"目录下并解压,依次执行以下命令进行openssl的编译安装。 ./config no-asm -sharedmake –j4make install 下载nginx和nginx-http-flv-module。 安装指导以及下载链接:https://github.com/winshining/nginx-http-flv-module/blob/master/README.CN.md 上述的包均为源码,我们需要将nginx和nginx-http-flv-module一起编译,接下来进行编译。 将上述的压缩包分别解压到"/home"目录下。 使用以下命令进行编译。 ./configure --add-module=/home/nginx-http-flv-module-mastermake –j4make install 默认nginx安装在/usr/local/nginx 配置nginx。 配置文件为nginx.conf Nginx的配置目录为/usr/local/nginx/conf/ 可以使用下面的文件直接覆盖nginx.conf 上面两个配置分别表示rtmp服务器地址监听地址以及appname。 配置文件: #user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 8080; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }location /live {flv_live on; chunked_transfer_encoding on; #支持 'Transfer-Encoding: chunked' 方式回复 add_header 'Access-Control-Allow-Origin' '*'; #添加额外的 HTTP 头 add_header 'Access-Control-Allow-Credentials' 'true'; #添加额外的 HTTP 头 } location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header 'Cache-Control' 'no-cache'; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #}}rtmp { server { listen 1985; application edge_video{ live on;gop_cache on; }application hls {live on;hls on;hls_path /tmp/hls;} }} 运行nginx。 export LD_LIBRARY_PATH=/usr/local/lib64/:${LD_LIBRARY_PATH}cd /usr/local/nginx/sbin./nginx
  • 安装Modbus Slave模拟器 下载Modbus Slave模拟器。 安装完毕后,启动Modbus Slave模拟器 单击“Connection”添加连接信息,将连接方式设置为“Modbus TCP/IP”,添加ip地址与端口号。 添加新的slave配置页,并进行点位配置。 单击鼠标右键进入slave配置页面。 配置从站号,寄存器类型,起始地址,寄存器数量等信息。 打开“Modbus Slave” 连接。(ID代表从站号,F为Function代表寄存器类型) 单击鼠标右键,选择修改寄存器数据格式。(寄存器通过临接组合的方式表示复杂类型数据,协议为大端格式协议,寄存器内字节间与寄存器间顺序可交换。) 双击对应位置修改对应点位数据(可设置数据自动改变)。
  • 安装IEC104 Server Simulator模拟器 下载IEC104 Server Simulator模拟器。 安装完毕后,启动IEC104 Server Simulator模拟器 点击Add Server 添加server信息 修改server的ip地址和端口号(改为模拟器所在的设备的IP地址,确认该设备的端口正常开放)。 在模拟器上添加采集点的信息,信息添加完成后载入配置。 打开模拟器,右键对应的数据值进行数据更新
  • 上传进程包到OBS 进程包插件由用户/伙伴开发,需集成边缘SDK,根据需要可分别基于ItClient/OAClient/DriverClient进行开发。此处仅演示部署步骤,故假设已有一个进程包。 ProcessWithStartBash.tar.gz 访问对象存储服务 OBS,单击“进入控制台”,进入对象存储服务控制台。 在左侧导航栏选择“桶列表”单击右上角“创建桶”,创建用于存储对象的桶。 区域:选择“华北-北京四” 数据冗余存储策略:“多AZ存储”的可靠性较高,出于实验成本,此处我们可选择“单AZ存储” 桶名称:自定义,如 iot-edge-test 存储类别:标准存储 桶策略:请务必选择“公开读” 默认加密:关闭 归档数据直读:关闭 企业项目:default 在对象存储列表中选择刚创建的桶iot-edge-test进入详情界面,选择左侧菜单栏“对象”,单击“上传对象”,将进程包上传到OBS。 上传完毕后,可在在页面上查看到桶下的对象列表。 父主题: 前提条件
  • 安装OPC-UA服务器模拟器 访问Prosys OPC UA Simulation Server下载页面,下载并安装最新版本的Prosys OPC UA Simulation Server模拟器。 安装完毕后,启动Prosys OPC UA Simulation Server模拟器 Connection Address即是该OPC-UA服务端提供给OPC-UA Client端进行连接的地址。 其暴露的URL通常格式如“opc.tcp://{主机名}:53530/OPCUA/SimulationServer”。需把主机名替换为该服务器的公网IP。如 opc.tcp://121.36.62.255:53530/OPCUA/SimulationServer 配置OPC-UA服务端的用户身份,添加一个用户名和密码,如 用户名:edge-test 密码:1234 定义数据源属性。 例如在OPC UA服务端模拟器的地址空间中,可认为Simulation是接入OPC UA服务端的一个设备,该设备有 Counter, Random等属性数据,地址为ns=3;i=1001和ns=3;i=1002。
  • 上传镜像 镜像上传需要使用SWR镜像容器服务,开通及使用请参照容器镜像服务 SWR_用户指南。 上传镜像 访问 SWR容器镜像 服务,在左侧导航栏选择“总览”,然后单击右上方“创建组织”。 创建名称为hw_swr的组织 获取SWR登录指令 访问SWR容器镜像服务,在左侧导航栏选择“总览”,然后单击右上角“登录指令”。 复制登录指令到您推送镜像的本地机器上执行 tag镜像 使用tag命令将镜像重命名以确定上传位置和组织,获取上传位置和组织前缀请参考pull/push命令 docker tag edge_monitor:1.0.0 swr.cn-north-4.myhuaweicloud.com/hw_swr/edge_monitor:1.0.0 上传镜像 docker push swr.cn-north-4.myhuaweicloud.com/hw_swr/edge_monitor:1.0.0 查看上传结果 上传镜像后请在SWR将镜像设置为公开。 父主题: 前提条件
  • 开发插件 根据您的需要开发插件,我们提供了一个Demo工程来协助您更快的了解SDK。 下载Demo 下载地址:使用ModulSDK开发插件Demo。 导入ModuleSDK依赖包 选择项目名右键单击Open Project Structrure,选择Libraries后,单击中间框上方"+"号,选择下载好的ModuleSDK,添加到工程模块。 该Demo包含三个模块: erp-integration:此模块主要演示It集成服务。 modbus-driver:此模块主要演示协议转换。 monitor-app:此模块主要演示数据处理。 我们以其中的数据处理样例即monitor-app模块为例演示如何开发一个插件并远程部署到边缘上进行数据处理。 如果您有兴趣,可以参考开发指南-插件侧开发,该文档详细讲述了实践的架构和业务。 父主题: 前提条件
  • 设备接入调测 本章节以MQTT.fx为例,介绍以MQTT原生协议接入IoT边缘节点,通过边缘节点上报设备属性至 物联网平台 。MQTT.fx是目前主流的MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。 访问这里,填写添加边缘设备后生成的设备ID和设备密钥,生成连接信息(ClientId、Username、Password)。 打开MQTT.fx软件,单击设置图标。 参考下表配置鉴权参数,然后单击“Apply”。 Broker Address:填写边缘节点服务器公网IP地址 Broker Port:填写边缘节点提供给南向MQTT(S)设备接入的端口,即7883 Cliend ID:设备cliendID,参考1获取 User Name:即设备ID,参考1获取 Password:加密后的设备密钥,参考1获取 在设备对接边缘节点场景中,需要在设备侧集成相应证书(证书文件),用于设备校验边缘节点的身份。 单击“Connect”,设备鉴权成功后,在IoT边缘控制台和物联网平台可以看到设备处于在线状态。如果模拟器右侧的红灯变成绿灯,说明与物联网平台的连接成功。 IoTEdge云服务上边缘节点显示子设备在线: 物联网平台显示边缘节点、子设备在线: 通过MQTT.fx模拟设备上报属性,并在物联网平台查看设备上报数据。 在Publish页签,填写设备属性上报Topic,及JSON消息体,单击“Publish”完成上报。 Topic:$oc/devices/iot_edge_test_0219/sys/properties/report 其中,iot_edge_test_0219为设备ID,请替换为实际值。 消息体: { "services" : [{ "service_id" : "sensor", "properties" : { "temp" : 25, "humi" : 11 }, "event_time" : "20210212T121212Z" } ]} 在物联网平台查看设备上报数据。 通过MQTT.fx订阅命令下发Topic,并在物联网平台下发控制命令,查看设备是否收到平台下发的命令。 在Subscribe页签,填写命令下发Topic,并单击“Subscribe”完成订阅。 Topic:$oc/devices/iot_edge_test_0219/sys/commands/# 其中,iot_edge_test_0219为设备ID,请替换为实际值。 在物联网平台执行命令下发。 进入设备详情页,选择“命令”页签,单击同步命令下发区域的“命令下发”,设置参数并单击“确定”完成命令下发。 选择命令:sensor: control_light light:ON 在MQTT.fx客户端查看,平台下发命令接收成功。
  • 操作步骤 访问IoT边缘服务控制台。 选择导航栏“边缘集群管理”进入页面,单击右上角“创建边缘集群”。 据页面提示填写基本信息后,单击右下角“下一步“配置节点信息参数。边缘集群名称:自定义边缘集群名称,如“test_IoT10”。边缘集群描述:根据实际情况描述。 图1 创建边缘集群 配置集群节点信息参数,可以通过console页面进行填写配置参数;也可以通过下载YAML模板填写,然后再导入YAML文件,填写完成后,单击“下一步“即完成集群创建。 提前准备好集群节点机器,可以在华为云提前申请好 ECS云服务器 。高可用集群建议节点ECS最低配置(2u4g),all-in-one模式建议节点ECS最低配置(4u8g)。 高可用集群模式:可用配置多master节点和work节点(默认是3master2worker)。master_node_vip 即虚拟IP(VIP),需要提前在云服务申请,并且提前绑定worker-0001和worker-0002的内网IP。 单主集群模式(all-in-one):即只有一个master节点,没有worker节点。yaml配置保留一个master-nodes, 其他worker-nodes配置全部删除。master_node_vip设置成master-0001的ip即可。 node_name的格式要满足xxx-master/work-4位数字的形式要求(例如:iot-master-0001、iot-worker-0003)。 选择对应的cpu架构和操作系统,单击“获取安装命令“后,复制安装命令,到master-0001节点上进行安装集群。安装成功后,单击”完成“即完成集群的安装。
  • 安装专业版节点 在“边缘节点”的节点列表选择您需要安装的节点,单击右侧“安装”,获得提示。 图5 安装 选择支持架构和安装目录,然后单击拷贝安装命令,使用SSH工具以root用户登录边缘节点服务器后台系统,执行安装命令。 图6 提示 安装命令的选择需要与购买的ecs的架构保持一致。 图7 执行安装 图8 安装命令执行成功 单击“我知道了”,等待边缘节点的状态变为“在线”,表示该节点已安装并连接成功。 您可以单击“节点名称”,查看该节点详细信息,关于节点详情描述可参见基本信息。
共100000条