0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Zerynth:物联网设备的 Python 框架

新疆切糕 2022-12-28 09:51 次阅读

设施建设中最伟大的创新之一是在工作现场需要前几个月在工厂预制建筑组件的想法。它不仅可以在现场破土动工后快速完成工作,还可以提高质量。由于软件开发框架(也称为软件开发工具包或 SDK),物联网嵌入式设备的软件开发可以利用类似的概念。要了解什么是 SDK,请考虑从头开始购买木材来建造房屋。你必须砍伐树木,在窑中烘干木材,然后将木材切割成可用的木材。或者您可以访问木材场,只需购买几乎可以保证手头任务近乎完美的规格木材。

Zerynth SDK

SDK 是一种软件开发,相当于从木材场购买木材,而不是自己砍伐树木。对于希望使用 Python 对物联网设备进行编程嵌入式开发人员来说,一种 SDK 选项是 Zerynth 平台。Zerynth 支持许多流行的 32 位微控制器架构,包括 SAMD21、ESP32ESP8266 和 NRF52832 等。SDK 可安装在 Windows、Mac OS 和 Linux 上。Zerynth SDK 由两个主要组件组成:Zerynth 工具链和 Zerynth Studio 集成开发环境 (IDE)(图 1)。

poYBAGOrhNeAGrZIAABj8s5po2c678.png

图 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
收藏 人收藏

    评论

    相关推荐

    联网学习路线来啦!

    联网学习路线来啦! 联网方向作为目前一个热门的技术发展方向,有大量的人才需求,小白的学习入门路线推荐以下步骤。 1.了解
    发表于 11-11 16:03

    联网设备的标准与规范

    联网(IoT)正在改变我们的生活方式,从智能家居到工业自动化,再到智慧城市,联网设备正在渗透到我们生活的方方面面。随着
    的头像 发表于 10-29 11:34 384次阅读

    如何选择联网设备的PCB技术

    随着联网(IoT)技术的不断发展和应用范围的扩大,适合联网设备的PCB技术也在不断创新和进步。选择适合
    的头像 发表于 10-16 15:11 204次阅读

    如何测试联网设备的功耗

    如何测试联网设备的功耗联网(IoT)将涵盖我们日常生活的各个方面,因为它使数十亿的物品能够随时随地与任何事物和任何人连接。消费者对智能
    的头像 发表于 10-11 08:05 383次阅读
    如何测试<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>设备</b>的功耗

    如何使联网边缘设备高效节能?

    电源效率对于联网的成功至关重要。设备的效率越高,其功能寿命就越长,用户体验就越好。您是否在组织中实施了联网解决方案,以提高
    的头像 发表于 09-24 15:18 509次阅读
    如何使<b class='flag-5'>物</b><b class='flag-5'>联网</b>边缘<b class='flag-5'>设备</b>高效节能?

    基于联网设备管理

    联网设备管理的重要性日益凸显,设备数量激增带来数据泄露风险。加强设备安全性、软件升级与修复、身份验证和互操作性是关键。
    的头像 发表于 09-10 11:04 595次阅读
    基于<b class='flag-5'>物</b><b class='flag-5'>联网</b>的<b class='flag-5'>设备</b>管理

    天拓四方:工业联网关是什么?其在设备接入联网中的作用

    随着联网技术的迅猛发展,工业领域正经历着前所未有的变革。工业联网网关作为连接工业设备
    的头像 发表于 09-02 16:56 285次阅读
    天拓四方:工业<b class='flag-5'>物</b><b class='flag-5'>联网</b>关是什么?其在<b class='flag-5'>设备</b>接入<b class='flag-5'>物</b><b class='flag-5'>联网</b>中的作用

    什么是联网技术?

    什么是联网技术? 联网技术(Internet of Things, IoT)是一种通过信息传感设备,按约定的协议,将任何物体与网络相连
    发表于 08-19 14:08

    请问如何使用微控制器优化电池供电的联网设备的功耗?

    如何使用微控制器优化电池供电的联网设备的功耗?
    发表于 07-23 07:09

    Python中的人工智能框架与实例

    在人工智能(AI)领域,Python因其简洁的语法、丰富的库和强大的社区支持,成为了最受欢迎的编程语言之一。本文将详细介绍Python中的人工智能框架,并通过具体实例展示如何使用这些框架
    的头像 发表于 07-15 14:54 1601次阅读

    Python自动化测试框架及其应用

    Pytest是一个非常成熟的全功能的Python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起
    的头像 发表于 04-03 16:15 515次阅读
    <b class='flag-5'>Python</b>自动化测试<b class='flag-5'>框架</b>及其应用

    如何解决联网设备的安全问题

    依据统计数据显示,当前联网技术所面对的挑战,主要来自联网设备开发商急于开发未得到适当保护的
    发表于 02-29 14:58 583次阅读
    如何解决<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>设备</b>的安全问题

    联网设备管理平台如何实现?如何发挥作用?

    随着科技技术的飞速发展,各式各样的联网设备已经深入到我们生活工作的方方面面。小到智能家居,大到工业自动化,联网
    的头像 发表于 12-23 10:45 619次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>设备</b>管理平台如何实现?如何发挥作用?

    桂花网蓝牙网关:功能强大、应用广泛的联网连接设备

    联网迅速发展的今天,蓝牙网关作为连接设备的关键组件,发挥着越来越重要的作用。北京桂花网公司作为一家专业的联网解决方案提供商,其蓝牙网关
    发表于 12-12 16:06

    Python Web框架Django 5.0新特性

    根据 JetBrains 公布的 2022 Python 开发者调查结果,Python Web 框架的三巨头依旧是 Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列第一。
    的头像 发表于 12-06 13:37 1093次阅读