建立现代遥测GUI的5条提示

我所构建的几乎每个嵌入式系统都需要图形用户界面(GUI)来监视和显示遥测。在开发过程中监视遥测可以帮助开发人员可视化系统在做什么,并在验证和调试系统中发挥关键作用。在这种情况下,遥测是系统可以传输的任何健康信息,也可能不会与最终产品一起部署。今天开发GUI的过程正在发生巨大变化。在这篇文章中,我们将探讨有关如何现代化GUI工具的一些技巧。

提示1 –将应用程序留在后面并使用浏览器

GUI过去是用Visual C ++甚至LabView编写的独立的整体应用程序。虽然不一定有什么问题,但有时平台之间的交叉兼容性会出现问题。当今的开发人员可能希望在Windows,Linux,Mac,iOS,Android或其他某些操作系统上收集数据。试图支持所有这些都是一场噩梦。

解决方案是使用基于服务器的后端,该后端可以从嵌入式系统收集遥测信息,然后提供一个网页来显示和与设备交互。与旧的工作方式相比,它具有许多优点,例如:

  • 兼容任何具有Web浏览器(具有网络连接)的设备
  • 连接和合并多个数据流
  • 多个同时数据查看器
  • 能够托管在云中(但可以是本地的)
  • 利用开源科学与工程图书馆

浏览器是您所处的位置,并且具有灵活,可扩展的跨平台功能。

提示2 –使用Python编写GUI

Python席卷了编程世界。实习生,初级和高级工程师都知道并使用它。使用它编写GUI只是有意义的,但不仅仅是了解该语言的人。 Python为开发人员提供了许多库和工具,可用于编写后端,提供网页服务以及集成多个数据流。我还发现,许多公司还使用Python分析他们收集的数据,因此将Python用于GUI可以最大程度地减少需要了解的其他编程语言和维护工作。

提示#3 –将遥测存储在数据库中

大多数开发人员的格式设置是将遥测数据保存到CSV文件中。简单明了。不幸的是,它并不总是最快的,有时可能会出现诸如吞吐量和读/写时间之类的潜在问题。将数据库连接到遥测服务器可以是一种快速而灵活的方式,用于保存数据,然后轻松地查询,分析和显示该遥测。

我知道,使用GUI的嵌入式开发人员经常会直接进入数据库,因此在幕后开发人员创建用于存储数据的抽象界面非常重要。在界面的后面,最初的保存方法可以是CSV文件,并且一旦构建了GUI,就可以放置数据库。使用抽象界面可以使GUI不在乎,也不依赖于存储数据的方法。

提示4 –添加分析挂钩

早些时候,我没有想到使用服务器后端具有一些非常酷的潜力。在后端收集数据后,它不仅可以应用转换因子,而且可以为各种分析提供数据。集成工程库可以允许对流数据进行转换,平均,过滤等操作,然后将结果提供给Web浏览器,以向工程师和用户提供可用于调试的实时遥测数据

这些挂钩还可以将数据提供给其他分析包,从而允许在数据收集之后对数据进行绘制和检查。通常,GUI仅显示某个时间段内的实时数据,分析挂钩可以允许在更长的时间段内对数据执行各种有趣的转换,而通常在实时抓图中会保留这些内容

提示5 –添加验证钩

我使用过的一个独特用例是建立脚本功能的脚本,这些命令可以按顺序发送到系统。这种功能为开发人员提供了测试系统的能力,并且可以轻松地使系统进入潜在的边界状态,而无需编写大量的自定义固件。实际上,GUI可以充当验证团队的助手,后者需要验证系统是否按预期运行。

验证挂钩还可用于检测故障,设置故障,然后测试系统如何恢复。这会将通常仅用于显示数据的软件包转换为功能更广泛的工具,而增加的复杂性却很少,并且可以划分。

结论

通常需要遥测GUI来监视嵌入式系统在开发过程中,甚至在生产过程中如何运行。已经采用的技术正在迅速变化,更加着重于可移植性和可伸缩性。利用Web浏览器和服务器后端进行遥测GUI,是一种使GUI现代化的绝妙方法,并确保它们可以灵活地满足未来几年的需求。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.