云服务器内容精选

  • 使用真实设备在线调试 模拟器在线调测具备设备模拟和应用模拟功能,可以对定义的产品模型文件和编解码插件进行调试,用户可以直观的感受设备上报数据到 物联网平台 ,以及使用物联网平台下发远程控制命令。 在智慧路灯产品的开发空间,选择“在线调试”,单击“新增测试设备”。 在新增测试设备页面,完成设备参数的填写后,单击“确定”。 设备类型:真实设备。 设备名称:自定义。 设备标识码:设备的IMEI号,用于设备在接入物联网平台时携带该标识信息完成接入鉴权,可在NB模组上查看。 密钥:如果使用DTLS传输层安全协议接入时,且请妥善保存密钥。 图20 在线调试-新增测试设备 新添加的设备处于未激活状态,此时不能进行在线调试,可参考连接鉴权,待设备接入平台后,进行调试。 单击“调试”,进入调试界面。 图21 在线调试-进入调试 模拟远程下发控制命令场景,在应用模拟器中,选择服务:StreetLight,命令:SWITCH_LIGHT,命令取值为:ON,单击“立即发送”,我们可以看到路灯被点亮。
  • 使用虚拟设备在线调试 在智慧路灯产品的开发空间,选择“在线调试”,单击“新增测试设备”。 在新增测试设备页面,选择“模拟设备”,然后单击“确定”,创建一个虚拟设备。虚拟设备名称包含 “DeviceSimulator”字样,每款产品下只能创建一个虚拟设备。 图22 在线调试-创建虚拟设备 单击“调试”,进入调试界面。 图23 在线调试-进入调试 模拟设备数据上报场景,在设备模拟器中,输入十六进制码流:002000(00为地址域meaasgeID,长度为1个字节;20表示光照强度,长度为1个字节;00表示路灯开关状态为关闭状态,长度为1个字节),然后单击“发送”,我们可以在应用模拟器中看到转换为JSON格式的数据为:"Light_Intensity":32, "Light_Status":0。 图24 在线调试-模拟数据上报 模拟远程下发控制命令场景,在应用模拟器中,选择服务:StreetLight,命令:SWITCH_LIGHT,命令取值为:ON,单击“立即发送”,我们可以在设备模拟器中看到转换为十六进制的码流:0100014F4E(经ASCLL码转为为十六进制)。 图25 在线调试-模拟命令下发
  • 定义产品模型 找到步骤3创建的产品,单击产品进入产品界面。 在产品详情模型定义页面,单击“自定义模型”,配置产品的服务,然后单击“确定”。 “服务ID”:StreetLight “服务类型”:建议和服务ID保持一致 “服务描述”:路灯上报的环境光强度和路灯开关状态的属性。 单击步骤2新增的服务ID,在展开的页面单击“添加属性”,定义一条属性为路灯采集的当前环境的光照强度。 “属性名称”:light_intensity “数据类型”:int(整型) “访问权限”:可读、可写 “取值范围”:0~100,光照强度范围。 图3 新增属性-light_intensity 单击“添加属性”,定义一条属性为路灯当前的开关灯状态。 “属性名称”:light_status “数据类型”:int(整型) “访问权限”:可读、可写 “取值范围”:0~1,0代表关闭,1代表打开状态 图4 添加属性-light_status 接下来定义远程控制开关灯状态的命令。 单击“添加命令”,定义命令名称:SWITCH_LIGHT。 单击“新增输入参数”,参数名称:SWITCH_LIGHT,数据类型为:string,长度为:3个字符,枚举值为:ON,OFF。 图5 新增命令参数-SWITCH_LIGHT 单击“新增响应参数”,参数名称:result,数据类型:int。 图6 新增响应参数-result 单击“确定”,完成该路灯的产品模型文件开发。
  • 在线开发插件 通常情况下设备为了省电,设备会采用“二进制”格式上报数据,编解码插件的作用就是将设备上报的“二进制”格式数据,按照产品模型文件的定义的属性转换为“JSON”格式数据,便于物联网平台和应用服务器识别。同时,用户远程下发控制命令时,物联网平台会将“JSON”格式的命令转换为“二进制”格式数据下发给设备。 如果设备本身上报的是JSON格式数据,则不需要定义编解码插件。 在智慧路灯产品的开发空间,选择“插件开发”,单击“图形化开发”。 单击“新增消息”,配置数据上报消息,上报路灯的数据消息。 消息名:LightData 消息类型:数据上报 添加响应字段:是。添加响应字段后,物联网平台在收到设备上报的数据后,会下发用户设置的响应数据到设备。 响应数据:AAAA0000(默认) 图7 插件开发-新增消息 单击“添加字段”,添加messageId字段,表示消息种类。 图8 插件开发-添加字段messageId 添加LightIntensity字段,表示光照强度,数据类型:int8u(8位无符号整型),长度:1字节。 图9 插件开发-添加字段LightIntensity 添加LightStatus字段,表示路灯上报的路灯开关状态数据。数据类型:int8u(8位无符号整型),长度:1字节。 图10 插件开发-添加字段LightStatus 再次单击“新增消息”,定义远程控制路灯开关的命令对应的编解码插件消息。 消息名:SwitchStatus 消息类型:命令下发 添加响应字段:是。添加响应字段后,设备在接收命令后,会上报命令执行结果。 图11 插件开发-新增消息SwitchStatus 单击“添加字段”,添加messageId字段,表示消息种类。 图12 插件开发-添加字段messageId 添加mid字段,用于将下发的命令和命令执行结果进行关联。 图13 插件开发-添加命令字段mid 添加SwitchStatus字段,数据类型:string(字符串类型),长度:3字符。 图14 插件开发-添加命令字段SwitchStatus 单击“添加响应字段”,配置命令下发响应消息。 添加messageId,表示消息种类。命令执行结果为上行消息,需要通过messageId和数据上报消息进行区分。 图15 插件开发-添加响应字段messageId 添加mid字段,用于将下发的命令和命令执行结果进行关联。 图16 插件开发-添加响应字段mid 添加errcode字段,用于表示命令执行状态:00表示成功,01表示失败,如果未携带该字段,则默认命令执行成功。 图17 插件开发-添加响应字段errcode 添加result字段,用于表示命令执行结果。 图18 插件开发-添加响应字段result 拖动右侧“设备模型”区域的属性字段和命令字段(产品模型文件定义的字段),与编解码插件定义的数据上报消息和命令下发消息的相应字段建立映射关系。 图19 插件开发-在线开发插件 编解码插件与产品模型文件建立映射完成后,单击右上角“保存”,并单击“部署”,完成编解码插件的部署。
  • (可选)创建资源空间 资源空间是物联网平台提供物联网应用和设备的调测空间,您可以根据场景的不同创建不同资源空间分别调测。 系统为您预置了一个资源空间,您可以直接在预置的资源空间下,在线开发设备的产品模型文件和编解码插件;也可以新建一个资源空间,具体步骤如下。 访问 设备接入服务 ,单击“立即使用”进入设备接入控制台。 选择左侧导航栏的“资源空间”,单击右上角“新建资源空间”。 在弹出的页面填写“空间名称”,然后单击“确定”。
  • 创建产品 基于开发的产品,用户可以在线开发设备的产品模型文件和编解码插件;另外,物联网平台提供了设备和应用模拟器,可以便捷地调测开发的产品模型文件和编解码插件的正确性。 访问设备接入服务,单击“立即使用”进入设备接入控制台。 选择左侧导航栏的“产品”。 图1 产品-创建产品 单击左侧的“创建产品”,创建一个基于LwM2M/CoAP协议的产品,填写参数后,单击“确定”。 图2 创建产品-CoAP 基本信息 所属资源空间 选择新建产品所属的资源空间。 产品名称 自定义,如Test_1。 协议类型 选择“LwM2M/CoAP”。 数据格式 选择“二进制码流”。 说明: 当“数据格式”配置为“二进制码流”时,该产品下需要进行编解码插件开发;当“数据格式”配置为“JSON”时,该产品下不需要进行编解码插件开发。 所属行业 无 设备类型 streetlamp
  • 模拟数据上报及结果验证 使用MQTT模拟器连接到平台(模拟器使用请参考:使用MQTT.fx调测)。 使用模拟器进行消息上报,详情请参考:设备消息上报。 上报内容如下: { "id": "2", "device_id" : "6459f49b97bacf7a56439f97_321135434425", "report_time":"2023-10-24 19:39:42", "province":"guangzhou", "city": "guangdong", "daily_power_generation": 11, "total_power_generation": 22, "total_power": 324, "running_status": "OFFLINE" } 前往DWS控制台,查看是否收到转发的消息。 图18 查看DWS消息 前往Astro大屏服务查看监控视图。 图19 监控大屏数据
  • 配置Astro大屏服务 登录华为云官方网站,访问Astro大屏服务。 选择进入首页, 新建项目。 图13 新建项目 进入新建项目后,单击“新建页面”。单击“新建空白页”完成页面创建。 图14 新建空白页 可通过拖拉的方式,将组件中的元素拉到页面,从而完成页面设计。详情请参考开发页面。 图15 最终页面展示 设置数据源,选中一个视图组件,如图单击数据按钮。 图16 设置数据源 数据类型选择DWS,并配置DWS数据源,配置流程中通过sql语句查询DWS数据,并在组件预览中将查询出来的数据与组件的配置做映射。详情参考数据集管理。 图17 配置数据 参考上述步骤完成所有组件的配置。
  • 数据上报及验证数据是否转发成功 使用MQTT模拟器连接到平台(模拟器使用请参考:使用MQTT.fx调测)。 使用模拟器进行消息上报(参考:设备消息上报)。上报内容如下: { "id": "2", "device_id" : "6459f49b97bacf7a56439f97_321135434423", "report_time":"2023-10-19 19:39:42", "province":"guangzhou", "city": "shengzhen", "daily_power_generation": 32, "total_power_generation": 108, "total_power": 1023, "running_status": "ONLINE" } 前往Kafka控制台,查看是否收到转发的消息。 图6 查看Kafka消息
  • 配置DWS 数据仓库 服务 登录华为云官方网站,访问数据仓库服务。 单击“进入控制台”。 访问数据仓库服务控制台“集群管理”页面,选择购买的集群,若无集群,则参考购买集群,购买集群后,单击登录集群。 登录集群后,单击新建数据库,创建数据库。 图7 创建数据库 单击SQL查询, 进入SQL查询页面, 执行以下SQL语句创建数据表。 CREATE TABLE IF NOT EXISTS power_test_dws ( "id" BIGINT, "report_time" TIMESTAMP, "province" varchar(255), "city" varchar(255), "device_id" varchar(255) NOT NULL, "daily_power_generation" numeric(10,2), "total_power_generation" numeric(10,2), "total_power" numeric(10,1), "running_status" varchar(10), CONSTRAINT "device_uniqe" UNIQUE ("device_id", "report_time") ) WITH (ORIENTATION = COLUMN, PERIOD='15 days', storage_policy = 'LMT:180') PARTITION BY RANGE (report_time);
  • 前提条件 已注册华为官方账号。未注册可参考注册华为账户完成注册。 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则会影响后续云服务的开通。 已开通设备接入服务。未开通则访问设备接入服务,单击“免费试用”或单击“价格计算器”购买并开通该服务。 已开通Kafka服务。未开通则访问Kafka服务,单击“立即购买”后开通该服务。 已开通 数据湖探索 服务。未开通则访问 数据湖 探索服务,单击“立即购买”后开通该服务。 已开通云数据仓库 GaussDB (DWS)服务。未开通则访问云数据仓库GaussDB(DWS)服务,单击“购买”后开通该服务。 已开通Astro大屏服务, 未开通则访问Astro大屏应用,单击“立即使用”后开通该服务。
  • 创建产品 某一类具有相同能力或特征的设备的集合称为一款产品。除了设备实体,产品还包含该类设备在物联网能力建设中产生的产品信息、产品模型(Profile)、插件等资源。 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”。 图10 产品-创建产品 创建一个协议类型为LwM2M/CoAP协议、设备类型为SmokeSensors的产品,参考页面提示填写参数后,单击“确定”。 图11 创建产品-CoAP
  • 定义产品模型 在产品详情,“模型定义”页面,单击“自定义模型”,配置产品的服务。具体创建方法可见: 产品模型设计思路: 表1 设备服务列表 服务类型(ServiceID) 服务描述 Smoke 实时检测烟雾状况 服务能力如表2、表3所示。 表2 Smoke 能力描述 属性名称 数据类型 数据范围 属性列表 Smoke value int 0 ~ 65535 表3 Smoke命令列表 能力描述 命令名称 命令字段 字段名称 类型 数据长度 枚举 命令列表 Smoke control beep 下发命令 beep string 3 ON、OFF 响应命令 beep_state int / /
  • 使用AT指令定位模组通信问题 IoT Link在与物联网平台连接使用时,可使用AT指令快速定位模组与云端连通性问题,提高开发效率。本节将以“小熊派开发板”为例,介绍如何使用AT指令检测通信模组常见问题,如设备无法上线,数据上报不成功等。 小熊派开发板和电脑已正常连接(确保驱动已安装),并将开发板右上角的拨测开关切换到AT-PC模式。 单击VSCode底部工具栏的“Serial”。 选择4.b中查看的端口号,波特率设置为9600,然后单击“打开”。 输入“AT+CGATT?”,然后单击“发送”,若返回“+CGATT:1”,表示网络附着成功(附着成功代表NB-IoT联网正常),返回“+CGATT:0”表示网络附着失败(附着失败代表NB-IoT联网异常),请查看SIM卡是否插入正确,或联系运营商检查网络状态。 使用AT指令检测完模组通信后,请将拨测开关拨到AT-MCU模式,以便完成控制台的开发后,将采集到的传感器数据通过通信模组发送到平台。 PC模式是开发板与电脑串口通信,AT指令读写开发板的状态等数据;MCU模式是开发板通过模组上插的SIM连接网络,实现NB-IoT通信。
  • 注册设备 本文介绍集成NB模组设备的注册方法。 在产品详情页面,选择“在线调试”,单击“新增测试设备”,此处新增的是非安全的NB-IoT设备。 在新增测试设备页面,选择“真实设备”,完成设备参数的填写后,单击“确定”。 图17 在线调试-新增测试设备 设备名称:自定义。 设备标识码:设备的IMEI号,用于设备在接入物联网平台时携带该标识信息完成接入鉴权,可在NB模组上查看。您也可以将拨测开关拨到AT-PC模式,选择STM的端口,波特率设置为9600,输入指令“AT+CGSN=1”获取IMEI号。 注:获取IMEI注册完设备后,需要将开发板的拨测开关拨到“AT-MCU”模式,因为开发板在MCU模式下才会通过NB卡连接网络。 设备注册方式:不加密。 设备创建成功,可在页面看到创建的设备。