MicroPython技术及应用定义

2024-04-30 12:32

本文主要是介绍MicroPython技术及应用定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  MicroPython极精简高效的实现了Python3语言,包含Python标准库的一小部分,在单片机和受限环境中运行。

    1.1、MicroPython发展
    由剑桥大学的理论物理学家乔治?达明设计,遵循MIT许可协议,与Arduino类似,拥有自己的解析器、编译器、 虚拟机和类库等,MicroPython更强大。目前它支持基于32-bit的ARM处理器,比如STM32F405、STM32f407等,也就是说ARM处理器STM32F405上直接可运行Python语言,用Python语言来控制单片机。在单片机上能运行Python,实际上Python已经完全脱离系统,也就是说,你可以通过Python脚本语言开发单片机程序。

    1.2、MicroPython支持的芯片
    支持的mcu系列有:stm32f405、stm32f407,也支持esp8266,接下来会增强stm32f103和esp32的稳定性,芯片将会扩展到FPGA和A7。

    1.3、MicroPython固件
    固件就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机或手机等都有内部固件。

    主要由以下构成:
    py/--核心python实现,包括编译器、运行时和核心库。
    mpy cross/--用于将脚本转换为预编译字节码的Micropyhon交叉编译器。
    ports/unix/--在unix上运行的微星版本。
    ports/stm32/--运行在Pyboard和类似的stm32板上的Micropyhon版本(使用st的cube-hal驱动程序)。
    ports/minimal/--最小的Micropython端口。
    tests/--测试框架和测试脚本。
    docs/——sphinx格式的用户文档。呈现的HTML文档可在http://docs.tpyboard.com上找到。

    其他组件
    ports/bare-arm/--用于ARM MCU的最小MicroPython版本。主要用于控制代码大小。
    ports/teensy/--运行在teensy 3.1上的MicroPython版本(初步但功能正常)。
    ports/pic16bit/--16位pic微控制器的MicroPython版本。
    ports/cc3200/--在TI的cc3200上运行的Micropython版本。
    ports/esp8266/--运行在espressf的esp8266 soc上的MicroPython版本。
    ports/esp32/--运行在espressf的esp32 soc上的MicroPython版本。
    ports/nrf/--在nrf51和nrf52 mcu上运行的MicroPython版本。
    extmod/--在C中实现的附加(非核心)模块。
    tools/--各种工具
    example/--几个Python脚本示例。
    Micropython当前最新版本是1.94,TPYBoard增加了显示屏,红外等常用接口驱动程序,可以直接使用这些设备。

    1.4、TPYBoard是什么?
    TPYBoard是一块能裸机运行MicroPython的紧凑型电路板,提供了用于控制各种单片机接口的底层Python操作系统。是萝卜设计支持Micropython的开发板,国内第一块有自主实用新型专利和商标,可运行MicroPython单片机。
    MicroPython包含了诸如交互式提示,任意精度整数,关闭,列表解析,生成器,异常处理等高级功能。适合运行在只有256k的代码空间和16k的RAM的芯片上。MicroPython旨在尽可能与普通Python兼容,让您轻松将代码从桌面传输到微控制器或嵌入式系统。
    当前TPYBoard有

    V10x—主要是基础的TPYBoard开发板。
    V201—局域网通信,有LAN网口的TPYBoard开发板。
    V202—wifi通信,支持wifi模块的TPYBoard开发板。
    V702—远距离通信的,支持SIM卡的TPYBoard开发板。

    2、MicroPython能干什么

    既然MicroPython是用Python语言能来控制单片机,那么单片机能做什么基本能反映出它能做什么。还是让我们一起看一下单片机能干什么?

    目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

    2.1、智能仪器
    单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。   例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。

    2.2、工业控制
    单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。在工业疏水阀检测已经的到了实质性推广应用。

    2.3、家用电器
    现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。

    2.4、网络和通信
    现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

    2.5、医用设备领域
    单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

    2.6、模块化系统
    某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。   在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。

    2.7、汽车电子
    单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、abs防抱死系统、制动系统、胎压检测等。

    2.8、其他
    单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。

    在教育方面利用Python语言特性在青少年编程教育也得到了实质性推广应用。

这篇关于MicroPython技术及应用定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948868

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个