Michel Chabroux

因为工作职责定位的原因,我经常会见我们全球各地区和各个行业的客户,讨论很多事情。其中,有些事情属于最基础的层面,例如驱动程序和板级支持;有些则颇具戏剧性,诸如安全漏洞问题;还有些事情带有预见性,甚至令人感到兴奋——例如Python这种高级编程语言。

没错,Python真的让人兴奋!当我决定研究Python时,我喜欢它并非是因为情感因素,这是一项理性的投资。我在若干年前使用Blender软件时发现了它,编写了我的第一个Python程序来导出一种场景,从而在我的“光线跟踪器”中得到了一幅很酷的图像(如下所示)。

让我把话题从往事记忆拉回到当前,我们非常兴奋地将Python引入VxWorks世界。在此之前,我们的客户只能使用汇编程序、C或c++来编写嵌入式代码。虽然我们最近添加了对c++ 17和Boost 1.70.0的完全支持(这也是整个RTOS业界首创),但Python使得嵌入式编程提升到了一个新的高度。

Python的魔力

我们的前沿——我喜欢称之为机电一体化——正在发生变化,正在变得越来越宽广。我们的芯片合作伙伴正在提供更强大的片上系统(SoC)芯片,我们的客户希望在他们制造的IIoT设备上用这些芯片做更多的事情。这些新的特性/功能不再都是以实时为中心,但仍然具备关键性,同时为我们带来更高的价值。

于是,问题就转变为——怎样才能拥有正确的框架来提供这些新的特性/功能?这当然不能靠汇编程序。C或C++是不错的选择,但并不是最理想的。既然Python是其中的一种选择,就让我们先退一步来了解其中的原因。

最近,StackOverflow对“世界各地的编码人员”进行了一项调查。在所有各项关键结论中首屈一指的是Python。这款增长最快的主流编程语言,在我们调查中所及各种编程语言中的排名再次上升,今年超越了Java成为第二受欢迎的语言(仅次于Rust)。

从数据来看,Python的流行度名列第四(尽管我认为HTML/CSS和SQL不是真正的编程语言),同时受欢迎度排名则达到第二。

这为我们提供了开发人员的看法,也呈现了事实真相。如果我被要求去做一个新项目,我肯定会因为能够拥有并使用Python而感到更加兴奋,而不再选择传统的C/ C++。

现在转换角度从IIoT设备制造商的立场来看,可用的开发人员数量将会大幅增加。而且,这些开发人员的工作效率更高、速度更快,这是因为可用信息更加丰富,使用Python编程也更加便利。

简单地说——生产力是关键,而Python是生产力的源泉。

我说的这些不乏佐证!各大高校各个专业都为学生提供Python课程,包括卡内基-梅隆大学、麻省理工学院、斯坦福大学、加州大学伯克利分校、加州大学洛杉矶分校等。我们的平台集成了Brython,这个强大的浏览器内置Python解释器,让学生们在任何浏览器上都可以编写真正的Python代码。

Python在IIoT设备中缘何受宠?

们可以用Python做什么呢?我相信互联网可以为这个问题提供很多答案。但在嵌入式设备中,我所观察到的事情包括:

  • 在开发中运行测试脚本
  • 创建不同复杂度的神经网络和推理机,以便进行预测性维护
  • 解决复杂的数学问题,比如自动微分(Tensorflow用来计算函数的解析导数——DuckDuck)
  • 创建 CLI
  • 其他

现在,VxWorks 7已经拥有Python的支持,让我们看看在由此能做些什么。

让我打开一个编辑器,既可以是Wind River Workbench也可用其他编辑器,创建一个hello.py文件。

然后在VxWorks 7中运行它…

这很容易!顺便说一下,也可以在交互模式下使用Python…

显然这并不难,特别是考虑到Python是如此之强大。你也想试试吗?请联系你最熟悉伙伴——风河!

走到今天这一步并非结束而是开始!我们会继续将更新的技术注入我们的传统优势——机电一体化,以确保我们的客户能够专注于他们最擅长的事情——最佳的应用。