适合嵌入式开发的GUI(嵌入式学习)

嵌入式开发的GUI如何选择?

  • 常见的嵌入式GUI开发方法
  • 轻量级GUI库
    • 优缺点
  • 基于Web技术
    • 优缺点
  • Qt框架
    • 优缺点
  • 原生开发
    • 优缺点
  • 嵌入式系统的限制

常见的嵌入式GUI开发方法

嵌入式开发中的GUI(图形用户界面)是指在嵌入式系统中实现图形化的用户界面,以便用户可以通过触摸屏、按钮、鼠标或其他输入设备与系统进行交互。
在这里插入图片描述
在这里插入图片描述

以下是一些常见的嵌入式GUI开发方法:

  1. 轻量级GUI库:一些轻量级的GUI库适用于嵌入式系统,例如uGFX、LittlevGL、Nanogui等。这些库通常具有较小的内存占用和较低的处理器需求,适用于资源受限的嵌入式设备。它们提供了丰富的图形元素和控件,使开发者能够创建自定义的用户界面。

  2. 基于Web技术:使用Web技术(HTML、CSS和JavaScript)进行GUI开发在嵌入式系统中也很常见。这种方法使用嵌入式Web服务器将用户界面呈现在Web浏览器中,通过HTTP或WebSocket与嵌入式设备进行通信。开发者可以使用常见的Web开发工具和框架,如React、Angular或Vue.js,来创建丰富的用户界面。

  3. Qt框架:Qt是一种跨平台的GUI开发框架,也可用于嵌入式系统。Qt提供了一套丰富的GUI组件和工具,支持多种嵌入式平台,包括Linux、Windows Embedded和Android等。使用Qt,开发者可以轻松创建功能强大的嵌入式GUI应用程序,并利用Qt提供的工具和库简化开发过程。

  4. 原生开发:在某些情况下,开发者可能选择使用嵌入式系统提供的原生GUI开发工具和库。例如,针对特定嵌入式操作系统的GUI开发工具包,如Windows CE的.NET Compact Framework、Android的Android SDK等。这些工具和库通常与嵌入式系统紧密集成,可以充分利用系统的功能和性能。

选择适合你的项目的GUI开发方法取决于多个因素,包括嵌入式系统的硬件资源、操作系统、开发时间和开发者的技术经验。

轻量级GUI库

轻量级GUI库是在嵌入式系统中使用的一种GUI开发工具,其特点是占用较少的内存和处理器资源。以下是几个常见的轻量级GUI库:

  1. uGFX:uGFX是一个开源的轻量级GUI库,适用于各种嵌入式平台。它提供了一套丰富的图形元素和控件,支持触摸屏、字体、图像处理等功能。uGFX具有较小的内存占用和良好的性能,支持多种显示驱动和操作系统。
    在这里插入图片描述

  2. LittlevGL:LittlevGL是一个开源的嵌入式GUI库,专注于低资源消耗和高性能。它支持多种显示驱动和控制器,并提供了丰富的图形元素和控件,如按钮、标签、列表、图表等。LittlevGL还具有动画效果、触摸屏支持和国际化功能。
    在这里插入图片描述

  3. Nanogui:Nanogui是一个小巧且易于集成的C++ GUI库,适用于嵌入式系统和桌面应用程序开发。它基于OpenGL进行绘图,并提供了跨平台的支持。Nanogui具有简单的API接口,支持窗口、按钮、滑块、菜单等控件,并具备高度的可定制性。
    在这里插入图片描述

  4. emWin:emWin是Segger公司提供的商业嵌入式GUI库,具有高度优化的性能和占用较少的内存。它支持多种显示驱动和控制器,并提供了丰富的图形元素和控件。emWin还具备图像压缩、字体渲染和触摸屏支持等功能。
    在这里插入图片描述

这些轻量级GUI库都有各自的特点和适用场景,开发者可以根据项目需求、硬件资源和开发经验选择最合适的库。此外,还有其他的轻量级GUI库可供选择,例如µGUI、Embedded Wizard等,开发者可以根据具体情况进行评估和选择。

优缺点

每个轻量级GUI库都有其独特的优点和一些潜在的缺点。以下是各个库的一般优缺点概述:

uGFX:
优点:

  • 跨平台支持多种嵌入式平台。
  • 提供丰富的图形元素和控件。
  • 内存占用较小,性能良好。

缺点:

  • 开发文档相对较少,可能需要一些自行探索。
  • 社区支持相对较少。

LittlevGL:
优点:

  • 低资源消耗和高性能。
  • 跨平台支持多种显示驱动和控制器。
  • 提供丰富的图形元素和控件。

缺点:

  • 配置和定制的学习曲线较陡。
  • 部分高级功能需要付费许可。

Nanogui:
优点:

  • 轻量级且易于集成。
  • 跨平台支持。
  • 提供简单的API接口和高度可定制性。

缺点:

  • 不如其他库那么成熟和广泛使用。
  • 缺乏一些高级功能和控件。

emWin:
优点:

  • 高度优化的性能。
  • 占用较少的内存。
  • 提供丰富的图形元素和控件。

缺点:

  • 商业许可需要付费。
  • 对一些新的硬件平台支持可能有限。

总体而言,这些轻量级GUI库都具有在嵌入式系统中开发图形化用户界面的能力,但具体选择取决于项目需求、开发资源和开发者的技术经验。在选择之前,建议开发者进行实际的评估和测试,以确定哪个库最适合他们的特定应用场景。

基于Web技术

当使用Web技术(HTML、CSS和JavaScript)进行GUI开发时,以下是对这些技术的详细讲解:

  1. HTML(超文本标记语言):HTML是一种用于描述网页结构的标记语言。它使用标签来定义页面的各个元素,例如标题、段落、图像、表格等。通过使用不同的HTML标签和属性,开发者可以创建GUI界面的基本结构和内容。
    在这里插入图片描述

  2. CSS(层叠样式表):CSS用于定义网页的样式和布局。它通过选择器和属性来选择HTML元素并设置其外观和排版规则。开发者可以使用CSS来调整界面的字体、颜色、大小、布局和动画效果,以实现所需的外观和交互效果。
    在这里插入图片描述

  3. JavaScript:JavaScript是一种动态脚本语言,用于为网页添加交互性和动态功能。通过JavaScript,开发者可以操作HTML元素、处理用户输入、响应事件、执行动态更新等。JavaScript还提供了许多内置函数和库,以便开发者可以更方便地进行数据处理、网络通信和动画效果等操作。
    在这里插入图片描述

  4. 嵌入式Web服务器:在嵌入式系统中,使用嵌入式Web服务器是将GUI界面呈现在Web浏览器中的关键。嵌入式Web服务器可以是一个轻量级的HTTP服务器,它可以处理来自Web浏览器的HTTP请求并向浏览器发送HTML、CSS和JavaScript等资源。通过与嵌入式设备进行HTTP或WebSocket通信,可以实现与设备的交互和数据传输。
    在这里插入图片描述

  5. Web开发工具和框架:Web开发工具和框架可以大大简化GUI开发的过程。例如,React、Angular和Vue.js等流行的Web框架提供了组件化开发模式,使开发者能够以模块化的方式构建GUI界面。这些框架还提供了状态管理、路由管理和数据绑定等功能,以简化开发过程并提高性能。

总结起来,使用Web技术进行嵌入式GUI开发,开发者使用HTML定义页面结构,使用CSS设置样式和布局,使用JavaScript实现交互性和动态功能。通过嵌入式Web服务器和HTTP或WebSocket通信,将GUI界面呈现在Web浏览器中,并与嵌入式设备进行交互。常见的Web开发工具和框架如React、Angular和Vue.js可以提供更高效和便捷的开发体验。

优缺点

基于Web技术的GUI开发在嵌入式系统中越来越受欢迎。以下是基于Web技术的GUI开发方法的一些优点和缺点:

优点:

  1. 跨平台:基于Web技术的GUI可以在多个平台上运行,包括嵌入式系统、桌面计算机和移动设备。无论是使用Windows、Linux还是其他操作系统,只需要有一个支持Web浏览器的平台,用户就可以访问应用程序。

  2. 简化开发:Web开发使用常见的Web技术(如HTML、CSS和JavaScript),有广泛的开发工具和框架可供选择。这些工具和框架提供了丰富的功能和组件,加快了GUI开发的速度。开发者可以利用现有的知识和经验,快速创建交互式和吸引人的用户界面。

  3. 强大的可视化效果:Web技术提供了丰富的图形和动画效果的支持。通过使用CSS和JavaScript,开发者可以创建漂亮的界面和过渡效果,为用户提供更好的视觉体验。

  4. 灵活性和可定制性:Web技术允许开发者根据具体需求定制GUI。使用CSS和JavaScript,可以轻松调整界面样式、布局和行为,以满足用户的需求和品牌要求。

缺点:

  1. 资源消耗:相比于一些轻量级GUI库,基于Web技术的GUI可能需要更多的系统资源,包括内存和处理器。特别是在资源受限的嵌入式系统上,可能需要考虑资源管理和优化。

  2. 依赖网络连接:基于Web技术的GUI通常需要网络连接才能访问应用程序。在嵌入式系统中,如果网络连接不可靠或不可用,用户可能无法访问GUI界面。

  3. 安全性:Web技术涉及与网络通信,因此安全性是一个重要问题。开发者需要采取适当的安全措施来保护嵌入式系统和用户数据。

  4. 响应时间:相比于本地运行的GUI应用程序,基于Web技术的GUI可能存在响应时间较长的问题。这是因为GUI需要通过网络进行通信和加载资源,而且在低带宽或高延迟网络环境下可能会更明显。

综上所述,基于Web技术的GUI开发具有跨平台、简化开发、可视化效果和灵活性等优点。然而,开发者需要在嵌入式系统的资源限制、网络依赖性、安全性和响应时间等

Qt框架

Qt是一个跨平台的GUI开发框架,最初由挪威的Trolltech公司(现在是Qt公司的一部分)开发。它提供了一套丰富的GUI组件和工具,使开发者能够轻松创建功能强大的图形用户界面(GUI)应用程序。Qt框架可用于多个平台,包括桌面、移动和嵌入式系统。
在这里插入图片描述
在这里插入图片描述

以下是对Qt框架的详细讲解:

  1. 跨平台支持:Qt框架具有强大的跨平台支持,使开发者能够在不同的操作系统和硬件平台上运行相同的应用程序代码。它支持主流的操作系统,如Windows、macOS、Linux,以及嵌入式系统,如嵌入式Linux、Windows Embedded和Android等。

  2. GUI组件和工具:Qt提供了一套丰富的GUI组件和工具,包括按钮、文本框、列表、图表、对话框等。这些组件可以轻松地集成到应用程序中,使开发者能够快速创建各种用户界面元素。

  3. 信号和槽机制:Qt引入了信号和槽机制,用于处理事件和实现组件之间的通信。这种机制使开发者能够以一种松散耦合的方式设计和连接应用程序的不同部分,提高了代码的可维护性和扩展性。

  4. 多线程支持:Qt框架提供了强大的多线程支持,使开发者能够轻松地在应用程序中实现并发和异步操作。它提供了线程管理类和同步机制,简化了多线程编程的复杂性。

  5. 数据库和网络支持:Qt提供了对数据库和网络的集成支持。它包括用于连接和操作各种数据库的模块,以及用于实现网络通信的类和协议支持。

  6. 开发工具和集成环境:Qt提供了一套开发工具和集成环境,如Qt Creator,用于辅助应用程序的开发、调试和部署。它提供了可视化的界面设计器、调试器、代码编辑器和构建工具,使开发过程更高效。

  7. 商业和开源版本:Qt框架有商业版和开源版可供选择。商业版提供了额外的功能和技术支持,适用于商业开发和专业项目。开源版(称为Qt开源)是免费提供的,适用于开源项目和个人使用。

优缺点

Qt框架是一个跨平台的GUI开发框架,也可用于嵌入式系统的GUI开发。下面是Qt框架的一些优点和缺点:

优点:

  1. 跨平台支持:Qt框架可以在多个操作系统上运行,包括各种嵌入式平台(如Linux、Windows Embedded、Android等)。这使得开发者能够编写一次代码,然后在不同平台上部署和运行应用程序,减少了开发和维护的工作量。

  2. 强大的功能和组件:Qt框架提供了丰富的功能和组件,包括图形渲染、动画、图像处理、数据库访问、网络通信等。它还包括了大量的UI控件,使开发者能够轻松创建各种交互式的用户界面。

  3. 可视化设计工具:Qt提供了Qt Creator,一个集成的开发环境和可视化设计工具。开发者可以使用可视化工具来设计、布局和编辑GUI界面,简化了界面设计的过程,并提高了开发效率。

  4. 良好的文档和社区支持:Qt具有完善的文档和广泛的社区支持。官方文档提供了详细的API参考和示例,社区中有许多开发者分享经验和解决方案。这使得开发者能够快速入门并获得必要的支持。

缺点:

  1. 学习曲线较陡峭:Qt框架具有一套自己的API和概念,对于初学者来说,学习曲线可能较陡峭。尤其是对于没有GUI开发经验或者只熟悉其他GUI框架的开发者来说,可能需要花费一些时间来掌握Qt框架的使用。

  2. 较大的代码体积:由于Qt框架提供了丰富的功能和组件,所生成的应用程序可能会比较大。这对于一些资源受限的嵌入式系统来说,可能需要考虑存储和内存的限制。

  3. 商业许可:Qt框架有一个商业版和一个开源版(Qt开源版)。商业版提供更多功能和支持,但需要购买相应的许可证。对于商业项目,可能需要考虑相应的成本。

综上所述,Qt框架提供了跨平台的GUI开发能力、丰富的功能和组件,以及良好的工具和文档支持。然而,开发者需要在学习曲线、代码体积和商业许可等方面

原生开发

在这里插入图片描述
在这里插入图片描述

原生开发是指使用特定嵌入式系统提供的原生GUI开发工具和库进行应用程序的开发。在某些情况下,开发者可能选择原生开发,以充分利用嵌入式系统的功能和性能。以下是对原生开发的详细讲解:

  1. 嵌入式系统提供的工具和库:嵌入式系统通常提供了特定的GUI开发工具和库,用于创建原生的用户界面。这些工具和库与操作系统紧密集成,可以直接访问系统资源和功能,以实现高性能和高度定制的GUI应用程序。

  2. 平台特定的API和框架:原生开发使用平台特定的API和框架,如Windows CE的.NET Compact Framework、Android的Android SDK等。这些API和框架提供了访问底层硬件和操作系统功能的接口,使开发者能够直接与系统进行交互。

  3. 充分利用系统功能和性能:原生开发允许开发者直接使用嵌入式系统提供的功能和性能。开发者可以利用系统的硬件加速、底层资源管理和优化算法等,以实现高效的GUI应用程序。

  4. 系统集成和兼容性:原生开发工具和库通常与嵌入式系统紧密集成,确保应用程序与系统的兼容性和稳定性。开发者可以直接访问系统提供的功能、驱动程序和库,以实现更深层次的集成。

  5. 平台限定和学习曲线:原生开发通常与特定的嵌入式系统和开发工具相关联,因此在切换到不同的平台时可能需要学习新的API和工具集。这增加了开发者的学习曲线,并可能导致开发工作在不同平台之间的不可移植性。

  6. 高度定制和性能优化:原生开发允许开发者对GUI应用程序进行高度定制和性能优化。开发者可以直接访问底层功能,从而实现对用户界面的精确控制和性能调优。

总结来说,原生开发使用特定嵌入式系统提供的工具和库,可以充分利用系统的功能和性能。它与操作系统紧密集成,提供了底层访问和优化的能力,但可能需要额外的学习成本和平台限定。对于需要充分利用嵌入式系统的特定功能和性能的项目,原生开发是一种可行的选择。

优缺点

原生开发指的是使用特定平台提供的原生编程语言和工具进行应用程序开发,以最大限度地发挥该平台的性能和功能。对于嵌入式系统的GUI开发,原生开发通常涉及使用特定的编程语言和开发工具,以便直接与底层硬件和操作系统进行交互。以下是原生开发的一些优点和缺点:

优点:

  1. 最大化性能:原生开发允许开发者直接操作底层硬件和操作系统,以获得最高的性能。这种直接的访问使开发者能够更好地控制和优化应用程序的执行,以适应特定的嵌入式系统需求。

  2. 完全访问硬件功能:通过原生开发,开发者可以直接访问嵌入式系统的硬件功能,如传感器、通信接口等。这使得开发者能够充分利用和集成系统的硬件资源,实现更丰富和复杂的功能。

  3. 灵活性和自定义能力:原生开发允许开发者完全自定义应用程序的行为和外观。由于直接与底层进行交互,开发者可以实现高度定制化的功能和用户界面,以满足特定的需求和用户体验。

缺点:

  1. 平台依赖性:原生开发通常与特定平台和操作系统绑定,因此在不同的嵌入式系统之间迁移可能需要重新编写代码或进行适应性调整。这增加了跨平台开发和维护的复杂性。

  2. 学习曲线较陡峭:使用原生开发进行嵌入式GUI开发通常需要掌握特定的编程语言和工具集。这可能对于没有相应经验的开发者来说,需要一定的学习和培训。

  3. 开发周期较长:由于原生开发需要直接与底层交互,并实现各种功能和界面,因此开发周期可能较长。这可能对于有时间限制的项目来说,不太适合。

综上所述,原生开发允许开发者充分利用嵌入式系统的性能和功能,但同时也带来了一些平台依赖性、学习曲线陡峭和开发周期较长的挑战。在选择开发方法时,开发者需要综合考虑项目需求、时间和资源限制,并选择最适合的开发方式。

嵌入式系统的限制

在这里插入图片描述

嵌入式开发中的图形用户界面(Graphical User Interface,GUI)是指通过图形化的方式与嵌入式设备进行交互的界面。嵌入式系统通常具有资源受限的特点,因此在设计嵌入式GUI时需要考虑以下几个方面:

  1. 显示技术:选择适合嵌入式系统的显示技术,如液晶显示屏(LCD)、有机发光二极管(OLED)等。需要考虑屏幕尺寸、分辨率和颜色深度等因素。

  2. 图形库:选择合适的图形库或框架来实现GUI。常用的图形库包括Qt、Embedded Wizard、LittlevGL等。这些库提供了图形绘制、事件处理、布局管理等功能。

  3. 界面设计:设计用户界面的外观和交互方式。考虑到嵌入式系统的资源受限,需要简洁、易用且效率高的设计。合理安排界面元素的布局,选择合适的字体、颜色和图标等。

  4. 用户输入:嵌入式系统的输入方式多种多样,可以是触摸屏、物理按键、旋钮等。需要根据具体情况选择合适的输入方式,并进行事件处理和响应。

  5. 功能实现:根据应用需求实现相应的功能模块,如按钮、文本框、进度条、图表等。同时需要处理用户输入、更新界面状态、与底层硬件或软件进行交互等。

  6. 性能优化:由于嵌入式系统资源有限,需要进行性能优化,以提高界面响应速度和节约资源消耗。可以采取优化图形绘制、事件处理、内存管理等方面的策略。

  7. 调试和测试:进行GUI的调试和测试工作,确保界面的正确性和稳定性。可以使用仿真器、调试工具和自动化测试框架等辅助工具。

需要注意的是,嵌入式GUI开发相对于桌面应用或移动应用的GUI开发来说,存在更多的限制和挑战。因此,合理的系统设计和良好的性能优化是嵌入式GUI开发的关键要素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/30393.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux权限管理(超详解哦)

Linux权限 引言文件访问者的分类文件类型与访问权限文件类型访问权限 文件权限值的表示方法修改权限的指令chmod修改文件权限通过角色/-/权限来修改通过三个八进制数修改 chown修改所有者chgrp修改所属组umask修改或查看文件权限掩码文件创建时的权限 目录的权限粘滞位 总结 引…

驱动模块和printk函数

目录 1. 驱动模板 1.1. 在源码工程路径下创建.c文件 1.2. 编写驱动模板 1.3. 将模板放到ubuntu上 1.4. 书写Makefile 1.5. 编译和安装 2. printk 2.1. Source Insight查找命令 2.2. printk讲解 2.2.1. 分析函数 2.2.2. 编写代码 2.3. 拓展 2.3.1. 关于printk函数测…

ESP32开发环境搭建Windows VSCode集成Espressif IDF插件ESP32_IDF_V5.0开发编译环境搭建

一、安装ESP32-IDF库 下载网址:https://dl.espressif.com/dl/esp-idf/ 打开上面的网页,选择单击页面中 ESP32-IDF v5.0.2 - Offine Installer,5.0.2是当前最新版本,如果没有ESP32-IDF v5.0.2 - Offine Installer,说明…

ADB WIFI 链接

ADB WiFi链接手机 必须在同一网络下(本人用的台式机网线手机连路由器WIFI) 1.先确认USB数据线是否成功链接了手机 adb devices不管前面设备是什么名字,但是后面必须为device状态才算链接成功了,offline状态是不行的 有些没开启…

《微服务架构设计模式》第二章 服务的拆分策略

内容总结自《微服务架构设计模式》 服务的拆分策略 一、架构是什么软件架构的41视图模型为什么重要分层架构风格 二、定义微服务如何定义服务拆分难点定义服务API 一、架构是什么 软件架构的定义:计算机系统的软件架构是构建这个系统所需要的一组结构,包…

物联网Lora模块从入门到精通(八)Lora无线通信

一、前言 在某些环境下,无法通过有线传输数据,这时候我们需要使用Lora无线通信传输数据,Lora无线数据传输具有低功耗、距离长的特点,常用于工厂内等,需要Lora基站。 我曾做过距离测试:Lora模块距离测试-物联…

Linux---vim的使用

专栏:Linux 个人主页:HaiFan. 本章为大家带来Linux工具—vim Linux工具 关于rzszyumvim的基本概念vim的基本操作vim正常模式命令集vim末行模式命令集简单vim配置配置文件的位置常用配置选项 关于rzsz 这个工具用于windows机器和Linux机器通过Xshell传输…

PHP伪协议filter详解,php://filter协议过滤器

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 php://filter 一、访问数据流二、过滤数据流三、多…

electron 快速创建一个本地应用

参考官方文档流程 快速入门 | Electron 建议先全局安装electron,npm install -g electron 开发过程中可以在本地开发安装 使用electron快速创建一个web页面 ,参考官方demo 实例 electron-quick-start 第一步: mkdir my-electron-app &am…

Linux

Linux 摘要写在前面1.Linux介绍2.Linux基本概念与命令3.Shell编程4.桌面操作系统框架5.GTK图形编程6.QT图形编程7.DBUS8.GDB9.Wine开发10.高可用存储技术11.高可用网络技术12.云计算 摘要 本篇博客参考中科方德国产操作系统的培训课程,对其主要内容进行总结&#x…

超越密码:网络安全认证的未来

你的物理现实的数字对应物正在惊人地增长。虽然肯定会有积极的结果,但随着互联网的发展,与之相关的风险也在迅速增加。在讨论网络安全风险管理时,首先想到的是密码。但当出现诈骗、网络钓鱼等威胁时,这还不够。 那么,…

大数据分析与机器学习:技术深度与实例解析【上进小菜猪大数据系列】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 大数据分析与机器学习已成为当今商业决策和科学研究中的关键组成部分。本文将深入探讨大数据技术的背景和原则,并结合实例介绍一些常见的大数据分析和机器学习技术。 …

Redux的基础操作和思想

什么是Redux? Redux是JavaScript应用的状态容器,提供可预测的状态管理! Redux除了和React一起用外,还支持其它框架;它体小精悍(只有2kB, 包括依赖),却有很强大的插件扩展生态! Redux提供的模式和工具使您更容易理解应用程序中的…

与用户同行!2023卡萨帝开启高端生活方式新时代

6月20日,2023思享荟暨卡萨帝品牌升级发布会在重庆国际博览中心举行。在经历了高端产品引领、高端品牌引领、高端场景引领后,卡萨帝启动全新品牌升级,持续与用户同行,开启高端生活方式引领的新时代。 现场,海尔智家副总…

量化交易:止盈策略与回测

我们买基金或股票的时候通常用最简单的策略进行决策:低买高卖,跌的多了就加仓拉低持有成本,达到收益率就卖出。 那么如何用代码表示这个策略呢?首先定义交易信号则是:0.5%时买入,目标止盈线是1.5%&#xf…

ELFK日志分析系统并使用Filter对日志数据进行处理

目录 一、 FilebeatELK 部署Filebeat 节点上操作 二、Filtergrok 正则捕获插件内置正则表达式调用自定义表达式调用 mutate 数据修改插件multiline 多行合并插件date 时间处理插件 一、 FilebeatELK 部署 Node1节点(2C/4G):node1/192.168.15…

Django rest framework基本知识

使用pycharm生成Django项目后,会生成工程目录和app目录 工程目录下5个文件,settings.py是全局配置相关的 urls.py是路有相关的 app相关的目录 models.py 数据库ORM对应的模型类 serializers.py 序列化与反序列化处理 views.py 根据request进行…

手工测试没有前途,自动化测试会取代手工测试?

在测试行业,一个一直被讨论的问题就是:手工测试没有前途,自动化测试会取代手工测试? 首先说结论:自动化测试不会取代手工测试,这完全是两个维度的事情。为什么不会呢?我们需要从本源上说起。 什…

DINO-DETR匈牙利匹配与加噪过程学习记录

今天再来回顾一下DINO中匈牙利匹配与损失函数部分,该部分大致与DETR相似,却又略有不同。 为了查看数据方便,博主将num_query改为20,max_select值也为20。 匈牙利匹配过程 首先是数据送入匈牙利匹配中进行标签匹配过程了。 获取…

【Android自动化测试】Ui Automator技术(以对QQ软件自动发说说为例)

文章目录 一、引言二、了解(Android官方文档)1、UiDevice 类2、UI Automator API3、UI Automator 查看器 三、使用1、依赖2、代码 一、引言 描述:UI Automator 是一个界面测试框架,适用于整个系统上以及多个已安装应用间的跨应用…