0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用OpenHarmony专用开发工具开发变频器控制界面

OpenHarmony技术社区 来源:鸿蒙技术社区 作者:鸿联 2022-04-21 08:31 次阅读

在工农业生产中,变频器有着广泛和深远的应用,变频器的控制除了本地操作面板和按钮,旋钮控制外,更多是通过上位机来进行远程操作和监控。

2022 年 3 月 30 日,OpenHarmony 3.1 Release 及配套南向开发工具 DevEco Device Tool 3.0 Release 发布。

3 月 31 日发布了 OpenHarmony 首款北向应用开发工具 DevEco Studio 3.0 Beta3 for OpenHarmony,支持 API 8 和 API 9。

具有以下能力特点:

  • 支持一站式的信息获取平台

  • 支持可视化的界面 UI 开发

  • 双向、极速的 UI 预览

  • 全新的编译工具 Hvigor,实现 OpenHarmony 应用/服务的一键自动化构建。

  • 支持全自动化的应用签名机制,一键生成签名信息,签名过的 HAP 可以安装到真实设备上运行

  • 高效的代码编辑,提供代码高亮、代码折叠、代码格式化等各种常用技巧,同时支持联想补齐、代码跳转、代码校验等,实现代码的高效编辑。

  • 预览器支持双向、极速UI预览,实现了应用开发过程的可视化。

  • 丰富的代码调试调优能力

让我们用 DevEco Studio 3.0 Beta3 for OpenHarmony,开发一个变频器控制的界面,实现常见的启停,正反转,加减速功能。

模拟器效果如下:

59f7ac72-c0fe-11ec-bce3-dac502259ad0.gif  

预备

Hi3516 开发板,烧录好 OpenHarmony 3.1 Release 标准系统

参考 1:

https://ost.51cto.com/posts/10969

参考 2:

https://ost.51cto.com/posts/11038

安装 OpenHarmony 专用开发工具 DevEco Studio 3.0 Beta3 for OpenHarmony

官网文档:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-download-software-0000001218760592

创建工程

①打开应用,点击新建项目,弹窗选择“Empty Ability”后点击"Next"

5a24b334-c0fe-11ec-bce3-dac502259ad0.png

弹出的工程配置里全部默认,点击“finish”完成 eTS 工程创建。

5a3abf80-c0fe-11ec-bce3-dac502259ad0.png

默认 API 8,也可以选择 API 9,在 3516 开发板上测试正常运行。如果点选“Enable Supper Visual",会创建一个低代码可视化工程。

③工程结构

如下:
  • index.ets:用于描述 UI 布局、样式、事件交互和页面逻辑。

  • app.ets:用于全局应用逻辑和应用生命周期管理。

  • pages:用于存放所有组件页面。

  • resources:用于存放资源配置文件。

5a51a79a-c0fe-11ec-bce3-dac502259ad0.png

首次使用会显示“信息中心”,后续可以在帮助菜单下选择“信息中心”

图片,代码,自动签名,联机调试

将工程中使用到的图片,添加到 resources -> base -> media 目录下:

5a6cef32-c0fe-11ec-bce3-dac502259ad0.png

编辑代码,打开预览器的双 T,可以实时双向预览。

5a82698e-c0fe-11ec-bce3-dac502259ad0.png

5a9db374-c0fe-11ec-bce3-dac502259ad0.png

②完整代码在 codelabs 的 SliderApplicationEts 基础上修改而成:

@Entry
@Component
structIndex{
@Stateprivatespeed:number=0
@Stateprivatelastspeed:number=1
@StateprivateimageSize:number=1.5
@Stateprivatefwd_rev:number=1
@Stateprivateangle:number=0
@Stateprivateinterval:number=0

build(){
Column(){
Text("变频调速控制")
.fontSize(45)
.fontColor("blue")
.fontWeight(FontWeight.Bold)
.margin({top:50,bottom:20})
Row(){
Image($r('app.media.fengye'))
.objectFit(ImageFit.Contain)
.height(150)
.width(150)
.position({x:120,y:100})
.rotate({x:0,y:0,z:this.fwd_rev,angle:this.angle})
.scale({x:this.imageSize,y:this.imageSize})
}
.width(375)
.height(375)

Row(){
Button(){
Text('启动')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({left:20,right:20})
.width('40%')
.height('5%')
.backgroundColor('green')
.onClick(()=>{
this.speed=this.lastspeed
})
Button(){
Text('停止')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({left:20,right:20})
.width('40%')
.height('5%')
.backgroundColor('red')
.onClick(()=>{
this.speed=0
})
}
Row(){
Button(){
Text('正转')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({top:40,left:20,right:20})
.width('40%')
.height('5%')
.backgroundColor('#ffc916dd')
.onClick(()=>{
this.fwd_rev=1
})
Button(){
Text('反转')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({top:40,left:20,right:20})
.width('40%')
.height('5%')
.backgroundColor('#ffc916dd')
.onClick(()=>{
this.fwd_rev=-1
})
}
this.DescribeText('速度:',this.speed*5)
Slider({value:this.speed,min:0,max:10,step:0.2,style:SliderStyle.OutSet})
.showTips(true)
.blockColor(Color.Red)
.onChange((value:number,mode:SliderChangeMode)=>{
this.speed=value
this.lastspeed=this.speed
clearInterval(this.interval)
this.speedChange()
})
Row(){
Button(){
Text('加速')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({top:20,left:20,right:20})
.width('40%')
.height('5%')
.backgroundColor('#ff00ffd9')
.onClick(()=>{
this.speed+=0.2
if(this.speed>=10){
this.speed=10
}
this.lastspeed=this.speed
})
Button(){
Text('减速')
.fontSize(30)
.fontWeight(FontWeight.Bold)
}
.type(ButtonType.Capsule)
.margin({top:20,left:20,right:20})
.width('40%')
.height('5%')
.backgroundColor('#ff00ffd9')
.onClick(()=>{
this.speed-=0.2
if(this.speed<= 0){
this.speed=0
}
this.lastspeed=this.speed
})
}
}
.margin({left:30,right:30})
}
speedChange(){
varthat=this;
that.angle=0;
this.interval=setInterval(function(){
that.angle+=that.speed
},15)
}
onPageShow(){
clearInterval(this.interval)
this.speedChange()
}
@BuilderDescribeText(text:string,speed:number){
Stack(){
Text(text+speed.toFixed(1)+'Hz')
.margin({top:70})
.fontSize(40)
.fontWeight(FontWeight.Bold)
}
}
}
③连接真实设备前,IDE 提供了自动化签名功能。依次点击“文件——项目结构——Project——Signing Config",弹窗中勾选“Automatically generate signing”后,等待签名完成,点击“ok”。

5ab94490-c0fe-11ec-bce3-dac502259ad0.png

④用 usb 线连接电脑和 3516 开发板,开发板启动完成后,后自动连接到 DevEco Studio 3.0 Beta3 for OpenHarmony。

5accc754-c0fe-11ec-bce3-dac502259ad0.png

同时在 Windows 系统的设备管理器里,会显示通用串行总线设备-HDC。5ae33fde-c0fe-11ec-bce3-dac502259ad0.png⑤点击设备“运行”按钮,同时完成工程编译和下载到开发板。

效果如下:

5af808c4-c0fe-11ec-bce3-dac502259ad0.pngOpenHarmony 已经建立了完整的开发工具链,它的生态会越来越强大。

原文标题:开源鸿蒙首款IDE开发OpenHarmony 3.1应用

文章出处:【微信公众号:HarmonyOS技术社区】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 变频器
    +关注

    关注

    249

    文章

    5971

    浏览量

    139877
  • 开发工具
    +关注

    关注

    0

    文章

    206

    浏览量

    22091
  • OpenHarmony
    +关注

    关注

    23

    文章

    3272

    浏览量

    15159

原文标题:开源鸿蒙首款IDE开发OpenHarmony 3.1应用

文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony技术社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    图形界面开发工具GUI Guider的使用教程

    GUI Guider是NXP推出的一款功能强大且对用户非常友好的图形界面开发工具。目前最新版本是1.6.1。
    的头像 发表于 12-20 09:49 4852次阅读
    图形<b class='flag-5'>界面</b><b class='flag-5'>开发工具</b>GUI Guider的使用教程

    Microchip开发工具

    Microchip提供了一系列高度集成的开发工具,可以简化应用程序的开发过程。这些工具分为核心开发工具和附属工具。基本
    发表于 03-08 16:50

    OpenHarmony 设备开发工具简介

    设备开发工具简介HUAWEI DevEco Device Tool(以下简称DevEco Device Tool)是面向OpenHarmony智能设备的一站式集成开发环境,支持组件按需定制,支持代码
    发表于 06-08 10:12

    STM32 VR开发工具

    STM32 VR开发工具
    发表于 02-17 13:38 39次下载

    全志VR开发工具

    全志VR开发工具
    发表于 02-17 14:08 31次下载

    光伏水泵专用变频器规格书

      Goodrive100-01专用变频器,是在Goodrie高性能矢量变频器的核心控制算法的基础上,结合光伏水泵的应用控制的要求,
    发表于 09-21 14:14 2次下载
    光伏水泵<b class='flag-5'>专用</b><b class='flag-5'>变频器</b>规格书

    变频拉丝机专用变频器说明书

      Goodrive100-03系列专用变频器,是在Goodrive100系列高性能矢量变频器的硬件平台与核心控制算法的基础上,结合双变频
    发表于 09-21 14:21 8次下载
    双<b class='flag-5'>变频</b>拉丝机<b class='flag-5'>专用</b><b class='flag-5'>变频器</b>说明书

    STM32系列微控制开发工具与应用

    STM32系列微控制开发工具与应用
    发表于 09-29 14:47 2次下载
    STM32系列微<b class='flag-5'>控制</b>器<b class='flag-5'>开发工具</b>与应用

    ARM开发工具解读

    1.6 ARM开发工具 用户选用ARM处理器开发嵌入式产品时,选择合适的开发工具可以加快开发进度,节省开发成本。根据功能不同,ARM应用软件
    发表于 10-18 13:29 3次下载
    ARM<b class='flag-5'>开发工具</b>解读

    Microchip苹果配件开发工具

    这一讲是Microchip苹果配件开发工具包苹果配件开发工具
    的头像 发表于 06-06 13:45 2047次阅读

    如何使用KEELOQ3开发工具包作为开发工具来在目标板上仿真和调试固件

    本文档介绍了如何使用 KEELOQ® 3 开发工具包作为开发工具来在目标板上仿真和调试固件。
    发表于 06-13 08:30 36次下载
    如何使用KEELOQ3<b class='flag-5'>开发工具</b>包作为<b class='flag-5'>开发工具</b>来在目标板上仿真和调试固件

    6个高效的前端开发工具

    高效的前端开发工具有哪些?在互联网中许多开发工具可以让前端开发人员的工作生活变得更加轻松。应用程序的功能越来越丰富,也导致了前端开发的复杂度大幅增加,急需好的
    的头像 发表于 01-05 16:00 4036次阅读

    OpenHarmony开发者大会 开发工具分论坛:聚能量赢未来,工具助力应用创新

    日前,以“开源正当时,共赢新未来”为主题的开放原子开源基金会OpenHarmony开发者大会2023(以下简称“大会”)在北京举行,“开发工具分论坛”于当天下午召开。在本次论坛上,各位演讲嘉宾重点
    的头像 发表于 05-08 14:42 915次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>开发</b>者大会 <b class='flag-5'>开发工具</b>分论坛:聚能量赢未来,<b class='flag-5'>工具</b>助力应用创新

    Intellij IDEA 开发工具实例

    。eclipse是老牌的开发工具,可以说算是我们的初恋了,熟悉的界面,熟悉的快捷键,刚入坑时,不知道陪伴了我们多少个寂寞的夜晚。但是 Idtellij IDEA 的横空出世,也让很多人抛弃了初恋,转投新欢。我使用IDEA开发也有
    的头像 发表于 09-25 16:21 471次阅读
    Intellij IDEA <b class='flag-5'>开发工具</b>实例

    开发板和开发工具指南

    与使用开发环境相比,许多工程师更倾向于将调试点嵌入其代码并使用测试设备来验证其硬件。欧时电子指南将详述开发板和开发工具的优势,并提供关于使用和选择恰当开发工具的实用建议。
    的头像 发表于 10-26 14:35 271次阅读