-
引言随着物联网(IoT)技术的迅猛发展,越来越多的开发者和企业开始关注如何高效地构建和管理智能设备。物联网概览物联网通过传感器、RFID等技术实现了物品与物品、物品与人之间的信息交换与通信,构建了一个智能化网络。其架构分为感知层、网络层和应用层,各层次协同工作,实现数据采集、传输与处理。据预测,到2025年全球物联网市场规模将达到1.5万亿美元,在智能家居、智能交通等领域有广泛的应用前景。应用案例智能家居:智能音箱可通过语音控制家电,智能门锁实现远程开门,智能摄像头实时监控家庭安全。智能交通:利用传感器优化交通流量,车联网技术提升交通安全与效率。工业物联网:通过传感器监控生产设备状态,提高生产效率和产品质量。华为云IoT平台介绍华为云IoT平台提供了一套完整的设备接入解决方案,支持设备注册、状态监控、远程控制等功能模块,帮助用户快速搭建稳定的物联网应用。主要功能设备管理:包括设备注册区、设备管理列表、设备详情页等部分,支持多种设备类型的注册与批量操作。在线调试:提供详细的设备创建流程指导,简化了开发者接入设备的难度。消息跟踪:实时监控设备上报的数据,并能下发命令给设备。实例展示以智慧烟感器为例,演示了设备连接平台、上报数据到平台以及平台下发命令给设备的过程。这不仅展示了平台的功能性,还证明了其实时性和高效性。首页搜索“设备接入”,进行服务的开通随后来到控制台,点击你所开通的服务在产品里“创建产品”输入相关产品信息随后到设备页面进行注册设备相关demo案例引导可参考:https://support.huaweicloud.com/qs-iothub/iot_05_00010.html以一款虚拟的智慧烟感器为例,带您快速体验平台的三个基本功能:设备连接平台,设备上报数据到平台,平台下发命令给设备API Explorer助力开发API Explorer是华为云提供的一个强大的工具,它允许开发者快速调试API、查看文档并获取代码示例,极大地提高了开发效率。功能亮点快速上手:降低调试难度,减少开发时间。多语言支持:丰富的代码示例覆盖多种编程语言,满足不同需求。应用场景多样:适用于物联网设备开发、数据分析等多种场景。首页搜索“API Explorer”找到你想要测试的API带星号的是必填信息,填入相关信息即可调试在右侧窗口可查看代码示例复制到IDE里需要填充请求头里的token!!!具体token可使用IAM接口获取结语华为云通过一系列创新的物联网解决方案,为开发者们提供了强大而灵活的工具集,推动了物联网技术的发展。
-
近日,中国移动与华为联合申报的“5G时代算网融合标志性应用——移动云手机”入选了由工业和信息化部新闻宣传中心(人民邮电报社)组织征集的2023年ICT优秀案例,并凭借其在5G业务创新、提升用户体验、算力惠民等方面的突出价值,被授予“算力赋能创新应用”荣誉称号。 作为实体手机的云端延伸,移动云手机基于5G超宽连接通道,接入云端无限算力,突破了本地设备限制,让公众在保障安全私密的前提下实现云端算力的即取即用。其典型场景有:一是算力随身,弹性调用云端算力,突破物理手机性能限制;二是真机延伸,应用及文件上云,释放物理手机存储空间;三是公私分离,多账号绑定,实现一机多机多身份管理;四是数据安全,数据云端存储不落地,手机永不“丢”;五是多端协同,跨云终端之间同屏互动,实现远程协同。 华为基于ARM架构云底座,融合多种创新技术打造云手机极致体验:一、通过自研Monbox软件仿真架构,实现单服务器云机密度翻倍提升,端到端时延持续优化;二、超分还原+AVS3视频流,实现高清低码,大幅提升云上渲染效率;三、创新指令流分离渲染技术,在确保画质的同时进一步降低时延和流量消耗。 移动云手机作为5G用户的个人算力终端,高度契合“算网时代算力赋能数字经济高质量发展”的趋势,为广大用户带来全新的差异化体验和算力普惠服务,而中国移动作为“连接+算力+能力”新型信息服务体系的建设者,有望借此重构算力消费新体验,重构能力底座,重构用户信息服务新入口,为5G发展开辟一条全新业务赛道。
-
全球根域名服务器分为IPv4和IPv6两种。在IPv4体系中,全球共有13台根服务器,其中1个主根服务器位于美国,其余12个为辅根服务器,分布在美国、欧洲和日本1。在IPv6体系中,全球有25台根服务器,中国写阶段部署了其中的4台,包括1台主根和3台辅根服务器12。中国根域名服务器现状根镜像服务器:中国部署了数十个根镜像服务器,遍布各大骨干网,承担了大量域名解析请求,提高了国内网络访问速度和稳定性34。“雪人计划”与IPv6根服务器:中国积极参与并推动了“雪人计划”,在全球16个国家完成25台IPv6根服务器的架设,其中中国部署了4台,包括1台主根和3台辅根服务器,增强了中国互联网的自主性和安全性25。网络安全与治理:中国建立了根区异常监测系统,实时感知国际根区解析状态,并能在必要时启动快速重路由策略,由国内调度体系接管流量,确保网络稳定运行3。综上所述,中国通过根镜像服务器和IPv6根服务器的布局,构建起了一道坚实的网络安全防线,增强了网络自主性和安全性。
-
本人是一名作为大学生,小白,参与次参加了华为活动,并拿下这些认证,于我而言是宝贵的学习历程。在接触人工智能入门认证时,起初看着文档操作,从陌生到逐渐熟悉。跟着文档步骤搭建环境、配置参数,过程中虽因对概念理解不深偶有卡顿,但每解决一个小问题,都让我对ai的底层逻辑有了新认识。我觉得这些认证看似按部就班,但是实则是在不断积累对人工智能算法和开发流程的感知。这段跟着文档学习拿证的经历,让我明白理论与实践结合的重要性。它不仅为我构建了基础技术框架,更培养了我自主学习和解决问题的能力。未来,我会凭借这份经验,更深入探索相关技术领域。
-
1、无法获取华为云账号用户里的企业管理员的TOKEN2、使用IAM登录企业管理员时,提示我该IAM用户名不存在,但是输入的账号名和IAM用户名与我的凭证中一致
-
使用JDK jdk1.8.0_241进行动态鉴权,一直报javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates do not conform to algorithm constraints at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1640) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:223)这个是什么原因呢
-
响应这么写的:{"result_code":0,"response_name":"COMMAND_RESPONSE","paras":{"result":"success"}},收到命令后,通过调试助手发送响应仍显示超时,怎么办?
-
主页import prompt from '@ohos.prompt';import Prompt from '@system.prompt';import router from '@ohos.router';/** * Main page */@Entry@Componentstruct MainPage { @State currentIndex: number = 0; private tabsController: TabsController = new TabsController(); private swiperController: SwiperController = new SwiperController(); @State pictures: any[] = [ { Simg1:$r('app.media.fig1')}, { Simg2:$r('app.media.fig2')}, { Simg3:$r('app.media.fig3')}, { Simg4:$r('app.media.fig4')} ] @State othersItems:any[]=[ {title:'我的最爱',img:$r('app.media.love')}, {title:'历史记录',img:$r('app.media.record')}, {title:'消息通知',img:$r('app.media.message')}, {title:'回收站',img:$r('app.media.recycle')}, {title:' 收藏',img:$r('app.media.favorite')}, {title:'购物清单',img:$r('app.media.shopping')}, {title:'动态',img:$r('app.media.circle')}, {title:'计划目标',img:$r('app.media.target')}, ] @State listItems: any[] = [ {title:'排行榜', img:$r('app.media.top'), text: '并肩于雪上之巅'}, {title:'新品首发', img:$r('app.media.new'), text: '新品抢先购!'}, {title:'大牌闪购', img:$r('app.media.brand'), text: '不存在中间商赚差价'}, {title:'发现好物', img:$r('app.media.found'), text: '你想要的这里都有'} ] @State setItems: any[] = [ {title:'推送通知', img:$r('app.media.news'), textF:'开关'}, {title:'数据管理', img:$r('app.media.data')}, {title:'菜单设置', img:$r('app.media.menu')}, {title:'关于', img:$r('app.media.about')}, {title:'清除缓存', img:$r('app.media.storage')}, {title:'隐私协议', img:$r('app.media.privacy')} ] @Builder TabBuilder(title: string, index: number, selectedImg: Resource, normalImg: Resource) { Column() { Image(this.currentIndex === index ? selectedImg : normalImg) .width(25) .height(25) Text(title) .margin({ top: 4 }) .fontSize(10) .fontColor(this.currentIndex === index ? '#1698CE' : '#6B6B6B') } .justifyContent(FlexAlign.Center) .height(56) .width('100%') .onClick(() => { this.currentIndex = index; this.tabsController.changeIndex(this.currentIndex); }) } @Builder settingCell(sI) { Row() { Row({ space: 12 }) { Image(sI.img) .width(22) .height(22) Text(sI.title) .fontSize(16) } if (sI.textF === null) { Image($r('app.media.right_grey')) .width(12) .height(24) } else { Toggle({ type: ToggleType.Switch, isOn: false }) } } .justifyContent(FlexAlign.SpaceBetween) .width('100%') .padding({ left: 8, right: 22 }) } build() { Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) { TabContent() { Scroll() { Column({ space: 12 }) { Column() { Text('首页') .fontWeight(FontWeight.Medium) .fontSize(24) .margin({ top: 12 }) .padding({ left: 12 }) } .width('100%') .alignItems(HorizontalAlign.Start) Swiper(this.swiperController) { ForEach(this.pictures, (img) => { Image(img.Simg1) .borderRadius(16) Image(img.Simg2) .borderRadius(16) Image(img.Simg3) .borderRadius(16) Image(img.Simg4) .borderRadius(16) }, (img: Resource) => JSON.stringify(img.id)) } .margin({ top: 24 }) .autoPlay(true) Grid() { ForEach(this.othersItems, (oI) => { GridItem() { Column() { Image(oI.img) .width(24) .height(24) Text(oI.title) .fontSize(12) .margin({ top: 4 }) } } }) } .columnsTemplate('1fr 1fr 1fr 1fr') .rowsTemplate('1fr 1fr') .columnsGap(8) .rowsGap(12) .padding({ top: 12, bottom: 12 }) .height(124) .backgroundColor(Color.White) .borderRadius(24) Text('列表') .fontSize(16) .fontWeight(FontWeight.Medium) .width('100%') .margin({ top: 12 }) Grid() { ForEach(this.listItems, (lI) => { GridItem() { Column() { Text(lI.title) .fontSize(16) .fontWeight(FontWeight.Medium) Text(lI.text) .margin({ top: 4 }) .fontSize(12) .fontColor('"#99182431"') } .alignItems(HorizontalAlign.Start) } .padding({ top: 8, left: 8 }) .borderRadius(12) .align(Alignment.TopStart) .backgroundImage(lI.img) .backgroundImageSize(ImageSize.Cover) .width('100%') .height('100%') }) } .width('100%') .height(260) .columnsTemplate('1fr 1fr') .rowsTemplate('1fr 1fr') .columnsGap(8) .rowsGap(12) .margin({ bottom: 55 }) } } .height('100%') } .padding({ left: 12, right: 12 }) .backgroundColor('#F1F3F5') .tabBar(this.TabBuilder('首页', 0, $r('app.media.home_selected'), $r('app.media.home_normal'))) TabContent() { Scroll() { Column({ space: 12 }) { Column(){ Text('我的') .fontWeight(FontWeight.Medium) .fontSize(24) .margin({ top: 12 }) .padding({ left: 12 }) } .width('100%') .alignItems(HorizontalAlign.Start) Row() { Image($r('app.media.account')) .width(48) .height(48) Column() { Text('Mr.Xie') .fontSize(20) Text('2521885390@qq.com') .fontSize(12) .margin({ top: 4 }) } .alignItems(HorizontalAlign.Start) .margin({ left: 24 }) } .margin({ top: 24 }) .alignItems(VerticalAlign.Center) .width('100%') .height(96) .backgroundColor(Color.White) .padding({ left: 24 }) .borderRadius(16) List() { ForEach(this.setItems, (sI) => { ListItem() { this.settingCell(sI) } .height(48) }) } .backgroundColor(Color.White) .width('100%') .height('42%') .divider({ strokeWidth: 0.25, color: Color.Grey, startMargin: 42, endMargin: 24 }) .borderRadius(16) .padding({ top: 4, bottom: 4 }) Blank() Button('退出登录', { type: ButtonType.Capsule }) .width('90%') .height(40) .fontSize(16) .fontColor('#FA2A2D') .fontWeight(FontWeight.Medium) .backgroundColor('#E5E8EA') .margin({ bottom: 55}) .onClick(() => { AlertDialog.show({ title:'提示消息', message: '确定退出登录吗?', offset:{ dx:0, dy: -20}, alignment: DialogAlignment.Bottom, gridCount:4, autoCancel:true, primaryButton:{ value:'取消', action:() => { //取消操作 } }, secondaryButton:{ value:'确定', action:() => { router.back({ url: 'pages/LoginPage'}) } }, cancel:() => { //取消操作 } }) }) } .height('100%') } } .padding({ left: 12, right: 12 }) .backgroundColor('#F1F3F5') .tabBar(this.TabBuilder('我的', 1, $r('app.media.mine_selected'), $r('app.media.mine_normal'))) } .width('100%') .backgroundColor(Color.White) .barHeight(56) .barMode(BarMode.Fixed) .onChange((index: number) => { this.currentIndex = index; }) }}登录import router from '@ohos.router'import prompt from '@ohos.promptAction';@Extend(TextInput) function InputStyle(){//输入框统一样式 .width('90%').height('25%') .backgroundColor('#f1f3f5') .placeholderColor('#99182431')}@Extend(Line)function linestyle(){//直线统一样式 .height(1) .width('100%') .backgroundColor(Color.Gray)}@Extend(Button)function buttonstyle(){//按钮统一样式 .type(ButtonType.Circle) .width(65) .height(65) .backgroundColor('#d7eef8f7')}@Entry@Componentstruct denglu { @State account:string='' @State password:string='' @State caccount:string=(router.getParams()as Record<string,string>)['account'] @State cpassword:string=(router.getParams()as Record<string,string>)['password'] denglu():void{ if(this.account==''||this.password=='') { prompt.showToast({ message:'账户或密码不能为空!' }) }else { if( (this.account!= this.caccount) ||(this.password!=this.cpassword)){ prompt.showToast({ message: '账号或密码错误,请重新输入' }) } else { router.pushUrl({ url:'pages/zhuye', }) } } } build() { // 根组件 Column({space:10}){ // logo Column(){ Row(){ Image($r("app.media.icon")) .width(70) .height(70) .margin({top:25}) } Row(){ Text('登录界面') .fontSize(30) .fontWeight(FontWeight.Bold) .margin({top:12}) } Row(){ Text('登录已享受更多服务') .fontColor(Color.Gray) .fontSize(17) .fontWeight(FontWeight.Regular) .margin({top:10}) } } .height('20%') .width('100%') .margin({top:35}) // 输入框 Column(){ Column({space:17}){ TextInput({placeholder:'账号'}) .InputStyle() .type(InputType.Number) .maxLength(15) .onChange((value:string)=>{ this.account=value }) Line() .linestyle() TextInput({placeholder:'密码'} ).InputStyle() .type(InputType.Password) .maxLength(8) .onChange((value:string)=>{ this.password=value }) Line() .linestyle() } Row(){ Row(){ Text('发送短信验证码') .fontSize(16) .fontColor('#ff137cf1') .margin(10) }.justifyContent(FlexAlign.Start) .width('50%') Row(){ Text('重置') .fontSize(16) .fontColor('#ff137cf1') .margin(10) }.justifyContent(FlexAlign.End) .width('50%') }.width('100%') .margin({top:15}) } .height('30%') .width('100%') .margin({top:45}) // 登录方式 Column() { Row() { Button('登录') .width('70%') .height('14%') .fontColor(Color.White) .fontWeight(FontWeight.Bold) .fontSize(30) .onClick(()=>{ this.denglu() }) }.margin({ bottom: 20 }) Row() { Text('注册账号') .fontSize(27) .fontWeight(FontWeight.Bold) .fontColor('#007dff') }.justifyContent(FlexAlign.Center) .width('30%') .onClick(()=>{ router.pushUrl({url:'pages/zhuce'}) }) Row() { Text('其他登录方式') .fontSize(16) .fontColor('#99182431') .fontWeight(400) }.margin({top:25}) Row(){ Button() { Image($r('app.media.weixin')) .width(60) .height(60) }.buttonstyle() Button() { Image($r('app.media.qq')) .width(60) .height(60) }.buttonstyle() Button() { Image($r('app.media.douyin')) .width(60) .height(60) }.buttonstyle() } .margin({top:25}) .justifyContent(FlexAlign.SpaceAround) .width('100%') } .height('60%') .width('100%') } .width('100%') .height('100%') .backgroundColor('#d7b1e2f0') }}注册import router from '@ohos.router'import prompt from '@ohos.promptAction';@Extend(TextInput) function InputStyle(){//输入框统一样式 .width('90%').height('16%') .backgroundColor('#f1f3f5') .placeholderColor('#99182431')}@Extend(Line)function linestyle(){//直线统一样式 .height(1) .width('100%') .backgroundColor(Color.Gray)}@Extend(Button)function buttonstyle(){//按钮统一样式 .type(ButtonType.Circle) .width(65) .height(65) .backgroundColor('#d7eef8f7')}@Entry@Componentstruct zhhuce { @State account:string='' @State password:string='' @State rpassword:string=''@State isShowProgress:boolean=false private timeOutId=-1; zhuce():void{ if(this.account==''||this.password==''||this.rpassword=='') { prompt.showToast({ message:'注册信息不能为空,请重新输入' }) }else { if (this.password != this.rpassword) { prompt.showToast({ message: '密码不一致,请重新核对后输入' }) } else { this.isShowProgress=true if(this.timeOutId===-1){ this.timeOutId=setTimeout(()=>{ prompt.showToast({ message:'注册成功!' }) this.isShowProgress=false this.timeOutId=-1 router.pushUrl({ url:'pages/denglu', params:{ account:this.account, password:this.password } }) },2000) } } } } aboutToDisappear(){ clearTimeout(this.timeOutId) this.timeOutId=-1 } build() { // 根组件 Column({space:10}){ // logo Column(){ Row(){ Image($r("app.media.icon")) .width(70) .height(70) .margin({top:25}) } Row(){ Text('注册界面') .fontSize(30) .fontWeight(FontWeight.Bold) .margin({top:12}) } Row(){ Text('注册新用户') .fontColor(Color.Gray) .fontSize(17) .fontWeight(FontWeight.Regular) .margin({top:10}) } } .height('30%') .width('100%') .margin({top:25}) // 输入框 Column(){ Column({space:17}){ TextInput({placeholder:'账号'}) .InputStyle() .type(InputType.Number) .maxLength(15) .onChange((value:string)=>{ this.account=value }) Line() .linestyle() TextInput({placeholder:'密码'} ).InputStyle() .type(InputType.Password) .maxLength(8) .onChange((value:string)=>{ this.password=value }) Line() .linestyle() TextInput({placeholder:'确认密码'}) .InputStyle() .type(InputType.Password) .maxLength(8) .onChange((value:string)=>{ this.rpassword=value }) Line() .linestyle() } Row(){ Row(){ Text('发送短信验证码') .fontSize(16) .fontColor('#ff137cf1') .margin(10) }.justifyContent(FlexAlign.Start) .width('50%') Row(){ Text('重置') .fontSize(16) .fontColor('#ff137cf1') .margin(10) }.justifyContent(FlexAlign.End) .width('50%') }.width('100%') .margin({top:15}) } .height('40%') .width('100%') .margin({top:-40}) if(this.isShowProgress){ LoadingProgress() .margin({top:-50}) .backgroundColor('#182431') .width(60) .height(60) } // 登录方式 Column() { Row() { Button('注册') .width('90%') .height('11%') .fontColor(Color.White) .fontWeight(FontWeight.Bold) .fontSize(25) .onClick(()=>{ this.zhuce() }) }.margin({top:-18}) Row() { Text('登录') .fontSize(25) .fontWeight(FontWeight.Bold) .fontColor('#007dff') .onClick(()=>{ router.pushUrl({ url:'pages/denglu', params:{ account:this.account, password:this.password } }) }) }.justifyContent(FlexAlign.Center) .width('30%') .margin({ top: 10 }) Row() { Text('其他登录方式') .fontSize(16) .fontColor('#99182431') .fontWeight(400) }.margin({top:25}) Row(){ Button() { Image($r('app.media.weixin')) .width(60) .height(60) }.buttonstyle() Button() { Image($r('app.media.qq')) .width(60) .height(60) }.buttonstyle() Button() { Image($r('app.media.douyin')) .width(60) .height(60) }.buttonstyle() } .margin({top:25}) .justifyContent(FlexAlign.SpaceAround) .width('100%') } .height('60%') .width('100%') } .width('100%') .height('100%') .backgroundColor('#d7eef8f7') }}
-
【大赛简介】随着智能客服、服务机器人、出行导航、智能家居等应用的普及,语音合成技术也迎来了新的机遇。本赛道围绕华为云CodeArts API和IDE服务,并结合AI技术,可以快速创建语音合成应用,并实现按照文本要求输出专属场景音色音频。本赛题要求参赛选手根据指导文档,通过华为云CodeArts API和IDE服务完成语音合成应用开发,并生成音频。操作指导如下:【环节一】 通过CodeArts API设计语音合成接口1、 进入CodeArts API官网点击网页版体验并登录https://developer.huaweicloud.com/develop/codeartsapi.html2、创建项目登录后点击页面右上角的“创建项目”按钮在创建项目弹窗中输入项目名称:语音合成,并点击保存提示保存成功,点击API设计页签,进入到API设计页面3、设计接口点击接口搜索栏右侧“+”,选择 “新建API接口”。显示新建标签页输入接口的URL:/tts输入接口名称:语音合成下拉滚动条到请求体区域,单击“Body页面”,单击“raw”显示请求体的数据结构模板,默认根节点类型为“object”点击根节点最右侧的“+”操作页面上在根节点下新增一条参数(可以通过滚动条左右拖动)将参数名设置为text,描述设置为待合成的文本下拉页面,看到返回响应区域同样点击根节点最右侧的“+”操作(可以通过滚动条拖动到最右侧),在根节点下显示一条新的参数将参数名设置为result,将描述设置为合成结果点击右上角的保存按钮保存成功,设计完成【环节二】通过API Explorer调试语音合成接口,生成5段数据流登录API Explorer链接>>cid:link_2调整音频格式、采样率、男女声、语速、音色等参数,输入文字文本后,生成语音。如生成语音格式为wav,采样率:8000,标准女音,语速0,音色0生成语音格式为mp3,采样率:8000,标准女音,语速100,音色100【环节三】基于华为云自研CodeArts IDE,实现数据流转换为音频的功能1、打开CodeArts IDE ONLINE点击链接>>cid:link_4,免费体验云开发2、实现数据流转换为音频2.1 将实验用Demo工程上传到CodeArts IDE Online1)Demo工程下载链接>>cid:link_1打开CodeArts IDE Online后,左上角点击“文件”->“上传文件”:2)上传“CodeArtsProject.zip”,点击“终端”对工程进行解压3)左上角->文件->打开,打开解压后的工程目录2.2 在华为云控制台新增访问秘钥,配置AK/SK1)登录华为云控制台:https://console.huaweicloud.com/iam/?agencyId=599e2ee1492f48e9b69a0a682d435fb8®ion=cn-north-4&locale=zh-cn#/mine/accessKey,选择“我的凭证”->“访问秘钥”->新增访问秘钥,如果已经有AK/SK秘钥,不需要新增访问秘钥创建秘钥成功后点击“立即下载”,即可获得“credentials.csv”文件,里面可以查看到AK(Access Key Id)和SK(Secret Access Key)2)进入工程,src/main/resources下选择credentials.properties,讲AK/SK配置上2.3 将API Explorer上调试成功的流数据文件配置到APIResponse.json中在语音合成章节,我们在API Explorer完成接口的调试cid:link_2,最终生成“SIS_RunTts_ResponseBody_xxxxxxxxxxxxx.json”文件,打开json文件,复制响应体内容打开工程,进入src/main/resources中,选择APIResponse.json,将json文件的内容复制到APIResponse.json中。2.4 执行“should_return_audio_when_response_json”,生成mps格式音频文件找到test目录下的测试类SisServiceTest.java,点击找到方法“should_return_audio_when_response_json()”,点击Run Test,最后可以看到目录下生成的音频文件。目录下生成“devkit.mps”文件右击下载,可以获得转换后的音频文件,实验结束【提交要求】1、提交内容:(1)环节一、二、三均需要提交最终完成页面的截图;(2)环节三需要额外提交生成的音频文件;(3)截图需要包含华为云账号。2、提交方式::将提交内容打包成RAR/ZIP压缩包上传至大赛“提交作品”页>>Link。3、作品命名:以“姓名-联系方式”格式命名。4、提交次数:赛事期间,每人每天最多可提交2次,以最终提交的版本为准。
-
最近在通过华为云hcs运营面api服务接口做一些资源信息获取,通过ecs服务api获取到的server详情有关host主机的信息很有限,大多是所属宿主机的id值,请问如何可以获取到某台ecs弹性云服务器所属宿主机的序列号?谢谢
-
在金融科技的浪潮中,Python以其简洁的语法和强大的功能,成为金融投资领域的新宠。无论是数据分析师、量化交易员还是投资研究员,Python都提供了丰富的工具和库来帮助他们更好地理解市场、制定策略和执行交易。本文将带领读者从Python的基础知识出发,逐步深入了解其在金融投资中的多种应用。Python:金融投资的新工具Python,一种开源的高级编程语言,以其易读性和易用性而广受欢迎。在金融领域,Python的应用包括但不限于数据获取、数据分析、策略开发和资产配置。Python的跨平台特性和丰富的库支持,使其成为金融专业人士的理想选择。网络爬虫:获取市场数据Python的网络爬虫功能可以帮助投资者自动获取股票价格、企业财报等市场数据。通过Python使用Alltick API,投资者可以轻松地从交易所网站或其他金融信息平台上抓取数据,为后续的数据分析和策略制定提供原材料。数据分析:历史回测数据分析是Python在金融领域中的另一个重要应用。利用pandas、numpy等数据处理库,投资者可以对历史数据进行深入分析,发现潜在的投资机会。此外,通过回测,投资者可以在不承担实际风险的情况下,验证交易策略的有效性。投资研究:策略开发Python的统计和机器学习库,如statsmodel和tensorflow,为量化模型设计和策略开发提供了强大的支持。投资者可以利用这些工具开发出基于历史数据和市场规律的交易策略,实现自动化交易。数据整理:资产配置资产配置是分散投资风险的一种有效手段。Python可以帮助投资者快速搜集、整理和分析资产配置相关的数据,自动根据预设规则进行资产分配,实现投资组合的优化。学习Python:从IDE开始对于初学者来说,选择合适的集成开发环境(IDE)是学习Python的第一步。常见的Python IDE包括Spyder、Jupyter、PyCharm和VS Code等。这些IDE提供了代码编辑、调试、运行和版本控制等功能,帮助用户更高效地编写和测试代码。Python常用名词解析为了更好地理解Python代码,以下是一些基本的Python术语和概念:print:用于输出信息,查看程序运行结果。註解:用于解释代码,不会被程序执行。縮排:Python使用缩进来定义代码块。SyntaxError:程序语法错误提示。變數:给数据命名,用于存储信息。資料型態:数据的基本分类,如整数、浮点数、字符串和布尔值。基本運算式:进行数学运算的表达式。關係運算式:比较两个值的大小。邏輯運算式:处理逻辑关系,如and、or和not。布林值:表示逻辑判断的结果,True或False。input:从用户那里获取输入。pip:Python的包管理工具,用于安装外部库。import:导入模块,使用其功能。迴圈:重复执行一段代码直到满足特定条件。函式:执行特定任务的代码块,可以重复调用。Python在金融投资领域的应用是多方面的,从数据获取到策略执行,Python提供了一整套解决方案。对于希望进入量化交易领域的投资者来说,掌握Python是一项宝贵的技能。随着技术的不断进步,Python在金融领域的应用将会更加广泛和深入。通过本文的介绍,我们希望读者能够对Python在金融投资中的应用有一个基本的了解,并激发进一步学习和探索的兴趣。随着实践的深入,Python将帮助投资者更好地分析市场、制定策略,并最终实现投资目标。
-
活动完成标准请注册华为云账号并完成实名认证,实验过程中请使用Chrome浏览器完成相关操作。华为云账号注册步骤请参考:cid:link_4实名认证操作步骤请参考:cid:link_21 通过CodeArts API设计语音合成接口1.1 进入CodeArts API官网,点击网页版体验并登录cid:link_51.2 创建项目1.2.1 登录后点击页面右上角的“创建项目”按钮1.2.2 在创建项目弹窗中输入项目名称:语音合成,并点击保存1.2.3 提示保存成功,点击API设计页签,进入到API设计页面1.3 设计接口1.3.1 点击页面上的“新建API接口”卡片1.3.2 显示新建标签页1.3.3 输入接口的URL:/tts1.3.4 输入接口名称:语音合成1.3.5 下拉滚动条到请求体区域,将请求的格式修改为:application/json1.3.6 显示请求体的数据结构模板,默认根节点类型为“object”1.3.7 点击根节点最右侧的“+”操作1.3.8 页面上在根节点下新增一条参数(可以通过滚动条左右拖动)1.3.9 将参数名param2修改为text,描述param2修改为待合成的文本1.3.10 下拉页面,看到返回响应区域1.3.11 同样点击根节点最右侧的“+”操作(可以通过滚动条拖动到最右侧),在根节点下显示一条新的参数1.3.12 将参数名param2修改为result,将描述修改为合成结果1.3.13 点击右上角的保存按钮1.3.14 保存成功,设计完成2 通过API Explorer调试语音合成接口,生成5段音频2.1 语音合成(API Explorer部分)链接:cid:link_32.1.1 生成语音格式为wav,采样率:8000,标准女音,语速0,音高0图1.1.1 wav标准女音2.1.2 生成语音格式为wav,采样率:16000,标准男声,语速0,音高0图1..12 wav标准男音2.1.3 生成语音格式为mp3,采样率:8000,标准女音,语速100,音高100图1.1.3 mp3标准女音2.1.4 生成语音格式为mp3,采样率:16000,标准男声,语速100,音高100图1.1.4 mp3标准男声2.1.5 生成语音格式为pcm,采样率:16000,标准男声,语速100,音高100图1.1.5 标准男声3 基于华为云自研CodeArts IDE,实现数据流转换为音频的功能3.1 打开CodeArts IDE ONLINE链接:cid:link_6点击免费体验云开发3.2 实现数据流转换为音频3.2.1 将实验用Demo工程上传到CodeArts IDE OnlineDemo工程下载链接:cid:link_11)打开CodeArts IDE Online后,左上角点击“文件”->“上传文件”:2)上传“CodeArtsProject.zip”,点击“终端”对工程进行解压3)左上角->文件->打开,打开解压后的工程目录3.2.2 在华为云控制台新增访问秘钥,配置AK/SK1)登录华为云控制台:https://console.huaweicloud.com/iam/?agencyId=599e2ee1492f48e9b69a0a682d435fb8®ion=cn-north-4&locale=zh-cn#/mine/accessKey选择“我的凭证”->“访问秘钥”->新增访问秘钥注:如果已经有AK/SK秘钥,不需要新增访问秘钥创建秘钥成功后点击“立即下载”,即可获得“credentials.csv”文件,里面可以查看到AK(Access Key Id)和SK(Secret Access Key)2)进入工程,src/main/resources下选择credentials.properties,讲AK/SK配置上3.2.3 将API Explorer上调试成功的流数据文件配置到APIResponse.json中在2.1语音合成章节,我们在API Explorer完成接口的调试cid:link_3最终生成“SIS_RunTts_ResponseBody_xxxxxxxxxxxxx.json”文件,打开json文件,复制响应体内容打开工程,进入src/main/resources中,选择APIResponse.json,将json文件的内容复制到APIResponse.json中。3.2.4 执行“should_return_audio_when_response_json”,生成mps格式音频文件:找到test目录下的测试类SisServiceTest.java,点击找到方法“should_return_audio_when_response_json()”,点击Run Test,最后可以看到目录下生成的音频文件。目录下生成“devkit.mps”文件右击下载,可以获得转换后的音频文件,实验结束
-
我们这边是有个活,自己做不了,找会的懂的帮我们做下。内容大概如下。基于华为手机的系统开发。刷机类需求。 要求: 1. 开机进入设备后。去掉原始的logo,用定制的图片代替; 2. 开机进入设备后。不要进入系统自带界面,而是自动进入已安装的指定APP; 3. 去掉屏保。不按电源键则不会灭屏,默认一直保持最高亮度; 4. 关闭后台app,不能出现各类消息弹出。声明下:1)这里板块太多啦,我刚找了半天,不知该发哪个板块。所发的板块,分类可能不精准。有懂的,可帮我转发到合适的板块啊,谢谢。2)标签太多了。乱打的。见谅哈。
-
请参加活动的开发者将完成的命令行截图提交至本帖评论区。
-
请参加活动的开发者将完成的音频作品提交至本帖评论区。
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签