云服务器内容精选

  • SDK概述 物联网平台 提供应用侧SDK和设备侧SDK,方便设备通过集成SDK接入到平台,应用通过调用物联网平台的API,实现安全接入、设备管理、数据采集、命令下发等业务场景。 资源包名 描述 下载路径 应用侧开发 Java SDK Java SDK提供Java方法调用应用侧API与平台通信。使用指南可以参考Java SDK使用指南。 Java SDK 应用侧开发 .NET SDK .NET SDK提供.NET方法调用应用侧API与平台通信。使用指南可以参考.NET SDK使用指南。 .NET SDK 应用侧开发 Python SDK Python SDK提供Python方法调用应用侧API与平台通信。使用指南可以参考Python SDK使用指南。 Python SDK 应用侧开发 Go SDK Go SDK提供Go方法调用应用侧API与平台通信。使用指南可以参考Go SDK使用指南。 Go SDK 应用侧开发 Node.js SDK Node.js SDK提供Node.js方法调用应用侧API与平台通信。使用指南可以参考Node.js SDK使用指南。 Node.js SDK 应用侧开发 PHP SDK PHP SDK提供PHP方法调用应用侧API与平台通信。使用指南可以参考PHP SDK使用指南。 PHP SDK 设备侧IoT Device SDK(Java) 设备可以通过集成IoT Device SDK(Java)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device SDK使用指南(Java)。 IoT Device SDK(Java) 设备侧IoT Device SDK(C) 设备可以通过集成IoT Device SDK(C)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device SDK(C)使用指南。 IoT Device SDK(C) 设备侧IoT Device SDK(C#) 设备可以通过集成IoT Device SDK(C#)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device SDK(C#)使用指南。 IoT Device SDK(C#) 设备侧IoT Device SDK(Android) 设备可以通过集成IoT Device SDK(Android)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device SDK(Android)使用指南。 IoT Device SDK(Android) 设备侧IoT Device SDK(Go社区版) 设备可以通过集成IoT Device SDK(Go社区版)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device SDK(Go社区版)使用指南。 IoT Device SDK(Go社区版) 设备侧IoT Device SDK Tiny(C) 设备可以通过集成IoT Device SDK Tiny (C)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device Tiny SDK(C)使用指南。 IoT Device SDK Tiny (C) 设备侧IoT Device SDK (ArkTS) 设备可以通过集成IoT Device SDK (ArkTS)接入物联网平台, Demo提供了调用SDK接口的样例代码。使用指导请参考 IoT Device SDK(ArkTS)使用指南 IoT Device SDK(ArkTS)
  • 创建产品 为了方便体验,我们提供了一个烟感的产品模型,烟感会上报烟雾值、温度、湿度、烟雾报警、还支持响铃报警命令。以烟感例,体验消息上报、属性上报等功能。 访问 设备接入服务 ,单击“管理控制台”进入设备接入控制台,选择您的实例,单击实例卡片进入。查看MQ TTS 设备接入 域名 ,保存该地址。 单击左侧导航栏“产品”,单击页面左侧的“创建产品”。 根据页面提示填写参数,然后单击“确定”完成产品的创建。 基本信息 所属资源空间 平台自动将新创建的产品归属在默认资源空间下。如需归属在其他资源空间下,下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间。 产品名称 自定义。支持字母、数字、下划线(_)、连字符(-)的字符组合。 协议类型 选择“MQTT”。 数据格式 选择“JSON”。 设备类型选择 选择”自定义类型” 设备类型 填写“smokeDetector” 高级配置 产品ID 不填写 产品描述 请根据实际情况填写。
  • 概述 在物联网解决方案中,针对庞大的数据进行自动学习时,需要对海量数据进行标注、训练,按照传统的方式进行标注、训练不仅耗时耗力,而且对资源消耗也非常巨大。华为云物联网平台可以通过规则引擎,将获取的海量数据流转到华为云其他云服务,从而实现将海量数据通过 函数工作流 (FunctionGraph)进行预处理,再将清洗后的数据流入 AI开发平台 (ModelArts)进行AI分析,并将分析结果统一转发至HTTP服务器中。
  • 模拟数据上报及结果验证 在设备接入控制台“设备-所有设备-设备列表”中,单击创建的设备标识码进入设备详情,在“消息跟踪”页签中,单击“启动消息跟踪”,开启消息跟踪。 图24 消息跟踪-启动消息跟踪 使用MQTT模拟器连接到平台(模拟器使用请参考:使用MQTT.fx进行消息收发)。 使用模拟器进行消息上报,详情请参考:设备消息上报。 Topic: $oc/devices/{device_id}/sys/messages/up 数据格式: { "age": "34", "profession": "blue-collar", "maritalStatus": "single", "educationalStatus": "tertiary", "realEstateSituation": "no", "loanStatus": "tertiary" } 在设备详情中,查看消息跟踪,是否收到消息上报,并转发至FunctionGraph。 图25 消息跟踪-消息上报流转至FunctionGraph 查看HTTP服务器是否收到预测结果。 图26 查看消息
  • 前提条件 已注册华为官方账号。未注册可参考注册华为账户完成注册。 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则会影响后续云服务的开通。 已开通设备接入服务。未开通则访问设备接入服务,单击“免费试用”或单击“价格计算器”购买并开通该服务。 已开通FunctionGraph服务。未开通则访问FunctionGraph服务,单击“立即使用”后开通该服务。 已开通ModelArts服务。未开通则访问AI开发平台,单击“控制台”后进入该服务。 自建一个HTTP服务器,并提供POST接口用来接收推送的数据(本示例默认用户已经搭建好相应的服务器与接口,不再展示如何搭建HTTP服务器指导)。
  • 示例场景 在本示例中,我们实现以下场景: 设备上报银行客户特征信息,物联网平台将数据转发至FunctionGraph,由FunctionGraph转发至ModelArts进行AI分析,最终将分析的结果转发至HTTP服务器中。 操作步骤如下: 创建并发布ModelArts模型。 配置FunctionGraph函数。 创建MQTT协议产品,并创建设备。 数据转发规则配置,将数据流转至FunctionGraph。 模拟数据上报及结果验证,查看HTTP服务器是否收到AI分析后的消息。 图1 场景说明
  • 场景介绍 该案例演示客户如何使用FunctionGraph 与IoTDA 服务组合,处理物联网设备上报以及设备状态变动的相关数据。物联网设备在IoTDA 平台进行管理,设备产生的数据可以从IoTDA直接流转触发FunctionGraph 的函数运行。用户可以根据需要编写函数处理这些数据。 通常该组合,可以适用于以下场景,如将设备上报的数据在处理后进行存储到如OBS;对上报的数据进行结构化,清洗然后存储到数据库;根据设备状态变化进行事件通知等。 该案例重点在如何组合IoTDA 与 FunctionGraph,关于如何在IoTDA 以及设备上进行设备管理和数据上报,需要用户进一步参考IoTDA的文档。在该案例中,提供了使用IoTDA + FunctionGraph做坐标转换的示例(WGS84 坐标转 GCJ02坐标)。
  • 设备台账相关操作 在“设备台账”页面,您还可以进行如表2所示的操作。 表2 设备台账相关操作 操作 描述 导出设备台账 在“设备台账”页面: 单击“导出当页”,导出设备台账信息。 单击“导出全部”,导出全部的设备台账信息。 编辑设备台账 在“设备台账”页面,选择待编辑设备台账记录,单击“操作”列的“编辑”,根据实际情况修改设备台账信息。 删除设备台账 在“设备台账”页面: 勾选待删除设备台账记录前的,单击“批量删除”,删除设备台账。 单击待删除的设备台账记录“操作”列的“删除”,删除设备台账。 查询设备台账 在“设备台账”页面,在左侧设备规格列表当中选中记录,在上方输入框输入“设备编号”、“设备名称”、“出厂编号”、“验收日期”、“引进部门”、“维护部门”或“使用部门”,再单击“查询”,查询设备台账。 查询设备规格 在“设备台账”页面,在“全部设备”上方输入框输入“设备类别”信息,再单击,查询设备规格。 个性化设置 在“设备台账”页面,单击右上角,可以根据需求进行页面展示信息的个性化设置。 扩展属性配置 在“设备台账”页面,单击右上角,可以根据需求进行设备实物的扩展属性配置。
  • 设备免注册接入 下载并修改华为SDK示例代码进行设备引导(这里以java sdk代码为示例)。 使用IDEA/Eclipse打开SDK代码工程,修改iot-device-demo目录下的DEMO示例“BootstrapSelfRegSample”中的参数。 ScopeId从设备发放的注册组页面中获取; deviceId由客户自主规划且未在平台注册(需注意平台要求deviceId全局唯一); 设备证书指定为“控制台开发”中生成的设备证书; bootstrapUri为上述终端节点。 图11 修改demo示例 运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行正常,在对应的设备接入实例可以看到该设备,且该设备已在线。 图12 日志信息 收到设备发放下发的设备接入地址后,需要关闭设备侧的设备发放的连接,用的新的URL地址与设备接入通信,进行相关业务。 图13 关闭连接示例代码 说明: DeviceId即设备ID,用于唯一标识一个设备。设备需使用未注册的DeviceId进行免注册接入,不同设备的DeviceId不同。 在客户实际业务场景中,推荐一个设备使用一个设备证书,不建议多个设备共用一个设备证书。
  • 添加证书策略 添加证书策略,发放CA证书到指定的IoTDA,并且由此CA签发的设备证书都会发放到指定的IoTDA。 图8 添加证书策略 进入“策略”界面,单击展开“证书策略”,单击“添加实例”。 图9 添加证书策略详情 按照下方参数说明填写关键参数信息后,单击“确定”。 表4 参数信息 参数名称 说明 示例 证书名称 即所要根据证书属性将设备发放到指定的目标区域,选择对应的证书。 将需要通过证书“certificates”发放的设备发放至华北-北京四的物联网平台。 需通过证书“certificates”发放的设备:WaterMeter-Beijing0001、WaterMeter-Beijing0002 证书名称:certificates 发放区域:华北-北京四 发放应用:beijing-app1 发放区域 发放到指定区域后,设备将接入对应区域的设备接入服务。 所选区域未开通设备接入服务时,如果确定添加实例,系统将自动为您开通设备接入服务。不同区域设备接入服务价格不同,收费详情请参考价格说明。 发放应用 选择对应设备接入服务区域已创建的应用。在物联网平台中,设备由应用统一管理。 如果对应设备接入服务区域未创建应用,需要前往对应服务创建应用。
  • 验证CA证书 对于已上传的CA证书,平台要求用户完成“验证CA证书”过程,以验证用户具备该CA证书的签发能力。 操作步骤 登录设备发放控制台。 在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“验证证书”。 图5 上传CA证书完成页 在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图6 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。 openssl genrsa -out verificationCert.key 2048 利用此验证码生成证书签名请求文件 CS R。 openssl req -new -key verificationCert.key -out verificationCert.csr CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。 使用CA证书、CA证书私钥和上一步骤中生成的CSR文件创建验证证书(verificationCert.crt)。 openssl x509 -req -in verificationCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out verificationCert.crt -days 36500 -sha256 生成验证证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整。 上传验证证书进行验证。 图7 上传验证证书
  • 生成设备证书 使用OpenSSL工具为设备证书生成密钥对(设备私钥): openssl genrsa -out deviceCert.key 2048 使用设备密钥对,生成证书签名请求文件: openssl req -new -key deviceCert.key -out deviceCert.csr 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表6所示。 表6 参数说明 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / 使用CA证书、CA证书私钥和CSR文件创建设备证书(deviceCert.crt)。 openssl x509 -req -in deviceCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out deviceCert.crt -days 36500 -sha256 生成设备证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件,且需要完成“上传并验证CA证书”。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整。
  • 创建注册组 MQTT证书接入的设备,可以在设备发放创建一个注册组,绑定对应的CA证书和自定义策略,可以实现批量设备的自注册,实现设备一键上电即可上云的动作,可在注册组详情中查看该注册组下所有的设备。 进入“设备-注册组”界面,单击右上角“新增注册组”。 图10 新增注册组 按照下方参数说明填写关键参数信息后,完成创建。 表5 参数信息 参数名称 说明 注册组名称 注册组的唯一标识。 选择证书 用于和注册组绑定,同一个证书只能同时绑定一个注册组,不能同时绑定多个注册组。 发放策略 当前只支持“自定义策略”,同时需要选择所要运行的函数。
  • 制作CA证书 本文以Windows环境为例,介绍通过Openssl工具制作CA证书和验证证书的方法。 以下“生成密钥对(rootCA.key)”和“生成CA证书(rootCA.crt)”为操作过程中需要使用到的两个文件。 具体步骤: 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。 生成密钥对(rootCA.key): 生成“密钥对”时输入的密码在生成“证书签名请求文件”、“CA证书”,“验证证书”以及“设备证书”时需要用到,请妥善保存。 openssl genrsa -des3 -out rootCA.key 2048 使用密钥对生成证书签名请求文件: 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表2所示。 表2 参数说明 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / openssl req -new -key rootCA.key -out rootCA.csr 生成CA证书(rootCA.crt): openssl x509 -req -days 50000 -in rootCA.csr -signkey rootCA.key -out rootCA.crt “-days”后的参数值指定了该证书的有效天数,此处示例为50000天,您可根据实际业务场景和需要进行调整。
  • 上传CA证书 具体操作步骤 登录设备发放控制台。 在设备发放控制台,左侧导航窗格中,选择“证书”,单击右上方的“上传CA证书”。 图3 上传CA证书 在“上传CA证书”页面,填写“证书名称”,单击“添加文件”,上传此前“制作CA证书”步骤中生成的“CA证书(rootCA.crt文件)”,单击“确定”。 图4 上传CA证书详情页 上传的CA证书初始状态为“未验证”,需要完成“验证CA证书”过程,方可正常使用该CA证书。 表3 证书状态表 CA证书状态 说明 已验证 可正常使用。 未验证 不可正常使用,待验证通过后,方可正常使用。 已过期 CA证书已过期,需更新,但不影响平台使用该CA证书验证对应的设备证书。 即将过期 CA证书30天内即将过期,需及时更新。