文档章节

MicroPython技术及应用前景

bodasisiter
 bodasisiter
发布于 01/19 09:35
字数 2329
阅读 106
收藏 0

    1 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包含了诸如交互式提示,任意精度整数,关闭,列表解析,生成器,异常处理等高级功能。适合运行在只有256k的代码空间和16k的RAM的芯片上。MicroPython旨在尽可能与普通Python兼容,让您轻松将代码从桌面传输到微控制器或嵌入式系统。

    当前TPYBoard有

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

    2、MicroPython能干什么

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

    2.1 智能仪器

    单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、电流、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。   例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。
    2.2 工业控制
    单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、通信系统、信号检测系统、无线感知系统、测控系统、机器人等应用控制系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。在工业疏水阀检测已经的到了实质性推广应用。
    2.3 家用电器
    现在的家用电器广泛采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备和白色家电等。
    2.4 网络和通信
    现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
    2.5 医用设备领域
    单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
    2.6 模块化系统
    某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。   在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
    2.7 汽车电子
    单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器、GPS导航系统、abs防抱死系统、制动系统、胎压检测等。
    2.8 其他
    单片机在工商、金融、科研、教育、电力、通信、物流和国防航空航天等领域都有着十分广泛的用途。

    3 MicroPython的应用

    萝卜电子致力于MicroPython在国内的普及和推广,是专业的MicroPython培训和应用专家。萝卜电子除了TPYBoard开发板系列,在MicroPython的青少年编程领域以及工业应用领域都获得了实质性进展并取得了不俗成绩。

    3.1 TMS无线疏水阀检控系统

    TMS疏水阀检测系统将MicroPython成功应用到工业领域,是真正意义上的智能化疏水阀在线监测系统。系统利用压电振动检测,实现实时阀门泄漏的定量监测,准确判断系统中泄漏点和泄漏状态。TMS疏水阀无线监测系统能高效地监测和诊断蒸汽疏水阀的工作状况,以防止因泄漏造成能源损失去。
    TMS无线疏水阀检控系统现已在蒙牛乳业, 青岛双星, 万达宝通, 飞鹤乳业, 遵义烟厂, 贵定烟厂等企业成功安装上线。

    3.2 学科编程教育

    萝卜教育学科式编程始终以“代码编程”教育为主要目标,从课程入门阶段便引导孩子脱离“积木式拖拽编程”思维模式,逐步形成“面向对象代码编程”思想。不仅教会孩子编程,更多的是不断地激发孩子的潜能,让孩子利用编程思维,创新、高效、全面地解决实际生活中的问题,增强孩子在人工智能时代的竞争能力。


    萝卜教育专注于MicroPython的普及和推广,聚焦“新时代、新标准、新课程、新装备”致力于打造专业的MicroPython入门及应用培训。探究更适合中国孩子的编程教学方法,培养孩子学科应用能力的同时,全面提升综合素质,塑造真正能够驾驭未来的中国学生。
 

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 19
博文 190
码字总数 175513
作品 0
潍坊
私信 提问
MicroPython支持的开发板:高性能、低成本会python就能做创客

Python的开放、简洁、黏合正符合了现发展阶段对大数据分析、可视化、各种平台程序协作产生了快速的促进作用。自Python3的发布到现在已有五六年的时间,从刚发布的反对声音到慢慢被接受与喜欢...

bodasisiter
2017/04/11
1
0
Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!

Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么? 可以快...

bodasisiter
2018/09/05
0
0
MicroPython技术及应用定义

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

bodasisiter
01/09
0
0
玩转MicroPython开发板!你和Ta会有什么火花?

  说到MicroPython,也许有人会感到陌生。而说到和它密切相关的Python,是否会恍然大悟呢?Python属于解释型语言,1989年才开发完成的Python显然非常年轻。然而经过数十年的磨砺,如今Pyt...

bodasisiter
2017/06/03
0
0
人生苦短,用 RT-Thread MicroPython 享受编程的乐趣

在 i.MX RT1050 EVK 开发板上实现这样的一个读取板载的 6 轴传感器信息和系统 CPU 利用率等信息,实时显示到网页中效果,你猜需要多少代码? 事实上 RT-Thread 的同事利用 RT-Thread MicroP...

RTThread物联网操作系统
2018/05/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Objective-C中的associated object释放时机问题

如果对象A持有对象B,B作为A的associated object,并且表面上B没有其他被强引用的地方,那么对象A被释放时,对象B一定会同时释放吗?大部分情况下是,但真有不是的时候。最近实现代码的时候不...

阿里云官方博客
42分钟前
2
0
12_第一个Flutter程序

使用 package 在这一步中,你将开始使用一个名为 english_words 的开源软件包,其中包含数千个最常用的英文单词以及一些实用功能。 你可以 在 pub.dartlang.org 上找到 english_words 软件包...

口十耳
今天
7
0
【Maven冷知识】Compiler插件

很多同学在pom的配置中都喜欢加上这样一段配置信息: 从配置信息上看,这是maven对Java源代码进行的编译配置,采用了Java 7 进行编译,但是为什么要加上这段配置呢?不加有没有什么影响?很多...

算法与编程之美
今天
2
0
磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序

本文由云+社区发表 作者:腾讯云数据库 随着云计算和数据库技术的发展,数据库正在变得越来越强大。数据库的性能如处理速度、对高并发的支持在节节攀升,同时分布式、实时的数据分析、兼容主...

腾讯云加社区
今天
2
0
Visual Studio系列教程:使用XAML工具创建用户界面(二)

Visual Studio是一款完备的工具和服务,可帮助您为Microsoft平台和其他平台创建各种各样的应用程序。在本系列教程中将介绍如何为图像编辑创建基本的用户界面,有任何建议或提示请在下方评论区...

ymy_666666
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部