我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MicroPython技术及应用定义

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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语言特性在青少年编程教育也得到了实质性推广应用。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MicroPython技术及应用定义

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MicroPython技术及应用定义

MicroPython极精简高效的实现了Python3语言,包含Python标准库的一小部分,在单片机和受限环境中运行。1.1、MicroPython发展由剑桥大学的理论物理学家乔治?达明设计,遵循MIT许可协议,与Arduino类似,拥有
2023-01-31

静态重定位技术的原理及其应用案例

静态重定位技术的原理和应用引言:在现代计算机系统中,内存管理是一个非常重要的课题。随着软件的复杂性和规模的增加,内存的限制成为了我们面临的一个挑战。为了更高效地利用内存资源,静态重定位技术应运而生。本文将介绍静态重定位技术的原理、应用以及
静态重定位技术的原理及其应用案例
2024-01-18

JavaWeb Servlet技术及其应用实践

这篇文章主要介绍了JavaWeb Servlet技术,Servlet指在服务器端执行的一段Java代码,可以接收用户的请求和返回给用户响应结果,感兴趣想要详细了解可以参考下文
2023-05-20

PHP中的封装技术及应用

封装是面向对象编程中的一个重要概念,它指的是将数据和对数据的操作封装在一起,以便提供对外部程序的统一访问接口。在PHP中,封装可以通过访问控制修饰符和类的定义来实现。本文将介绍PHP中的封装技术及其应用场景,并提供一些具体的代码示例。一、封
2023-10-21

PHP bom的定义及其应用场景

PHP BOM的定义及其应用场景BOM(Byte Order Mark),即字节顺序标记,是一种用来标示文本编码格式的特殊字符序列。在PHP开发中,BOM通常用来解决一些特定的编码问题,在一些情况下,如果不正确地处理BOM可能会导致页面显
PHP bom的定义及其应用场景
2024-03-09

研究静态重定位技术之瓶颈及应对策略

静态重定位是一种将系统中的程序和数据移动到另一个内存地址的技术。它广泛应用于操作系统、编译器和软件开发中,以确保程序能够正常执行。然而,在实际应用过程中,静态重定位技术存在一些瓶颈问题,需要寻找解决方案来提高其效率和可靠性。首先,静态重定
研究静态重定位技术之瓶颈及应对策略
2024-01-29

ZT - RFT ScriptAssure 技术解析及应用实例(4)

Script Assure 的一些使用小经验最后列出一些在实践中总结出的小经验,以供大家参考使用[@more@]Script Assure 的一些使用小经验最后列出一些在实践中总结出的小经验,以供大家参考使用。如果您希望脚本回放更快,回放过
2023-06-04

ZT - RFT ScriptAssure 技术解析及应用实例(3)

ScriptAssure 技术应用实例下面让我们看看一些例子,看 IBM Rational 工具是如何发挥脚本的依赖性和独立性的优势,或者结合这两者来解决某些问题[@more@]ScriptAssure 技术应用实例下面让我们看看一些例子,
2023-06-04

ZigBee技术及在智能路灯上的应用

编程学习网:ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术,是基于IEEE802.15.4的通信协议。
ZigBee技术及在智能路灯上的应用
2024-04-23

浅谈数据库防火墙技术及应用

数据库防火墙仿佛是近几年来出现的一款新的安全设备,但事实上历史已经很长。2010年,Oracle公司在收购了Secerno公司,在2011年2月份正式发布了其数据库防火墙产品(database firewall),已经在市场上出现很多年头了
2023-06-03

golang函数自定义实现的高级技术

go 函数高级技术包括:闭包:用于访问外部定义的变量,可封装状态并创建私有变量。匿名函数:一次性操作使用的未命名函数,适用于回调、事件处理和筛选。函数类型:定义函数签名,可存储和传递函数值,用于比较和排序等场景。Go 中函数自定义实现的高级
golang函数自定义实现的高级技术
2024-04-28

Android 自定义手势--输入法手势技术

进行软件开发时,通常我们都喜欢使用较新版本的工具,但这里我为什么使用低版本的SDK来开发Android游戏呢?这里介绍下原因: 1、Android SDK 属于向下兼容!那么低版本可以运行的,高版本基本上更是没问题!(当然每次
2022-06-06

typeScript中数组类型定义及应用详解

相信大家应该都知道ts只允许数组中包括一种数据类型的值,下面这篇文章主要给大家介绍了关于typeScript中数组类型定义及应用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-05-19

项目管理系统定义、种类及应用

项目管理系统是一种用于管理和跟踪项目进度的工具,它可以帮助项目经理和团队成员更好地规划、组织、控制和监督项目活动,确保项目的顺利完成。本文将详细说明项目管理系统的种类和应用。一、项目管理系统的种类手动管理:这是最传统的项目管理方式,主要依赖于人工记录、跟踪和协调项目活动。这种方法效率低、易出错,而且难以在项目规模
项目管理系统定义、种类及应用
2023-12-13

Vue自定义指令学习及应用详解

这篇文章主要为大家详细介绍了Vue中自定义指令的学习以及如何利用Vue制作一个简单的学生信息管理系统,感兴趣的小伙伴可以跟随小编一起学习一下
2023-05-19

Java自定义映射resultMap定义及用法

MyBatis的每一个查询映射的返回类型都是ResultMap,当我们提供返回类型属性是resultType时,MyBatis会自动给我们把对应值赋给resultType所指定对象的属性,当我们提供返回类型是resultMap时,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录