华为云用户手册

  • 创建产品 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”。 图2 产品-创建产品 根据页面提示填写参数,然后单击“确定”。 基本信息 所属资源空间 平台自动将新创建的产品归属在默认资源空间下。如需归属在其他资源空间下,下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间。 产品名称 自定义。支持字母、数字、下划线(_)、连字符(-)的字符组合。 协议类型 选择MQTT。 数据格式 选择JSON。 所属行业 请根据实际情况填写。若使用平台预置的产品模型,请根据产品模型所属的行业填写。没有填无。 设备类型 请根据实际情况填写。若使用平台预置的产品模型,会自动关联设备类型,不需要再输入设备类型。 高级配置 产品ID 定制ProductID,用于唯一标识一个产品。如果携带此参数,平台将产品ID设置为该参数值;如果不携带此参数,产品ID在物联网平台创建产品后由平台分配获得。 图3 创建产品-MQTT
  • 验证操作 您可以使用配置设备接入服务时注册的真实设备接入平台,上报“temperature”大于80的数据。 您也可以使用模拟器模拟设备订阅Topic: “$oc/devices/{device_id}/sys/properties/report”(其中{deviceId}需要替换成实际设备ID)后,上报“temperature”大于80的数据,操作方法请参考在线开发MQTT协议的模拟智慧路灯。 您还可以使用虚拟设备进行在线调试,上报“temperature”大于80的数据。 期望结果: 若您使用真实设备上报数据,设备会收到一条“power”取值为“OFF”的“ON_OFF”命令。 若您使用模拟器上报数据,可在“Subscribe”页签查看到平台下发的“power”取值为“OFF”的“ON_OFF”命令。
  • 连接鉴权 使用MQTT.fx工具激活在物联网平台上注册的设备。 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。 访问这里,填写注册设备后生成的设备ID(DeviceId)和密钥(DeviceSecret),生成连接信息(ClientId、Username、Password)。 参数 必选/可选 类型 参数描述 ClientId 必选 String(256) 一机一密的设备clientId由4个部分组成:设备ID、设备身份标识类型、密码签名类型、时间戳,通过下划线“_”分隔。 设备ID:指设备在平台成功注册后生成的唯一设备标识,通常由设备的产品ID和设备的NodeId通过分隔符“_”拼装而来。 设备身份标识类型:固定值为0,表示设备ID。 密码签名类型:长度1字节,当前支持2种类型: “0”代表HMACSHA256不校验时间戳。 “1”代表HMACSHA256校验时间戳。 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。 Username 必选 String(256) 设备ID。 Password 必选 String(256) 加密后的设备密钥。Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值。 secret为注册设备时平台返回的secret。 设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 使用生成工具生成的clientId格式,默认不校验时间戳:设备ID_0_0_时间戳。 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。 connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。 打开MQTT.fx软件,单击设置图标。 参考下表配置鉴权参数,然后单击“Apply”。 参数名称 说明 Broker Address 填写从设备接入服务控制台获取的平台对接信息,此接入地址为域名信息。不能通过域名接入的设备,通过在cmd命令框中执行“ping 域名”获取IP地址,用IP地址接入平台。由于IP地址不固定,您需要将IP地址做成可配置项。 Broker Port 默认为1883。 Cliend ID 设备cliendID,请参考2中获取。 User Name 即设备ID,请参考2中获取。 Password 加密后的设备密钥,请参考2中获取。 单击“Connect”,设备鉴权成功后,在物联网平台可以看到设备处于在线状态。 图11 设备在线
  • 使用MQTT_Simulator接入 下载MQTT_Simulator模拟器(默认是64位操作系统),并启动模拟器,如下图: 界面展示 模拟器提供了界面显示,填写Server地址、设备ID、设备密钥。请根据实际创建的设备信息填写。 Server地址:即域名,参考平台对接信息获取; 设备ID和设备密钥:在这里获取。 不同的Server地址SSL加密接入时要与对应的证书文件匹配使用,证书获取请参考获取资源,需要替换certificate文件夹下的证书,如下图: 用户可以选择设备侧建链时是否为SSL加密,选择Qos方式是0还是1,当前不支持Qos2,可参考使用限制。 新建连接 设备或网关在接入物联网平台时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。单击新建连接按钮,域名、设备ID和密钥正确的情况下,可以看到日志设备连接成功,可在平台查看设备状态,如下图: 图14 设备列表-设备在线 订阅Topic 订阅某topic的设备才能接收broker发布的关于该topic的消息,关于平台预置topic可参考Topic定义。 建链后,如果成功订阅Topic,主界面日志栏显示如下信息: 发布Topic 发布Topic是指设备主动向平台上报自己的属性或消息,详细见设备属性上报接口文档。 在模拟器中实现了上报Topic、属性上报功能。 输入要上报的JSON message,上报luminance属性为30。发布Topic后,Demo界面显示如下: 设备上报属性成功后可在“设备详情”页面查看到上报的属性: 图15 查看上报数据-MQTT 接收下发命令 模拟器支持接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在控制台设备详情中对该设备进行同步命令下发。下发成功后,在MQTT的回调函数中接收到平台下发给设备的命令。 例如用户想远程开灯,下发参数名为LightControl: switch,参数值为ON的命令。 图16 命令下发-同步命令下发 同步命令下发成功后,Demo界面显示如下:
  • 开发产品模型 找到新增的产品,单击产品进入产品界面。 在产品详情“模型定义”页面,单击“自定义模型”,配置产品的服务。 图3 自定义模型-MQTT 新增服务类型“BasicData”。 在“添加服务”页面,根据页面提示填写“服务ID”、“服务类型”和“服务描述”,单击“确定”。 图4 添加服务-BasicData 在“BasicData”服务列表右侧区域,单击“新增属性”,填写相关信息后,单击“确定”。 图5 新增属性-luminance 新增服务类型“LightControl”。 在“模型定义”下单击“添加服务”,根据页面提示填写后,单击“确定”。 “服务ID”:LightControl “服务类型”:建议和服务ID保持一致 “服务描述”:路灯开关控制 在“LightControl”的下拉菜单下单击“添加命令”,输入命令名称“Switch”。 图6 新增命令-Switch 在“新增命令”页面,单击“新增输入参数”,填写相关信息后,单击“确定”。 图7 新增命令参数-value
  • 场景说明 在物联网场景下,部分设备具备重要的应用场景,比如物联网网关等,设备管理者需要感知这些设备的上下线情况。 设备接入服务提供规则引擎功能可以满足该诉求,您可以通过简单的操作实现当设备状态满足某个条件时,物联网平台触发指定动作进行通知。 示例说明: 某企业的网关产品下有一批网关设备,单个网关设备下挂载了约400个子设备,用户需要实时关注这批网关设备的状态,确保子设备正常上报数据,同时由于网关设备和物联网平台通过4G网络建立连接,存在由于网络抖动导致频繁告警的问题,因此用户认为短暂的离线后上线属于正常场景,不希望感知这种场景。 通过以下示例可以实现监控该网关产品下所有网关设备在离线持续时间达到5分钟后通过物联网平台上报告警,在设备上线持续时间达到1分钟后恢复该告警,同时发送邮件或短信通知给指定的手机号码。
  • 配置IoT link Studio工程 单击VSCode底部工具栏的“Home”。 Home:管理IoT Link工程; Serial:输入AT指令检查开发板状态; Build:编译示例代码(步骤3后可见); Download:把编译后的代码烧录到MCU(步骤3后可见)。 配置交叉编译工具链。在弹出界面中单击“IoT Link设置”,选择工具链,若GCC工具目录或文件不存在,单击下载安装。 图8 IoT Link设置 图9 交叉编译工具链 小熊派STM32431下载的编译工具链版本为win32.zip。 在弹出界面中单击“创建 IoT 工程”,输入工程名称,工程目录,并选择开发板的硬件平台和示例工程模板。 工程名称:自定义,如QuickStart。 工程目录:可以使用工具安装的默认路径,也可以选择系统盘以外的其他盘,如D:\。 硬件平台:当前提供的demo只适配STM32L431_BearPI硬件平台,请选择STM32L431_BearPI。 示例工程:本示例中,我们以智慧路灯为例,请选择oc_streetlight_template,否则烧录的demo样例和在控制台定义的产品模型不匹配,无法上报数据。如果您需要适配智慧烟感等其他场景,请选择对应的oc_smoke_template demo样例。 单击“确定”,导入完成。
  • 上传产品模型 产品模型是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备的功能。我们已提供开发好的产品模型,帮助您快速体验上云流程,如果您想体验产品模型的开发流程,可参考开发产品模型。 操作步骤: 找到新增的产品,单击产品进入产品界面。 在产品详情“模型定义”页面,单击“上传模型文件”。 图12 上传产品模型-CoAP 在弹出的页面中,上传提供的产品模型(本示例的产品模型),然后单击“确认”。 图13 上传模型文件-CoAP
  • 注册设备 本文介绍集成NB模组设备的注册方法,将小熊派智慧路灯在物联网平台注册。 在产品详情页面,选择“在线调试”,单击“新增测试设备”,此处新增的是非安全的NB-IoT设备。 在新增测试设备页面,选择“真实设备”,完成设备参数的填写后,单击“确定”。 图14 在线调试-新增测试设备 设备名称:自定义。 设备标识码:设备的IMEI号,用于设备在接入物联网平台时携带该标识信息完成接入鉴权,可在NB模组上查看。您也可以将拨测开关拨到AT-PC模式,选择STM的端口,波特率设置为9600,输入指令“AT+CGSN=1”获取IMEI号。 注:获取IMEI注册完设备后,需要将开发板的拨测开关拨到“AT-MCU”模式,因为开发板在MCU模式下才会通过NB卡连接网络。 设备注册方式:不加密。 设备创建成功,可在页面看到创建的设备。
  • 控制台操作概览 在完成实体设备硬件连接和代码编译烧录之后,我们需要在设备接入服务控制台创建产品、定义产品模型、开发编解码插件和注册设备。 创建产品:在物联网平台上规定好某一款产品的协议类型、数据格式、厂商名称、设备类型。此处我们需要按照智慧路灯的特征,在控制台创建智慧路灯的产品。 定义产品模型:产品模型是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的属性信息。此处,我们需要在控制台上,定义开关灯控制、光照强度、信号质量等。 编解插件开发:编解码插件是供物联网平台调用,完成二进制格式和JSON格式相互转换的。它将设备上报的二进制数据解码为JSON格式供应用服务器“阅读”,将应用服务器下行的JSON格式命令编码为二进制格式数据供终端设备(UE)“理解执行”。智慧路灯的数据格式是二进制,因此我们需要开发编解码插件,让物联网能够理解智慧路灯上报的数据,智慧路灯也能理解物联网平台下发的命令。 注册设备:将小熊派智慧路灯注册到物联网平台。
  • 编译并烧录代码 由于提供的demo样例中已配置好和华为云物联网平台的对接信息,您可以直接编译(代码不用做任何修改),并烧录到小熊派开发板MCU,节省开发时间。 单击VSCode底部工具栏的“Build”,等待系统编译完成。编译成功后,界面显示“编译成功”。 使用USB数据线,将小熊派开发与电脑连接,开发板右上角的拨测开关拨到右侧“AT-MCU模式”。 单击VSCode底部工具栏的“Download”,等待系统烧录完成。烧录成功后,界面显示“烧录成功”。 如果显示烧录失败,可能是开发板没有驱动导致与电脑无法串口通信,请参考2检查ST-Link驱动是否安装成功,如果驱动未安装,则参考这里下载并安装ST-Link驱动。 (可选)安装ST-Link驱动。 访问ST官网,下载ST-Link驱动,双击stlink_winusb_install.bat文件进行自动安装。(本文以Windows10-64bit ST-Link 2.0.1为例)。 注:您也可以使用适配您系统版本的exe文件进行安装。 打开PC设备管理器可查看对应的驱动是否安装成功。若下图所示,表明驱动安装成功。
  • 创建产品 某一类具有相同能力或特征的设备的集合称为一款产品。除了设备实体,产品还包含该类设备在物联网能力建设中产生的产品信息、产品模型(Profile)、编解码插件等资源。下面,我们按照小熊派智慧路灯的基本特征,在控制台上创建智慧路灯产品。 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”。 图10 产品-创建产品 创建一个协议类型为LwM2M/CoAP协议、设备类型为StreetLamp的产品,参考页面提示填写参数后,单击“确定”。 图11 创建产品-CoAP
  • 更多参考 开发产品模型 在产品详情“模型定义”页面,单击“自定义模型”,配置产品的服务。 产品模型设计思路: 表1 设备服务列表 服务类型(ServiceID) 服务描述 Button 实时按键检测 LED LED灯控制 Sensor 实时检测光照强度 Connectivity 实时检测信号质量 服务能力如下表所示。 表2 Button 能力描述 属性名称 数据类型 数据范围 属性列表 toggle int 0 ~ 65535 表3 LED命令列表 能力描述 命令名称 命令字段 字段名称 类型 数据长度 枚举 命令列表 Set_LED 下发命令 LED string 3 ON、OFF 响应命令 Light_state string 3 ON、OFF 表4 Sensor 能力描述 属性名称 数据类型 数据范围 属性列表 luminance int 0 ~ 65535 表5 Connectivity 能力描述 属性名称 数据类型 数据范围 属性列表 SignalPower int -140 ~ -44 ECL int 0 ~ 2 SNR int -20 ~ 30 CellID int 0 ~ 65535
  • 场景说明 智慧路灯是城市智能化道路上重要一环,智慧路灯的实施具有节约公共照明能耗、减少因照明引起的交通事故等多种社会意义。路灯也是大家在日常生活中可以强烈感知到的公共设施,更易理解其智能化的场景。 在该文档中,我们基于华为一站式开发工具平台(VS code工具IoTlink插件),从设备(小熊派开发套件)、平台(IoTDA华为物联网平台)、端到端构建一款智慧路灯解决方案样例,带您体验十分钟快速上云。实现智慧路灯检测并上报光照强度,显示在IoTDA控制台,并在IoTDA控制台远程控制LED灯开关的功能。
  • 安装IoT Link Studio插件 IoT Link Studio是针对IoT物联网端侧开发的IDE环境,提供了编译、烧录、调试等一站式开发体验,支持 C、 C++、汇编等多种开发语言,让您快速、高效地进行物联网开发。 以win10为例,获取电脑的系统配置:在运行窗口中输入pc,然后单击“属性”,查看系统配置,因为后续安装软件要选择操作系统。 图3 获取系统配置 访问 这里 ,根据您电脑系统配置,下载匹配的Visual Studio Code并安装。(本文以windows 10 64-bit系统Visual Studio Code为例。请下载1.49版本,其他版本不支持IoT Link)。 图4 下载Visual Studio Code 注:Visual Studio Code不支持苹果Mac系统。 安装成功后,打开VSCode 插件应用商店,搜索 IoT Link 找到IoT Link,然后单击安装。 图5 安装 首次启动配置。 IoT Link Studio 首次启动时会自动从网络下载最新的SDK包以及gcc依赖环境,请确保您的网络可用。安装过程中请不要关闭窗口,耐心等待。安装完成后重启VSCode使插件生效。 若您的网络需要配置代理,请在VSCode主页,选择左下角-设置-应用程序-代理服务器,在Proxy Support下拉框中选择“on”。 假如下载SDK包及gcc依赖环境失败,请手动下载SDK包,放到C:\Users\${用户名}\.iotlink\sdk目录下,文件名修改为IoT_LINK。放置完后,重新打开VSCode即可。目录格式如下图: 图6 SDK下载失败 图7 SDK存放目录
  • 小熊派开发板简介 开发板在物联网系统架构中属于感知设备,该类设备通常由传感器、通信模组、芯片以及操作系统组成。为增加开发板的可扩展性,小熊派开发板没有采用传统的板载设计,而是使用了可更换传感器扩展板以及可更换通信模组扩展板设计,通信模组是数据传输的出入口,常用的通信模组包括NB-IoT,Wifi以及4G等,芯片是设备的主控设备,该开发板内置了一个低功耗的STM32L431单片机作为主控芯片,即MCU。操作系统使用的是华为的LiteOS操作系统,其提供了丰富的端云互通组件。 为了便于开发调试,如图1所示,该开发板板载了2.1版本的ST-Link,它具有在线调试烧录,拖拽下载以及虚拟串口等功能。开发板中间板载一块分辨率为240 * 240的LCD屏幕,其主要用于显示传感器数据以及调试日志。LCD屏幕下方是主控芯片。 开发板右上角具有一个拨码开关,将其拨至左侧AT-PC模式,通过电脑端的串口助手,发送AT指令调试通信模组。右侧AT-MCU模式,通过MCU发送AT指令与通信模组进行交互,将采集到的传感器数据通过通信模组发送到云端。 图1 小熊派开发板
  • 业务实现 使用MQTT.fx模拟设备接入平台,详情请参考连接鉴权。 用MQTT.fx订阅平台下行信息Topic,MQTT.fx会收到平台服务端下发的查询版本命令。 Topic 下行: $oc/devices/{device_id}/sys/events/down 参数说明 请参考平台下发获取版本信息通知 图10 订阅通知 通过MQTT.fx上报软固件版本信息。 Topic 上行: $oc/devices/{device_id}/sys/events/up 参数说明 请参考设备上报软固件版本 示例 Topic: $oc/devices/{device_id}/sys/events/up 数据格式: { "object_device_id": "{object_device_id}", "services": [{ "service_id": "$ota", "event_type": "version_report", "event_time": "20151212T121212Z", "paras": { "sw_version": "v1.0", "fw_version": "v1.0" } }] } 图11 上报版本号 上报完版本号后,模拟器会接收到平台下发的升级通知,通知信息如下: Topic 上行: $oc/devices/{device_id}/sys/events/down 参数说明 请参考平台下发升级通知 图12 获取升级通知 设备收到升级通知后,可通过Http请求下载升级包。 本次演示使用Curl命令代替。 图13 下载升级包 示例 curl -X GET -H "Authorization:Bearer ****************************" "https://100.93.28.202:8943/iodm/dev/v2.0/upgradefile/applications/ddecccc223574aee9466fe8f7e16a205/devices/6079042873515a02c16ffd82_123456789/packages/4f201f38c281ca5d40794a3f" -v -k 应在http附加请求消息头(header)字段附加Authorization信息,其值为“Bearer {access_token}”,其中{access_token}为收到的升级通知中的access_token。Bearer和{access_token}之间有一个空格。 如果event_type为firmware_upgrade_v2、software_upgrade_v2,则在请求下载软固件包时不需要携带请求头。请求示例如下: GET https://******.obs.cn-north-4.myhuaweicloud.com:443/test.bin?AccessKeyId=DX5G7W********* 设备上报升级状态 Topic 上行: $oc/devices/{device_id}/sys/events/up 参数说明 请参考设备上报升级状态 示例 Topic: $oc/devices/{device_id}/sys/events/up 数据格式: { "object_device_id": "{object_device_id}", "services": [{ "service_id": "$ota", "event_type": "upgrade_progress_report", "event_time": "20151212T121212Z", "paras": { "result_code": 0, "progress": 50, "version": "V1.0", "description": "upgrade processing" } }] } 如下图所示上报升级进度为50%,可以在平台查询到升级进度为50%。 图14 上报升级进度50% 图15 任务详情-Test_upgrade_1-升级进度 完成升级 上报升级进度为100%,且当前版本为升级的目标版本,可以在平台查询到升级完成。 图16 上报升级进度100% 图17 软固件升级-固件升级
  • 场景说明 MQTT(Message Queuing Telemetry Transport)是一个基于客户端-服务器的消息发布/订阅传输协议,主要应用于计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备,适合长连接的场景,如智能路灯等。固件升级功能是网络设备所必须支持的基础服务。在设备固件出现安全漏洞、软件bug维护、自身功能优化、以及设备性能改良等需更新固件时,在线升级功能就尤为重要。本文档通过MQTT.fx模拟固件设备,使用华为云平台对该固件进行设备升级。 软件升级流程和固件升级流程一样,只是在设备上报版本号时对应参数字段不一样。固件升级上报版本号对应参数字段为fw_version,软件升级上报版本号对应参数字段为sw_version,请参考设备上报版本号
  • 验证操作 方法一: 您可以使用MQTT.fx模拟设备验证。 使用MQTT.fx分别模拟煤气探测器设备和推窗器,并连接到物联网平台。操作方法请参考在线开发MQTT协议的模拟智慧路灯。 打开模拟推窗器的MQTT.fx,订阅平台下发的命令。 选择“Subscribe”页签。 输入订阅平台下发命令的Topic=$oc/devices/{device_id}/sys/commands/#(其中与步骤2获取的设备ID保持一致。)。 单击“Subscribe”按钮,完成平台命令下发订阅。 图4 创建MQTT订阅 切换到模拟煤气探测的MQTT.fx,上报属性。 选择“Publish”页签。 输入属性上报的Topic:“$oc/devices/{device_id}/sys/properties/report(其中{deviceId}与步骤1获取的设备ID保持一致。)。 上报1条“gaslevel”大于6的属性。 样例: { "services": [{ "service_id": "gaslevel", "properties": { "gaslevel": 45 } } ] } 单击“Publish”按钮上报属性值。 图5 MQTT属性上报 切换到模拟推窗器的MQTT.fx,选择“Subscribe”页签。可以看到收到平台下发的“switch”取值为“on”的命令。 图6 查看下发命令 方法二: 您可以使用配置设备接入服务时注册的真实设备接入平台,上报“gaslevel”大于6的数据。设备会收到一条“switch”取值为“on”的命令,自动推开窗户。
  • 创建煤气监测产品 访问设备接入服务,单击“立即使用”进入设备接入控制台。 选择左侧导航栏的“产品”。 单击左侧的“创建产品”,创建煤气浓度监测产品,填写参数后,单击“确定”。 表1 创建产品参数示例 基本信息 产品名称 自定义,如gasdevice。 协议类型 选择“MQTT” 数据格式 选择“JSON” 所属行业 自定义 设备类型 在模型定义页面,单击“自定义模型”,参考下表,完成产品模型配置。gaslevel服务用于监控煤气浓度,windowswitch服务用于执行开关窗命令。 表2 煤气浓度监测产品模型参数示例 服务ID 参数类型 添加参数说明内容 gaslevel 属性 属性名称:gaslevel 数据类型:int 访问权限:可读 取值范围:0~100 windowswitch 命令 命令名称:switch 下发参数名称:switch 数据类型:enum 枚举值:on,off
  • 注册设备 本文介绍集成NB模组设备的注册方法。 在产品详情页面,选择“在线调试”,单击“新增测试设备”,此处新增的是非安全的NB-IoT设备。 在新增测试设备页面,选择“真实设备”,完成设备参数的填写后,单击“确定”。 图17 在线调试-新增测试设备 设备名称:自定义。 设备标识码:设备的IMEI号,用于设备在接入物联网平台时携带该标识信息完成接入鉴权,可在NB模组上查看。您也可以将拨测开关拨到AT-PC模式,选择STM的端口,波特率设置为9600,输入指令“AT+CGSN=1”获取IMEI号。 注:获取IMEI注册完设备后,需要将开发板的拨测开关拨到“AT-MCU”模式,因为开发板在MCU模式下才会通过NB卡连接网络。 设备注册方式:不加密。 设备创建成功,可在页面看到创建的设备。
  • 使用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通信。
  • 编译并烧录代码 由于提供的demo样例中已配置好和华为云物联网平台的对接信息,您可以直接编译(代码不用做任何修改),并烧录到小熊派开发板MCU,节省开发时间。 单击VSCode底部工具栏的“Build”,等待系统编译完成。编译成功后,界面显示“编译成功”。 使用USB数据线,将小熊派开发与电脑连接,开发板右上角的拨测开关拨到右侧“AT-MCU模式”。 单击VSCode底部工具栏的“Download”,等待系统烧录完成。烧录成功后,界面显示“烧录成功”。 如果显示烧录失败,可能是开发板没有驱动导致与电脑无法串口通信,请参考2检查ST-Link驱动是否安装成功,如果驱动未安装,则参考这里下载并安装ST-Link驱动。 (可选)安装ST-Link驱动。 访问ST官网,下载ST-Link驱动,双击stlink_winusb_install.bat文件进行自动安装。(本文以Windows10-64bit ST-Link 2.0.1为例)。 注:您也可以使用适配您系统版本的exe文件进行安装。 打开PC设备管理器可查看对应的驱动是否安装成功。若下图所示,表明驱动安装成功。
  • 配置IoT link Studio工程 单击VSCode底部工具栏的“Home”。 Home:管理IoT Link工程; Serial:输入AT指令检查开发板状态; Build:编译示例代码(步骤3后可见); Download:把编译后的代码烧录到MCU(步骤3后可见)。 配置交叉编译工具链。在弹出界面中单击“IoT Link设置”,选择工具链,若GCC工具目录或文件不存在,单击下载安装。 图8 IoT Link设置 图9 交叉编译工具链 小熊派STM32431下载的编译工具链版本为win32.zip。 在弹出界面中单击“创建 IoT 工程”,输入工程名称,工程目录,并选择开发板的硬件平台和示例工程模板。 工程名称:自定义,如Smoke。 工程目录:可以使用工具安装的默认路径,也可以选择系统盘以外的其他盘,如D:\。 硬件平台:当前提供的demo只适配STM32L431_BearPI硬件平台,请选择STM32L431_BearPI。 示例工程:本示例中,我们以智慧烟感为例,请选择oc_smoke_template demo,否则烧录的demo样例和在控制台定义的产品模型不匹配,无法上报数据。单击“确定”,导入完成。 单击“确定”,导入完成。
  • 定义产品模型 在产品详情,“模型定义”页面,单击“自定义模型”,配置产品的服务。具体创建方法可见: 产品模型设计思路: 表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 / /
  • 创建产品 某一类具有相同能力或特征的设备的集合称为一款产品。除了设备实体,产品还包含该类设备在物联网能力建设中产生的产品信息、产品模型(Profile)、插件等资源。 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”。 图10 产品-创建产品 创建一个协议类型为LwM2M/CoAP协议、设备类型为SmokeSensors的产品,参考页面提示填写参数后,单击“确定”。 图11 创建产品-CoAP
  • 安装IoT Link Studio插件 IoT Link Studio是针对IoT物联网端侧开发的IDE环境,提供了编译、烧录、调试等一站式开发体验,支持 C、 C++、汇编等多种开发语言,让您快速、高效地进行物联网开发。 以win10为例,获取电脑的系统配置:在运行窗口中输入pc,然后单击“属性”,查看系统配置,因为后续安装软件要选择操作系统。 图3 获取系统配置 访问 这里 ,根据您电脑系统配置,下载匹配的Visual Studio Code并安装。(本文以windows 10 64-bit系统Visual Studio Code为例。请下载1.49版本,其他版本不支持IoT Link)。 图4 下载Visual Studio Code 注:Visual Studio Code不支持苹果Mac系统。 安装成功后,打开VSCode 插件应用商店,搜索 IoT Link 找到IoT Link,然后单击安装。 图5 安装 首次启动配置。 IoT Link Studio 首次启动时会自动从网络下载最新的SDK包以及gcc依赖环境,请确保您的网络可用。安装过程中请不要关闭窗口,耐心等待。安装完成后重启VSCode使插件生效。 若您的网络需要配置代理,请在VSCode主页,选择左下角-设置-应用程序-代理服务器,在Proxy Support下拉框中选择“on”。 假如下载SDK包及gcc依赖环境失败,请手动下载SDK包,放到C:\Users\${用户名}\.iotlink\sdk目录下,文件名修改为IoT_LINK。放置完后,重新打开VSCode即可。目录格式如下图: 图6 SDK下载失败 图7 SDK存放目录
  • 场景说明 近年来,火灾频发,造成很大的人员及财产损失,国家高度重视,陆续出台相关文件,明确相关要求,落实消防安全责任。同时,人民消防意识逐渐提高,独立烟感得到一定程度的普及,在防火减灾方面起到一定的作用。但由于独立烟感产品存在一定的局限,例如人不在场收不到报警信息,工作状态不能实时掌握,独立烟感没有完全解决这些问题。 NB-IoT智慧烟感解决了传统烟感器布线难、电池使用周期短、维护成本高、无法与业主及消防机构交互等缺点。智慧烟感采用无线通信,具备即插即用、无需布线、易于安装等特点。 在该文档中,我们基于华为一站式开发工具平台(VS code工具IoTlink插件),从设备(小熊派开发套件)、平台(IoTDA华为物联网平台)、端到端构建一款智慧烟感解决方案样例,带您体验十分钟快速上云。实现智慧烟感检测并上报烟雾浓度值,显示在IoTDA控制台,并在IoTDA控制台远程控制蜂鸣器开关的功能。
  • 小熊派开发板简介 开发板在物联网系统架构中属于感知设备,该类设备通常由传感器、通信模组、芯片以及操作系统组成。为增加开发板的可扩展性,小熊派开发板没有采用传统的板载设计,而是使用了可更换传感器扩展板以及可更换通信模组扩展板设计,通信模组是数据传输的出入口,常用的通信模组包括NB-IoT,Wifi以及4G等,芯片是设备的主控设备,该开发板内置了一个低功耗的STM32L431单片机作为主控芯片,即MCU。操作系统使用的是华为的LiteOS操作系统,其提供了丰富的端云互通组件。 为了便于开发调试,如图1所示,该开发板板载了2.1版本的ST-Link,它具有在线调试烧录,拖拽下载以及虚拟串口等功能。开发板中间板载一块分辨率为240 * 240的LCD屏幕,其主要用于显示传感器数据以及调试日志。LCD屏幕下方是主控芯片。 开发板右上角具有一个拨码开关,将其拨至左侧AT-PC模式,通过电脑端的串口助手,发送AT指令调试通信模组。右侧AT-MCU模式,通过MCU发送AT指令与通信模组进行交互,将采集到的传感器数据通过通信模组发送到云端。 图1 小熊派开发板
  • 场景说明 在物联网解决方案中,针对庞大的数据进行自动学习时,需要对海量数据进行标注、训练,按照传统的方式进行标注、训练不仅耗时耗力,而且对资源消耗也是非常庞大的。华为云物联网平台可以通过规则引擎,将数据转发到华为云其他云服务,可实现将海量数据通过函数工作流(FunctionGraph)进行处理,再将数据流入AI开发平台(ModelArts)进行AI分析,并将分析结果统一转发至HTTP服务器中。 图1 场景说明 在本示例中,我们实现以下场景: 设备上报银行客户特征信息,物联网平台将数据转发至FunctionGraph,由FunctionGraph转发至ModelArts进行AI分析,最终将分析的结果转发至HTTP服务器中。
共100000条