设施建设中最伟大的创新之一是在工作现场需要前几个月在工厂预制建筑组件的想法。它不仅可以在现场破土动工后快速完成工作,还可以提高质量。由于软件开发框架(也称为软件开发工具包或 SDK),物联网嵌入式设备的软件开发可以利用类似的概念。要了解什么是 SDK,请考虑从头开始购买木材来建造房屋。你必须砍伐树木,在窑中烘干木材,然后将木材切割成可用的木材。或者您可以访问木材场,只需购买几乎可以保证手头任务近乎完美的规格木材。
Zerynth SDK
SDK 是一种软件开发,相当于从木材场购买木材,而不是自己砍伐树木。对于希望使用 Python 对物联网设备进行编程的嵌入式开发人员来说,一种 SDK 选项是 Zerynth 平台。Zerynth 支持许多流行的 32 位微控制器架构,包括 SAMD21、ESP32、ESP8266 和 NRF52832 等。SDK 可安装在 Windows、Mac OS 和 Linux 上。Zerynth SDK 由两个主要组件组成:Zerynth 工具链和 Zerynth Studio 集成开发环境 (IDE)(图 1)。
图 1:Zerynth 集成开发环境允许 Python 开发人员为物联网编写、调试、管理和部署固件。(来源:绿鞋车库)
Zerynth 工具链 (ZTC) 是命令行工具,作为 Zerynth 生态系统中固件开发、调试和设备管理的核心。Zerynth Studio 是位于 ZTC 命令行界面之上的图形界面。它提供图形代码编辑器和调试器界面以及大量 Python 代码示例,以帮助开始使用 Zerynth。IDE 的一个令人兴奋的特性是支持所谓的虚拟设备,它允许开发人员开发和验证应用程序代码,而无需将物理设备连接到本地主机。代码编辑器具有许多现代功能,包括语法突出显示、自动完成和智能片段。其他应该让开发人员满意的功能包括对 Git 存储库的内置支持和内置包管理器。开发者既可以访问 Zerynth 提供的官方 Python 代码库,也可以访问用户社区提交的库。利用经过验证的可靠源代码存储库的能力使开发人员能够专注于为客户提供增值功能,而不是浪费时间在常用的 Python 代码上重新发明轮子。Zerynth 生态系统的第二个主要组成部分 Zerynth 操作系统 (OS) 进一步增强了源代码库的力量。
操作系统
Zerynth OS 是一种多线程实时操作系统 (RTOS),经过调整可在内存和存储资源有限的各种 32 位微控制器架构上运行。它包含针对许多通信协议的高度定制的软件堆栈,包括 Wi-Fi®、Bluetooth®和洛拉。它还提供安全和电源管理功能。为硬件和 RTOS 交互使用抽象层允许 Zerynth OS 高度独立于底层微控制器平台。Zerynth OS 的核心是 Zerynth 虚拟机 (VM),它在任意数量的 RTOS 和硬件平台之上运行用户编写的 Python 脚本。开箱即用的 RTOS 包括 FreeRtos 和 CHIBIOS。通过使用所谓的 VM 操作系统抽象层 (VOSAL),开发人员可以创建在 Zerynth VM 上运行的高性能应用程序,这些应用程序利用信号量和线程等操作系统级功能,而不管选择的底层 RTOS 是什么。关于硬件抽象,Zerynth OS 提供了一种机制(VM 硬件抽象层或 VHAL)来与现代微控制器上的许多外设交互,例如中断、GPIO、I2C、SPI、ADC、PWM 和 UART。VHAL 是为每个受支持的微控制器定制编写的,它为前面提到的所有外设提供了一个单一的标准软件接口。换句话说,只需编写一次应用程序 Python 代码,它就可以在多个硬件平台上运行,只要设备具有板载外围设备即可。
Zerynth 设备管理器
当然,为物联网设备开发 Python 代码只是成功的一半。最终,设备必须走出去并连接到互联网才能执行其预期目的。为了帮助实现与部署 IoT 设备相关的各种功能(例如,远程配置、组织、监控和管理全球多个设备),Zerynth 设备管理器 (ZDM) 也提供给开发人员。通过 ZDM,设备可以安全地接入云端。还可以通过 ZDM 使用 REST API 来管理设备的整个生命周期,包括远程过程调用 (RPC) 和无线固件 (FOTA) 升级。ZDM 提供工具来聚合和存储现场物联网设备收集的数据。它还包括事件管理和警报机制以响应接收到的原始数据。ZDM 可以用作基于云的服务,也可以为那些具有独特安全或业务需求的客户现场安装。但是,如果开发人员需要使用第三方云服务提供商(例如,Amazon Web Services、Microsoft Azure、Google Cloud Platform、Ubidots、The Things Network),只需更改其中的一行代码即可Python 应用程序,而不是完整的代码重写。
Python 和 Zerynth:程序员的力量
Python 是一种功能强大的编程语言,在传统桌面应用程序之外的用例中继续受到关注。嵌入式电子产品(尤其是物联网设备)的开发人员将从采用 Zerynth 等软件开发框架中获益匪浅。框架确保一致性,甚至有助于提高性能、能源管理和安全性。当与 Python 语言的独特性和功能相结合时,框架使开发人员能够通过消除繁重的工作来构建最高质量的嵌入式系统,为重复性任务提供经过验证的源代码库,并免费提供资源以专注于面向客户的功能。
审核编辑黄昊宇
-
物联网
+关注
关注
2903文章
44279浏览量
371300 -
python
+关注
关注
56文章
4782浏览量
84456
发布评论请先 登录
相关推荐
评论