-
【DevRun】华为云高校实习生技能大比拼【DevRun】华为云高校实习生技能大比拼_开发者-华为云 https://developer.huaweicloud.com/signup/b89905eb4dcf45549c801ce8f3441e0a 活动时间:2022.3.23-2022.4.14(本活动仅限在校学生参与)活动结束后,在所有报名的学生用户中抽5人送华为智能体脂秤3你要来领取“攻城狮宝典”,顺便体验一下IoT、AI等0基础实战开发,再领个大奖嘛?邀请好友一起来报名,还有机会成为华为实习生!*报名≥1000人,将邀请5位优秀的华为学长学姐与所有报名同学进行线上连麦交流(Welink会议的形式,会议链接届时将发放至大家报名时填写的邮箱中)。参与活动请先添加活动小助手微信(微信号:hwc-iot或扫描下方海报二维码)活动1 来微信抽奖!给小助手回复“抽奖”即可参与抽奖,华为周边、耳机、体脂称、手环等你来拿!*中奖后请微信联系小助手,填写收货地址领奖活动2 价值万元攻城狮宝典免费领——16门华为职业认证官方学习材料!给小助手回复“宝典”,按要求分享海报,即可领取【攻城狮宝典】人工智能、物联网、大数据等16个热门开发方向学习大礼包(华为职业认证官方学习材料),含115个视频课程、10万+页PPT教材&实验手册。*仅2000份活动3 攻城狮技能大比拼——华为实习生机试直通车!(本活动必须完成报名以及学生认证,否则无法统计积分)按要求完成任务获得积分,积分累计排名前50即有机会获得丰厚奖品;另外将在积分排名前50的同学中选拔10位优秀同学,发放华为实习生机试资格!*本次实习生招聘仅针对2023年应届毕业生积分排名奖品第1名WATCH FIT第2~4名Freebuds 4i第5~10名体脂称第11~20名华为开发者T恤第21~50名华为周边随机发(PVC包/鼠标垫/收纳包等 )积分30以上1000码豆(可在>会员中心<兑换周边礼品)Part 1 技能测评竞赛(总分50分)技能测评在线考试,每个技能点20道题,60分钟答题,不限制答题次数,答题及格即可获得相应积分。*以下同一技能以考取的最高等级计入积分。技能名称级别/积分(点击对应等级前往考试)Java技能测评Java开发:青铜级+5分Java开发:白银级+8分Java开发:黄金级+10分C语言技能测评C语言:青铜级+5分C语言:白银级+8分C语言:黄金级+10分Python技能测评Python开发:青铜级+5分Python开发:白银级+8分Python开发:黄金级+10分物联网基础知识测评物联网基础知识:青铜级+5分物联网基础知识:白银级+8分物联网基础知识:黄金级+10分人工智能开发技能测评华为云ModelArts基础:青铜级+10分Part2 项目实战体验(点击标题)(总分50分)(1)基于IoT平台构建智慧路灯应用+10分根据沙箱实验指导,在规定时间内完成开发一个基于物联网平台的智慧路灯应用。(2)AI口红上妆+10分按照示例,体验AI口红上妆Demo,调节正脸照片嘴唇颜色以匹配不同口红色号。(3)AnimeGANv2照片动漫化+10分按照示例,体验3. AnimeGANv2照片动漫化Demo,将现实场景的图片处理为动漫画分。(4)体验 DevStar 一站式的云原生应用开发能力 +10分根据指导书,体验如何10分钟上手DevStar开发serverless应用。(5)项目体验分享+10分在以上4个项目的体验过程中,将体验的感受、项目开发技巧、对所体验的平台的建议或学习收获等,进行总结,并发布到>>AI说要求所发布内容为原创300字以上,文章标题以【华为云实习生项目体验】开头扫描下方海报二维码,马上添加小助手领奖吧!
-
华为云IoT创新应用开发大赛——重庆邮电大学分赛区https://competition.huaweicloud.com/information/1000041667/introduction 本届大赛旨在鼓励参赛选手利用华为云提供的资源和服务,基于华为云IoT构建物联网行业应用,并使用华为云IoT服务与技术能力,实现更多智能制造、工业互联网等场景应用创新。举办方:华为技术有限公司大赛简介华为云IoT创新应用开发大赛——重庆邮电大学分赛区,是面向重庆高校在校生的大型科技竞赛活动。华为云IoT平台是一个能够实现人与物、物与物之间联接管理的云平台,本次大赛鼓励参赛选手利用华为云提供的资源和服务,基于华为云IoT构建物联网行业应用,展现重庆高校大学学生的科技创新能力和知识运用能力,给同学提供一个锻炼自我和表现自我的平台,提升同学对科技创新的兴趣、培养技术人才,启发创造性思维,激发科研兴趣,提高电子设计制作能力,有助于学生实践素质和综合能力的提高。并尽可能多地使用华为物联网云服务(设备接入管理服务、IoT边缘、IoT数据分析、LiteOS+鸿蒙操作系统等)与技术能力,在智慧城市、智慧园区、智慧交通、车联网、智慧农业等专业领域中深挖应用场景,实现更多应用创新。参赛对象重庆高校在校生,需要完成学生认证
-
人工智能作为科技创新产物,在改变人类生产方式、促进社会进步、增进产业发展等方面发挥着越来越重要的作用。人工智能的应用场景也不断拓展细分,正通过“+AI”赋能百业,主要的应用场景包括: **1. 智能企服。** 将人工智能、大数据、云计算等新一代信息技术融合应用于企业服务领域,实现企业服务领域各项产品及服务的云端化、智能化和集成化,进一步辅助用户企业降低时间成本、人力成本,辅助提升用户企业的管理效率、生产效率和销售效率。智能企服主要包括AI营销、AI协同办公&视频、AI业务流程、AI供应链管理4个细分领域。 **2. 智能医疗** 将物联网、大数据、人工智能等前沿技术集成应用于医疗卫生领域,实现健康医疗服务的数据化、标准化和智能化,以提升医疗的品质、效率与效益、合理优化健康医疗资源配置。智能医疗产业主要包含AI医学影像、AI医疗机器人、AI健康管理、AI公共卫生、AI药物研发、AI医院管理、AI精准医疗、AI医疗支付等8个细分领域。 **3. 智能金融** 人工智能与金融全面融合,以人工智能、大数据、云计算、区块链等新科技为核心赋能金融机构,提升金融机构的服务效率,拓展金融服务的广度和深度,实现金融服务的智能化、个性化及定制化。智能金融主要包含智能支付、智能风控、智能保险、智能投顾4个细分领域。 **4. 智慧交通** 充分运用物联网、空间感知、云计算、移动互联网等新一代信息技术,综合利用交通科学、系统方法、人工智能、知识挖掘等理论与工具,建设与汇集实时的动态交通信息,深度挖掘数据并形成问题分析模型,使交通系统在区域、城市甚至更大的时空范围具备感知、互联、分析、预测、控制等能力。随着车联网和系统集成应用的发展,智能交通的市场规模和用户类型不断扩大和丰富,日益成为城市大行业应用场景。 **5. 智能视听** 智能视听是将人工智能、5G网络通信、大数据、云计算等新兴技术综合应用在视听领域的制作剪辑、审核评定、传播推广、观看体验等各个环节,在生产端提升视频音频的生产制作效率、降低视频内容审核评定的成本,在用户端实现视频传播推广的个性化、观看方式的多元化、观看内容的定制化。 此外,人工智能的应用场景还在向一些新兴领域拓展。比如元宇宙(Metaverse),即利用区块链、虚拟空间、人工智能、AR/VR等技术,构建一个虚拟的现实世界,在网络世界复制现实社会,通过软硬件设施的辅助,增强虚拟世界的真实性。人工智能物联网(AIOT),即融合人工智能(AI)技术和物联网(IoT)技术,通过物联网产生、收集来自不同维度的、海量的数据存储于云端、边缘端,再通过大数据分析,以及更高形式的人工智能,实现万物数据化、万物智联化。
-
本文分享自华为云社区《[物联网应用开发实践案例-智慧农业【玩转华为云】](https://bbs.huaweicloud.com/blogs/336348?utm_source=csdn&utm_medium=bbs-ex&utm_campaign=iot&utm_content=content)》,作者: DS小龙哥。 # 1. 设计需求、硬件环境介绍 ## 1.1 项目背景 近几年,物联网、智能家居、AI人工智能技术发送非常迅速。在物联网技术的支撑下,如今农业逐渐走向现代化,自动化、现在智能化的农业生产成为了主流。告别“刀耕火种”的传统农业后,现代农业也正在向智慧型转变,当前智慧农业模式已经深入到农业生产的各个环节,灌溉、施肥、植保等细分领域都将与物联网、信息技术等先进科技相结合,效率、效果也将得到大大提高。 要知道,所谓的“智慧农业”就是充分应用现代信息技术成果,集成应用计算机技术与网络技术、物联网技术、无线通信技术以及专家智慧与知识等,实现农业可视化远程诊断、远程控制、灾变预警等智能管理。那么融入物联网的智慧农业的有以下几个优点: 1、低成本化 众所周知,目前想要购买一套全面的智慧农业设备的成本都较高,这是普通农户难以承受的,因此,想要实现全面智慧农业,那么低成本的智慧农业设备将成为智慧农业趋势之一。 2、操作简单化 智慧农业的根本是服务于农业、服务于农户,所以想要做到让农户更快地与智慧农业接轨就必须要把系统做得易操作、易学。要知道,当前我国农民普遍文化程度较低,只有将操作简单化才能够让每个农民都能熟练操作。 智慧农业也是一个大范围,比如: 智慧鱼塘、智慧大棚、智慧园林、城市绿化、智能果园等等都属于智慧农业的范围。 有了智能设备的加持:可以实现自动浇水灌溉、实时检测土壤养分、水分、环境温度、自动补光等一系列联动操作。 本篇文章就利用华为云IOT物联网平台实践搭建一个智慧农业智慧大脑,设备平台采用小熊开发板,搭载的CPU是意法半导体的STM32L431芯片,这是意法半导体推出的低功耗芯片;配合外部的一些专业传感器,能够获取空气中的温湿度数据,光照度数据等,根据种植区的空气温湿度数据,判断是否进行灌溉。 ## 1.2 实现功能 本项目是**利用意法半导体的STM32L431+ESP8266 WIFI ,配合华为云物联网平台服务器,组建一个智慧农业控制系统**,结合外部传感器采集的数据,并利用这些数据判断是否进行灌溉,补光等信息提示。 考虑到以学习、实践为目的,当前项目采用了ESP8266无线WIFI网卡作为联网设备,ESP8266价钱便宜,支持串口编程,有标准的一套AT资料,资料多,作为学习而言,非常适合。可以通过对ESP8266的编程实验,了解TCP、MQTT网络编程相关知识点。 **当前项目主要分为六个功能模块,分别是:基础系统模块、温度采集模块、湿度采集模块、光照采集模块、无线传感器网络模块、OLED显示屏模块。** (1)基础系统模块:进行各个数据的接收与转发,控制扫水作业是否进行,浇水作业是采用板载的电机模拟 (2)温度采集模块:采集监测区域的温度数据,传输到微控制器 (3)湿度采集模块:采集监测区域的湿度数据,传输到微控制器 (4)光照采集模块:采集监测区域的光照数据,传输到微控制器 (5)无线传感器网络模块:数据上传至云平台,数据下发交互等 (6)LCD显示屏模块:实时显示所监测到的各项数据 小熊开发板的扩展板上自带了光敏传感器、温湿度传感器、直流电机模块,可以很方便的实现上面的这些功能需求。 本项目设备的源代码里,连接华为云的MQTT协议是按照MQTT的官方中文手册编写的,不依赖任何外部SDK,不依赖ESP8266设备,只要能联网的设备都可以连接华为云IOT,非常适合移植到其他单片机平台;不管是采用51,STM32F1系列,都可以直接参考代码移植。 华为云物联网平台提供了API接口,可以通过API开发配套的上位机,方便实现数据查看,手动灌溉等操作。 提供的API除了可以查询设备属性信息之外,还可以创建产品、设备、对开发上位机来讲非常方便,可以开发出从底层设备到云端服务器、再到应用APP软件,完成3层数据交互。 **下面是开发的上位机APP运行效果。**   **当前文章主要完成3个任务的实践:** (1)云端产品的创建、设备的创建 (2)设备上云,完成服务器登录、数据上传 (3)手机APP、电脑上位机软件的开发,可以通过云端API接口与设备、服务器之前通讯 ## 1.3 设备实物图 目前联网的设备采用的ESP8266(手上没有现成的NBIOT模块,暂时使用ESP8266代替,核心原理是一样的),正常项目里会使用NBIOT模块联网作为数据传输源。 小熊开发板的设备相关实物图如下:     # 2. 创建IOT服务器端产品 需要先创建产品、在产品下再创建设备。产品是一个大框架,产品下的设备可以有很多,在应用层,可以通过华为云平台提供的API创建设备,删除设备,查询设备属性,在做产品时,软件端可以做一个设备注册的引导界面,完成产品下的设备注册,再将数据传递给设备端,这个过程叫“配网“,具体逻辑需要配合设备端完成。最终完成自动化设备创建,注册,上线等操作。 下面先介绍如何手动创建产品,创建设备,了解创建产品创建设备的过程中需要填充什么参数,理解之后,再使用API时才更加理解参数含义。 ## 2.1 创建产品 直接打开物联网产品页面: https://www.huaweicloud.com/product/iothub.html  打开产品页面,选择右上角创建产品。  根据自己情况填写信息。就是填写自己产品的一些参数信息。  创建成功后打开产品详情页面,拉到最下面,点击创建自定义模型文件。  这里创建模型文件主要就是为了MQTT客户端能够正确的上传传感器数据上来,每个传感器设置一个属性,这个属性就是表示了传感器的数据值类型。 比如: 先添加一个电机,这个电机就是浇水电机,能上报开关状态,云端也能下发命令控制电机,所以需要添加属性和下发的命令。  添加属性:  添加命令: 因为电机需要云端远程控制。  **接下来就创建温度、湿度、光照度传感器的属性,这些传感器只是向云端上传数据,不需要下发指令控制,选择只读就可以了,电机要先实现远程浇灌控制,属性就选择读写。**    创建完毕效果,一共有4个属性,电机、温度、湿度、光强度:  ## 2.2 创建设备 选择设备页面,注册设备。  创建后保持设备密匙等信息,接下来登录服务器时,生成MQTT账号密匙需要用到这些参数。  **当前创建的设备信息如下:** { "device_id": "61cd1d97078a93029b84e7b6_1126626497", "secret": "1126626497" } ## 2.3 生成MQTT登录账号信息 官微提供的在线小工具: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/ 按照提示填入数据,生成,非常方便。  **当前生成的信息如下:** ClientId 61cd1d97078a93029b84e7b6_1126626497_0_0_2021123003 Username 61cd1d97078a93029b84e7b6_1126626497 Password b219f3a0099fa0284a2671a5c699b67a7cf6d5f7355d9ee8190011f3b64f71b5 # 3. 使用MQTT客户端模拟测试 为了验证服务器配置是否OK,先使用MQTT客户端软件进行连接测试。 ## 3.1 华为云IOT服务器地址与端口  端口: 1883 域名: a161a58a78.iot-mqtts.cn-north-4.myhuaweicloud.com IP地址: 121.36.42.100 ## 3.2 订阅主题 在产品页面,可以看到主题管理页面,能看到当前设备可以订阅的主题有哪些。  一般订阅下发的数据: 格式: $oc/devices/{device_id}/sys/messages/down //订阅主题: 平台下发消息给设备 $oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/messages/down ## 3.3 上报主题数据 官方文档介绍: https://support.huaweicloud.com/devg-iothub/iot_01_2127.html  服务ID,属性ID在产品页面查看,2.1小节创建产品里就讲了这个属性的作用。  每次可以单个属性上报,也可以一起上报。 格式: $oc/devices/{device_id}/sys/properties/report //设备上报主题请求 $oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/properties/report //上报的数据格式如下 //电机开状态反馈 {"services": [{"service_id": "motor","properties":{"motor":1}}]} //电机关状态反馈 {"services": [{"service_id": "motor","properties":{"motor":0}}]} //温度上报 {"services": [{"service_id": "motor","properties":{"SHT30_H":14}}]} //湿度上报 {"services": [{"service_id": "motor","properties":{"SHT30_L":70}}]} //光照强度上报 {"services": [{"service_id": "motor","properties":{"BH1750":80}}]} //也可以一起上报 {"services": [{"service_id": "motor","properties":{"motor":1}},{"service_id": "motor","properties":{"SHT30_H":15}},{"service_id": "motor","properties":{"SHT30_L":70}},{"service_id": "motor","properties":{"BH1750":80}}]} ## 3.4 登录服务器 按照软件提示,填入相关数据即可。 如需要也需要使用和我一样的同款软件,打开百度搜索MQTT客户端_v2.4(协议3.1.1).exe 即可找到下载地址。  发送数据后查看云端,已经登录成功,数据已经上传成功。  ## 3.5 下发命令 电机设备支持读写,支持下发命令,在设备页面测试。   点击确定之后,参看MQTT客户端软件,已经收到了下发的数据。  `len:174,Data:l$oc/devices/61cd1d97078a93029b84e7b6_1126626497/sys/commands/request_id=390ce15d-6e69-4021-b83a-5e953eea874c{"paras":{"motor":1},"service_id":"motor","command_name":"motor"}` # 4. 设备端上华为云IOT ## 4.1 安装keil软件 MCU采用的STM32芯片,设备端代码编写开发就采用的keil5。 keil5安装包下载地址: http://www.myir-tech.com/download.asp 安装keil时,软件要放在英文目录下,电脑的用户名必须是英文,否则会出现一些奇怪问题。 安装过程中,根据提示下一步下一步点击即可。  ## 4.2 编写代码 **工程代码:**    工程代码较多,这里就贴出main.c全部代码: (main.c代码较多,详细代码请见原文章) # 5. 上位机软件开发 上位机与设备之间通信,需要通过服务器完成,服务器提供了对应的API接口,所以对于上位机而言通信主要是对HTTP请求进行处理,返回的数据进行解析等操作。 当前的软件采用是采用QT设计的,实现了产品注册、设备注册、获取在线设备,获取设备属性,远程指令发送等主要功能。 访问华为云的接口都需要填一个X-Auth-Token参数,这个参数获取需要IAM账号,下面第一步就先介绍,如何创建IAM账号,如何获取X-Auth-Token参数。  ## 5.1 创建IAM账户 创建一个IAM账户,方便接下来使用API接口访问华为云服务时,生成token登录密匙。 地址: https://console.huaweicloud.com/iam/?region=cn-north-4#/iam/users      账户创建好之后,代码里就可以编写一个获取Token的函数。 /* 功能: 获取token */ void Widget::GetToken() { //表示获取token function_select=3; QString requestUrl; QNetworkRequest request; //设置请求地址 QUrl url; //获取token请求地址 requestUrl = QString("https://iam.%1.myhuaweicloud.com/v3/auth/tokens") .arg(SERVER_ID); //自己创建的TCP服务器,测试用 //requestUrl="http://10.0.0.6:8080"; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8")); //构造请求 url.setUrl(requestUrl); request.setUrl(url); QString text =QString("{\"auth\":{\"identity\":{\"methods\":[\"password\"],\"password\":" "{\"user\":{\"domain\": {" "\"name\":\"%1\"},\"name\": \"%2\",\"password\": \"%3\"}}}," "\"scope\":{\"project\":{\"name\":\"%4\"}}}}") .arg(MAIN_USER) .arg(IAM_USER) .arg(IAM_PASSWORD) .arg(SERVER_ID); //发送请求 manager->post(request, text.toUtf8()); } ## 5.2 查询设备列表 帮助文档地址: https://support.huaweicloud.com/api-iothub/iot_06_v5_0048.html 官方提供了API接口,可以直接获取产品下面的所有设备详细信息返回。 关于请求参数,返回结果的字段含义,在帮助文档里有详细介绍。 URL格式: /v5/iot/{project_id}/devices 示例: https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/0f2d61e43600f4e22f74c003616710bc/devices?product_id=6210e8acde9933029be8facf&is_cascade_query=false&limit=10&marker=ffffffffffffffffffffffff&offset=0 接口的在线调试地址:https://apiexplorer.developer.huaweicloud.com/apiexplorer/debug?product=IoTDA&api=ListDevices  返回的结果: { "devices": [ { "app_id": "1af45e3938bb4482bc0be0a5cb3089e3", "app_name": "DefaultApp_620esbs1", "device_id": "6210e8acde9933029be8facf_dev2", "node_id": "dev2", "gateway_id": "6210e8acde9933029be8facf_dev2", "device_name": "dev2", "node_type": "GATEWAY", "description": null, "fw_version": null, "sw_version": null, "device_sdk_version": null, "product_id": "6210e8acde9933029be8facf", "product_name": "DHT11", "status": "INACTIVE", "tags": [] }, { "app_id": "1af45e3938bb4482bc0be0a5cb3089e3", "app_name": "DefaultApp_620esbs1", "device_id": "6210e8acde9933029be8facf_dev1", "node_id": "dev1", "gateway_id": "6210e8acde9933029be8facf_dev1", "device_name": "dev1", "node_type": "GATEWAY", "description": null, "fw_version": null, "sw_version": null, "device_sdk_version": null, "product_id": "6210e8acde9933029be8facf", "product_name": "DHT11", "status": "OFFLINE", "tags": [] } ], "page": { "count": 2, "marker": "6210efa980c60c11be19ead1" } } 上面的返回结果里通过JSON数组保存了设备信息,每一个设备就是一个独立的对象,上面的数据里返回了两个设备的信息,说明产品的目录下创建了两个设备。  应用层编写代码完成设备列表获取: //查询所有设备 void Widget::Get_AllDevice() { //查询设备列表 function_select=1; QString requestUrl; QNetworkRequest request; //设置请求地址 QUrl url; //设备列表请求地址 requestUrl = QString("https://iotda.%1.myhuaweicloud.com/v5/iot/%2/devices?product_id=%3&is_cascade_query=false&limit=10&marker=ffffffffffffffffffffffff&offset=0") .arg(SERVER_ID) .arg(PROJECT_ID) .arg(Product_id); //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); //设置token request.setRawHeader("X-Auth-Token",Token); //构造请求 url.setUrl(requestUrl); request.setUrl(url); //发送请求 manager->get(request); } 服务器返回的结果解析: //查询设备列表 if(function_select==1) { //清空原来的设备列表 ui->comboBox->clear(); device_id_lis.clear(); //解析数据 QJsonParseError json_error; QJsonDocument document = QJsonDocument::fromJson(replyData, &json_error); if(json_error.error == QJsonParseError::NoError) { QJsonObject obj = document.object(); //判断是否是对象,然后开始解析数据 if(document.isObject()) { QJsonObject obj = document.object(); if(obj.contains("devices")) { QJsonArray array=obj.take("devices").toArray(); for(int i=0;i/得到设备ID if(obj1.contains("device_id")) { QString device_id=obj1.take("device_id").toString(); device_id_lis.append(device_id); ui->comboBox->addItem(device_id); qDebug()"device_id:"/support.huaweicloud.com/api-iothub/iot_06_v5_0034.html  **(2)在线调试地址** 接口的在线调试地址: https://apiexplorer.developer.huaweicloud.com/apiexplorer/debug?product=IoTDA&api=ListProperties **(3)设备端响应的数据格式** 帮助文档: https://support.huaweicloud.com/api-iothub/iot_06_v5_3011.html  **(4)使用总结** 上位机APP向设备端请求查询设备属性时,设备端会收到如下的消息: `$oc/devices/6210e8acde9933029be8facf_dev1/sys/properties/get/request_id=5f359b5c-542f-460e-9f51-85e82150ff4a{"service_id":"DHT11"}` 设备端需要解析这个字符串,得到里面的request_id=5f359b5c-542f-460e-9f51-85e82150ff4a 值。在向服务器回应时,要带上这个请求ID。 设备端响应的主题格式: $oc/devices/{device_id}/sys/properties/get/response/request_id={request_id} 示 例: $oc/devices/6210e8acde9933029be8facf_dev1/sys/properties/get/response/request_id=6c36c85e-68e1-4d01-a2a3-b89f09bd0427 设备端响应的数据格式: {"services": [{"service_id": "gps","properties":{"DHT11_t":12,"DHT11_h":33}}]} 应用端上位机收到设备端的响应数据: "{\"response\":{\"services\":[{\"service_id\":\"temp\",\"properties\":{\"DHT11_t\":13,\"DHT11_h\":33.345}}]}}" **(5)应用端获取设备属性** //查询设备属性 void Widget::Get_device_properties() { //表示获取token function_select=0; QString requestUrl; QNetworkRequest request; //设置请求地址 QUrl url; if(device_id_lis.size()=0) { //显示错误代码 QMessageBox::information(this,"提示","未选择设备,请先获取设备列表\n选择设备后重试.",QMessageBox::Ok,QMessageBox::Ok); return; } //获取token请求地址 requestUrl = QString("https://iotda.%1.myhuaweicloud.com/v5/iot/%2/devices/%3/properties?service_id=%4") .arg(SERVER_ID) .arg(PROJECT_ID) .arg(device_id_lis.at(ui->comboBox->currentIndex())) .arg(service_id); //自己创建的TCP服务器,测试用 //requestUrl="http://10.0.0.6:8080"; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); //设置token request.setRawHeader("X-Auth-Token",Token); //构造请求 url.setUrl(requestUrl); request.setUrl(url); //发送请求 manager->get(request); } **(6)应用端解析数据** //查询设备属性 if(function_select==0) { //解析数据 QJsonParseError json_error; QJsonDocument document = QJsonDocument::fromJson(replyData, &json_error); if(json_error.error == QJsonParseError::NoError) { //判断是否是对象,然后开始解析数据 if(document.isObject()) { QJsonObject obj = document.object(); if(obj.contains("response")) { QJsonObject obj1=obj.take("response").toObject(); if(obj1.contains("services")) { QJsonArray array=obj1.take("services").toArray(); } } } } return; } ## 5.4 上位机开发环境搭建 上位机软件是采用QT开发的,Qt是一个1991年由QtCompany开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。QT在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的Qt Creator也发布了更新版本。Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。 目前QT在嵌入式领域、桌面端都用的非常多,开发桌面,嵌入式的上位机还是非常方便。 嵌入式领域包括: 车机主机、嵌入式Linux设备等。 QT官网: https://resources.qt.io/cn  QT5.12.6安装包下载地址: https://download.qt.io/archive/qt/5.12/5.12.6/ QT学习专栏: https://blog.csdn.net/xiaolong1126626497/category_11400392.html QT环境搭建文章:https://xiaolong.blog.csdn.net/article/details/120654599 # 6. 总结 整个项目的实现主要分为两个大部分:1. 设备上云 2. 应用侧的软件开发 (1)设备上云: 目前通过STM32、ESP8266已经完了华为云物联网云平台的连接,ESP8266上云的过程主要是MQTT协议的理解,目前采用的ESP8266没有内置MQTT协议相关的AT指令,需要自己实现MQTT协议,这个过程稍微麻烦一点,需要安装官网的MQTT协议手册拼接结构完成协议构造。对于设备端而言,只要是通信采用标准的MQTT协议,不管连接哪一个物联网云平台,过程是没有多大区别的。 (2)应用层软件开发: 应用侧软件开发主要是方便远程管理设备,目前华为云物联网平台没有提供在线web设计功能、没有提供公版的APP;所以,在设备上云之后,想要方便的对设备的属性进行查看,管理,都需要自己开发上位机才行。
-
请问一下为什么在线调试这里现在只显示命令发送的内容不显示数据接受的内容了,之前还显示光照强度的数值 610136
-
介绍智慧园区解决方案中所用到的术语和缩略语。表1 术语缩略语表AAdapterFDI的任务调度和资源调度。AHUAir Handling Unit,末端空调。AIArtificial Intelligence,人工智能。APIApplication Programming Interface,应用程序编程接口,应用将自身的服务能力封装成API,开放给用户调用。APICAPI Connect,ROMA平台的API管理产品,涵盖API网关、LiveData和API Market三个子产品。聚焦在API轻量化集成,存量系统服务化改造,全球跨云跨数据中心路由等核心功能,实现从API设计、开发、管理到发布的全生命周期管理和端到端集成。API GatewayAPI网关,提供API的完整生命周期管理,包括创建、维护、发布、运行、下线等。API授权网关授权给某个appid使用此API。AppCubeAppCube是一个面向企业商业应用的云开发平台,为您提供便捷、高效的应用开发能力。帮助您完成一个应用的在线开发、测试和部署。BBOBusiness Object,商业对象,一个BO相当于一个完整场景的服务。CCOPCoefficient of Performance,性能系统。DDDCDirect Digit Control,直接数字控制,简称为DDC系统,是用一台计算机对被控参数进行检测,再根据设定值和控制算法进行运算,然后输出到执行机构对生产进行控制,使被控参数稳定在给定值上。利用计算机的分时处理功能直接对多个控制回路实现多种形式控制的多功能数字控制系统。DLIData Lake Insight,数据湖探索。DOData Object,数据对象,数据平台沉淀的资产。EEIEnterprise Intelligence,企业智能。FFDIFast Data Integration,ROMA平台的数据集成产品,支持文本、消息、API、结构和非结构化数据等多种数据源之间的灵活、快速、无侵入式的数据集成,可以实现跨机房、跨数据中心、跨云的数据集成方案,并能自助实施、运维、监控集成数据。GGISGeographic Information System,地理信息系统。IIAMIdentity and Access Management,统一身份认证服务。IOIntegration Object,集成对象。IOCIntelligent Operation Center,智能运营中心。IoTInternet of Things,物联网。IVSIntelligent Video System,智能视频系统。J节点(DGC)定义对数据执行的操作。例如,使用“数据迁移”节点将数据从OBS导入到MRS Hive。LLiveData提供将各种DB内提供的数据服务,转换为REST接口的能力。MMQTTMessage Queueing Telemetry Transport Protocol,MQTT是一个物联网传输协议,被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。MQSMessage Queue Service,开源分布式消息系统RocketMQ进行封装满足三大集成场景要求Active RealTime Integration,主动实时消息集成。通过消息通道,实现IT系统间的数据/应用集成。NNFCNear Field Communication,近距离无线通信技术。OOBSObject Storage Service,对象存储服务。RROMARelationship,Open,MultiCloud,AnyConnect,集成平台。TTOPIC消息主题。消息的生产与消费,围绕消息主题进行生产、消费以及其他消息管理操作。Topic也是消息队列的一种发布与订阅消息模型。生产者向消息主题发布消息,多个消费者订阅该消息主题的消息,生产者与消费者彼此并无直接关系。VVAV BOXVariable Air Volume BOX,变风量空调系统的末端装置,其作为变风量空调系统的关键设备之一。空调系统通过末端装置调节一次风送风量,跟踪负荷变化,维持室温。VCMVCM和VCN是IVS平台两大业务模块:VCN:视频调阅平台,指图像管理服务,主要负责视图的接入、存储和转发。VCM:视频分析平台,指图像解析服务和图像检索服务,主要负责智能业务的处理。VCNVDCPVideo Disk Control Protocol ,视频磁盘通讯协议。WWelink华为云WeLink,企业数字化办公协作平台,融合消息、会议、邮件、知识、能力开放等,实现团队、知识、业务、设备的全面连接。X消息轨迹在一条消息从发布者发出到订阅者消费处理过程中,由各个相关节点的时间、地点等数据汇聚而成的完整链路信息。通过消息轨迹,用户能清晰定位消息从发布者发出,经由MQS服务端,投递给消息订阅者的完整链路,方便定位排查问题。Y应用通过对应用的角色权限定义,对API、数据、消息等进行权限隔离。Z作业(DGC)作业由一个或多个节点组成,共同执行以完成对数据的一系列操作。
-
请问E53SC1智慧路灯有没有代码解析呀
-
请问一下智慧路灯在云平台上怎样实现设置自动开关灯的设备联动规则
-
开发流程设备IO的开发流程如表1,开发规范请参考《集成平台开发规范》。表1 设备IO开发流程流程说明注册应用在ROMA平台注册设备IO的应用名称和应用ID。创建Topic并设置订阅/发布创建接收设备原始消息的Topic、接收设备原始告警消息的Topic。环境配置/密码配置通过环境配置/密码配置,将参数或者密码设为全局变量,后续代码中通过全局变量获取对应参数、参数值、密钥和密码等。开发消息上报接口设备IO的消息上报接口,共包含3个LiveData接口。开发指令下发接口设备IO的指令下发接口,1个LiveData接口。设备IO数据规划规划应用ID、Topic和接口URL,如表2所示。表2 设备IO的数据规划参数样例说明租户GTM001下面样例中的“GTM001”为租户名称。本章节在开发过程中,要在设计内容的基础上增加后缀“__GTM001”或者前缀“GTM001__”,即携带租户信息。deviceTypeTurnstile_BPIoT系统对应的IO通过消息体中的“deviceType”参数,确定要路由的设备IO。其中“BP”指新基点IoT(BasePoint),在多IoT场景中以“deviceType”中的后缀(例如“_BP”)区分不同的IoT。在实际开发过程中,根据设备实际接入的IoT系统来增加后缀。应用IDGTM001__io.device.basepoint.Turnstile_BP人行闸机IO在ROMA平台的应用ID。其中GTM001为租户名称,实际开发时请替换为自己实际的租户名或者用户名。应用名称GTM001__人行闸机设备IO人行闸机IO在ROMA平台的应用名称。Topic接收新基点IoT发来的设备原始消息的Topic:T_IO_DATACHANGED_Turnstile_BP__GTM001人行闸机IO需要2个Topic接收新基点IoT发来的消息:一个接收设备原始消息,一个接收设备告警消息。其中GTM001为租户名称,实际开发时请替换为自己实际的租户名或者用户名。接收新基点IoT发来的设备原始告警消息的Topic:T_IO_ALARM_Turnstile_BP__GTM001接收设备信息变化的标准Topic:T_IO_DEVICE_DATACHANGED__GTM001消息格式标准化之后:转换后的设备原始消息,推送给设备信息变化标准Topic。转换后的设备告警消息,推送给设备告警的标准Topic。这2个Topic只需要创建一次即可,所有设备IO转换后的标准消息都推送给它们,不需要重复创建。接收设备告警的标准Topic:T_IO_DEVICE_ALARM__GTM001API设备数据变化消息回调(人行闸机)URL:/io/GTM001__io.device.basepoint.Turnstile_BP/device/data-changed人行闸机IO的2个LiveData接口,分别订阅如下2个Topic进行数据格式标准化。T_IO_DATACHANGED_Turnstile_BP__GTM001T_IO_ALARM_Turnstile_BP__GTM001其中GTM001为租户名称,实际开发时请替换为自己实际的租户名或者用户名。设备告警消息回调(人行闸机)URL:/io/GTM001__io.device.basepoint.Turnstile_BP/device/alarm开放订阅关系的配置接口URL:/io/GTM001__io.device.basepoint.Turnstile_BP/device/mqsSet消息订阅接口,开放订阅关系的配置接口,用于订阅设备变化、告警消息。人行闸机设备IO指令下发URL:/io/GTM001__io.device.basepoint.Turnstile_BP/south/send-command/0.1.0人行闸机设备IO指令下发包含一个LiveData接口,名称为“指令下发(人行闸机)”。
-
设备IO的需求园区一般集成了多种设备,不同设备上报的消息体、格式各不相同,业务平台(AppCube平台)对消息格式有统一化的要求,因此需要在集成平台(ROMA平台)对上报的消息进行拆分、格式化处理,从而屏蔽设备原始消息与标准消息之间的差异问题。基线通过设备IO来实现设备原始消息转化为标准消息的功能。设备IO的功能介绍设备通过IoT(例如新基点IoT)系统接入到ROMA平台。设备IO用于处理设备上报给ROMA平台的消息,以及ROMA平台下发给设备的指令数据,而消息上报和指令下发都要通过IoT(如新基点IoT)来实现。图1 设备IO功能下面以新基点IoT系统、人行闸机设备IO为例,介绍设备IO的消息处理流程,如表1所示。表1 设备IO的消息流程功能流程消息上报人行闸机设备数据变化/告警消息,由新基点IoT IO拆分成设备数据变化或者设备告警消息,并转发给人行闸机设备IO。人行闸机设备IO对数据格式进行转换标准化,并发送到标准Topic完成消息上报。指令下发设备管理标准接口应用路由业务侧的指令到IO Adapter应用。IO Adapter依据“channel”参数确定指令要路由到哪个IoT(南向物联网系统)。“channel”参数用于多IoT平台的场景。例如要将指令路由到新基点IoT,那么业务侧指令应该携带的“channel”值为“basepoint.connectionmax.iot”。南向物联网系统对应的IO通过消息体中的“deviceType”参数,确定要路由的设备IO,并携带accessToken。设备IO将业务侧下发的指令转换为实际物理设备可以执行的指令,并调用南向物联网系统的指令下发接口。
-
为什么在线调试一直显示设备未激活 608576
-
最开始编译虽然成功,但是有警告,能成功烧录进开发板,烧录成功后LCD由欢迎页面变成这种,还是没有温湿度LCD屏一直在这个页面和华为云IoT公众号的二维码之间跳转,就是不显示温湿度后面我再编译工程就是直接成功,也没有警告,但是烧录进去还是这样请问这是为什么,求大佬指教,谢谢
-
【功能模块】【BearPi-IoT】智慧农业【操作步骤&问题现象】【BearPi-IoT】智慧农业,利用官方网盘里的案例程序和操作文档,程序已经显示烧录,但是开发板上没有反应,并没有显示温湿度,请问是为什么,求大佬指教【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】小熊派NB-Iot物联网模块【操作步骤&问题现象】删除挂载设备后重新注册,显示标识码已存在【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】小熊派智慧农业上云无法创建新项目【操作步骤&问题现象】1、华为云 IoT Studio无法创建新项目2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签