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 语言的独特性和功能相结合时,框架使开发人员能够通过消除繁重的工作来构建最高质量的嵌入式系统,为重复性任务提供经过验证的源代码库,并免费提供资源以专注于面向客户的功能。

审核编辑黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2870

    文章

    41639

    浏览量

    358400
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83468
收藏 人收藏

    评论

    相关推荐

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

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

    Kivy :开源跨平台的Python 框架

    好久没有写游戏系列教程了,今天恰好浏览到了 Kivy 这个开源跨平台的Python 框架,它能用于开发多点触控的用户界面程序,允许快速简单的交互设计,非常方便,于是有了制作本教程的想法
    的头像 发表于 10-31 15:27 565次阅读
    Kivy :开源跨平台的<b class='flag-5'>Python</b> <b class='flag-5'>框架</b>

    联网专业前景怎么样?

    联网专业前景怎么样? 联网专业在当今技术发展迅速的背景下具有广阔的前景。以下是联网专业的
    发表于 10-20 09:48

    MCU是怎么为联网端点设备提高安全性的?

    MCU 是怎么为联网端点设备提高安全性的?
    发表于 10-17 08:53

    基于飞腾派的边缘联网

    本帖最后由 zhh763984017 于 2023-9-21 16:53 编辑 今天给大家分享一个飞腾派的一个应用场景——边缘联网关。边缘联网关可以连接各种
    发表于 09-21 16:50

    阿里云联网平台基础概念讲解

    产品 设备的集合,通常指一组具有相同功能的设备联网平台为每个产品颁发全局唯一的ProductKey。每个产品下可以有成千上万的设备
    发表于 09-11 07:41

    联网简介

    联网(IoT)是由物理设备、车辆等组成的网络,家用电器和嵌入有电子设备、软件、传感器等的其他物品,致动器,以及使这些物体能够连接和交换数据。
    发表于 09-11 07:18

    新唐对应四大联网安全攻击的保护措施

    的防护。 Platform Security Architecture (PSA) 为联网装置定义了安全基础,是 Arm 于 2017 年所提出,主要希望提供一个清晰的框架来保护及整合连接
    发表于 08-21 08:14

    Python失宠!Hugging Face用Rust新写了一个ML框架

    Pytorch 框架是用 Python 编写的,API 也是基于 Python 的,这让用户上手开发会非常快。另外,Python 本身就是一种简洁而易于学习的编程语言,很适合初学者和专
    的头像 发表于 08-11 16:24 414次阅读
    <b class='flag-5'>Python</b>失宠!Hugging Face用Rust新写了一个ML<b class='flag-5'>框架</b>

    浅谈工业联网平台

    工业互联网平台 工业互联网平台的本质是在传统云平台的基础上叠加联网、大数据、人工智能等新兴技术,搭建对工业数据采集、存储、分析和应用的模块体系,实现工业互
    发表于 08-10 15:45

    【华秋推荐】联网入门学习模块 ESP8266

    随着全球信息技术的不断进步和普及,联网成为当今备受关注的技术热点之一。通过物理和数字设备之间的连接来实现自动化和互联互通的网络。无线传感器、云计算和大数据分析等技术,
    发表于 08-04 11:27

    如何使用Alexa语音服务集成在受约束的联网设备上设置语音命令

    本指南供硬件和软件架构师学习如何使用Alexa语音服务集成在受约束的联网设备上设置语音命令。AWS联网核心的Alexa语音服务集成(AI
    发表于 08-02 12:53

    设计一个片上系统-为安全的联网创建一个系统设备

    本指南适用于系统设计人员,可能使用Arm Flexible access。我们假设您希望为安全的联网设备开发片上系统(SoC),并且您打算SoC将用于智能咖啡机。然而,该指南可能与任何相关的
    发表于 08-02 09:33