检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用开源C语言库连接MQTT Broker 操作场景 MQTT是一种发布/订阅模式的消息协议,能够在硬件性能低下的远程设备以及网络状况糟糕的情况下工作。 本文介绍一种开源的C语言库Eclipse Paho C Client Library连接使用IEF的内置MQTT Broker。
基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使用户组中的用户获得相应的权限,这一过程称为授权。授权后,用户就可以基于已有权限对云服务进行操作。 权限根据授权的精细程度,分为角色和策略。角色以服务为粒度,是IAM最初提供的一种根据用户的工作职
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“
创建设备模板 登录IEF管理控制台,在“总览”页面切换实例为铂金版。 选择左侧导航栏“边缘资源 > 终端设备”,单击页面右上角的“创建设备模板”。 填写模板名称,选择访问协议,设置设备属性、孪生属性、设备标签和描述。 图1 创建设备模板 名称:终端设备模板的名称。 访问协议:IEF支持MQTT协议。
是否配置了指定端口的端口映射或者主机网络。 图4 访问配置 单实例应用解决方法: 访问方式配置为端口映射,并修改为当前节点未被占用的端口值。或者选择自动分配端口,IEF会为应用选择可用端口。 多实例应用解决方法: 多实例应用如需进行外部访问,可使用自动调度的部署方式,应用会在边缘节点组中选择端口未占用的节点部署实例。
default:检查硬件架构、cpu、内存、硬盘、域名解析、网络连通性、docker arch:检查硬件架构IEF是否支持 cpu:检查cpu 是否满足IEF的要求 mem或memory:检查内存是否满足IEF的要求 disk:检查硬盘是否满足IEF的要求 dns:检查域名解析功能是否正常 network:检查节点是否能与IEF连接
broker通信的端口能正常使用。 MQTT Topic 终端设备与边缘节点、IEF的通信都是通过给MQTT broker中转消息实现的,在MQTT broker中,默认提供如表1所示的Topic(消息主题),上报状态、控制终端设备状态都是通过发送/订阅消息实现的。 应用程序编写
铂金版实例消息头说明 在访问铂金版实例的API时,需要在请求消息头中添加名为ief-instance-id的消息头,instanceid取值为铂金版实例ID,如下所示。 1 2 3 POST https://{{ednpoint}}/v2/{project_id}/edgemgr/nodes
broker通信的端口能正常使用。 MQTT Topic 终端设备与边缘节点、IEF的通信都是通过给MQTT broker中转消息实现的,在MQTT broker中,默认提供如表1所示的Topic(消息主题),上报状态、控制终端设备状态都是通过发送/订阅消息实现的。 应用程序编写
ValueInAttributes object 设备访问类型,包含: userdefine:自定义访问协议 TCP:modbus访问协议中的一种访问形式 RTU:modbus访问协议中的一种访问形式 opc-ua:opc-ua访问协议 protocol_name ValueInAttributes
ValueInAttributes object 设备访问类型,包含: userdefine:自定义访问协议 TCP:modbus访问协议中的一种访问形式 RTU:modbus访问协议中的一种访问形式 opc-ua:opc-ua访问协议 protocol_name ValueInAttributes
主机网络:使用宿主机(边缘节点)的网络,即容器与主机间不做网络隔离,使用同一个IP。 端口映射:容器网络虚拟化隔离,容器拥有单独的虚拟网络,容器与外部通信需要与主机做端口映射。配置端口映射后,流向主机端口的流量会映射到对应的容器端口。例如容器端口80与主机端口8080映射,那主机8080端口的流量会流向容器的80端口。
ValueInAttributes object 设备访问类型,包含: userdefine:自定义访问协议 TCP:modbus访问协议中的一种访问形式 RTU:modbus访问协议中的一种访问形式 opc-ua:opc-ua访问协议 protocol_name ValueInAttributes
主机网络:使用宿主机(边缘节点)的网络,即容器与主机间不做网络隔离,使用同一个IP。 端口映射:容器网络虚拟化隔离,容器拥有单独的虚拟网络,容器与外部通信需要与主机做端口映射。配置端口映射后,流向主机端口的流量会映射到对应的容器端口。例如容器端口80与主机端口8080映射,那主机8080端口的流量会流向容器的80端口。
根据节点组分配安全证书,用于访问节点组内节点及指定节点组部署的应用 应用指定节点组自动调度(根据节点组内资源使用量进行调度) 节点故障,应用重调度到其他正常节点 应用和节点的亲和/反亲和调度规则指定 图1 节点组 创建边缘节点组 登录IEF管理控制台,在“总览”页面切换实例为铂金版。 选择左侧导航栏的“边缘资源
Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id
MQTT使用限制 表2 MQTT使用限制 描述 限制 支持的MQTT协议版本 3.1.1 与标准MQTT协议的区别 支持QoS 0 支持Topic自定义 不支持QoS 1和QoS 2 不支持will、retain msg MQTTS支持的安全等级 采用TCP通道基础 + TLS协议(TLSV1
为什么看不到应用日志和系统日志? 边缘节点上报应用日志和系统日志需要打开日志开关,且边缘节点的NTP与华为云一致。 如果看不到日志,可能有如下原因: 日志开关未打开。 登录IEF控制台,在左侧导航栏选择“边缘资源 > 边缘节点”,单击边缘节点名称进入边缘节点详情页,在“配置”页签
name和password即为用户名和密码。 http://username:password@192.168.0.70:8888 配置文件修改后,再执行安装命令。 docker daemon配置代理 在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理。用户通常会将