几乎每个嵌入式系统都需要图形用户界面 (GUI) 来监控和显示遥测数据。在开发过程中监控遥测可以帮助嵌入式开发人员可视化系统正在做什么,并在验证和调试系统中发挥关键作用。在这种情况下,遥测是系统可以传输的任何健康和保健信息,并且可能会或可能不会与最终产品一起部署。今天开发 GUI 正在发生巨大变化。在这篇文章中,我们将探讨一些关于如何使你的 GUI 工具现代化的技巧。
技巧1 – 留下应用程序并使用浏览器
GUI 曾经是用 Visual C++ 甚至 LabView 编写的独立的单体应用程序。虽然这不一定有什么问题,但有时平台之间的交叉兼容性会出现问题。今天的开发人员可能希望在 Windows、Linux、Mac、iOS、Android 或其他一些操作系统上收集数据。试图支持所有这些是一场噩梦。
解决方案是使用基于服务器的后端,该后端可以从嵌入式系统收集遥测数据,然后提供网页以显示并与设备交互。与旧的做事方式相比,这有很多优势,例如:
兼容任何带有网络浏览器的设备(带有网络连接)
连接和合并多个数据流
多个同时数据查看器
能够在云中托管(但可以在本地)
利用开源科学和工程库
浏览器就在哪里,它灵活、可扩展且跨平台。
技巧2 – 使用 Python 编写 GUI
Python 已经席卷了编程世界。实习生、初级和高级工程师都知道并使用它。用它来写一个 GUI 是有意义的,但它不仅仅是理解语言的人。Python 为嵌入式开发人员提供了大量的库和工具,可用于编写后端、提供网页和集成多个数据流。许多公司也使用 Python 来分析他们收集的数据,因此将 Python 用于 GUI 可以帮助最大限度地减少需要了解的其他编程语言和维护工作。
技巧3 – 将遥测数据存储在数据库中
大多数开发人员的首选格式是将他们的遥测数据保存到 CSV 文件中,这很简单直接。不幸的是,它并不总是最快的,有时可能会出现吞吐量和读/写时间等潜在问题。将数据库连接到遥测服务器是一种快速灵活的方式来保存数据,然后轻松查询、分析和显示遥测数据。
使用 GUI 的嵌入式开发人员通常会犹豫直接使用数据库,因此在幕后开发人员创建一个用于保存数据的抽象接口非常重要。在界面后面,最初的保存方法可以是一个 CSV 文件,一旦构建了 GUI,就可以建立一个数据库。使用抽象接口将使 GUI 不关心并且不依赖于用于存储数据的方法。
技巧4 – 添加分析挂钩
通过在后端收集数据,它不仅可以应用转换因子,还可以为各种分析提供数据。集成工程库可以对流数据进行转换、平均、过滤等操作,然后将结果提供给 Web 浏览器,为工程师和用户提供可用于调试的实时遥测数据。
这些钩子还可以将数据提供给其他分析包,以便在数据收集后绘制和审查数据。通常,GUI 仅显示某个时间段内的实时数据,分析挂钩可以允许在更长的时间内对数据执行各种有趣的转换,而这些转换通常保存在实时图上。
技巧5 – 添加验证钩子
构建脚本命令,这些命令可以按顺序发送到系统。这种类型的功能为嵌入式开发人员提供了测试系统的能力,并且还可以轻松地将系统置于潜在的边界状态条件下,而无需编写一堆自定义固件。事实上,GUI 可以作为验证团队的助手获得第二次生命,验证团队需要验证系统是否按预期运行。
验证挂钩还可用于检测故障、设置故障,然后测试系统如何恢复。这将通常仅用于显示数据的软件包转换为更加通用的工具,几乎没有增加复杂性并且可以划分。
结论
通常需要遥测 GUI 来监控嵌入式开发过程中的运行情况,有时甚至在生产过程中。已采用的技术正在迅速变化,更加强调可移植性和可扩展性。将 Web 浏览器和服务器后端用于遥测 GUI 是实现 GUI 现代化并确保它们能够灵活处理未来几年的需求的绝佳方式。
发表评论 取消回复