(一)什么是MicroPython?

释放双眼,带上耳机,听听看~!
(一)什么是MicroPython?

MicroPython简介

MicroPython是Python 3编程语言的精简高效实现 ,包括Python标准库的一小部分,并且经过优化,可在微控制器和受限环境中运行。 MicroPython pyboard是一个紧凑的电子电路板,在裸机上运行MicroPython,为您提供一个低级Python操作系统,可用于控制各种电子项目。 MicroPython包含许多高级功能,如交互式提示,任意精度整数,闭包,列表理解,生成器,异常处理等。然而它非常紧凑,可以在仅256k的代码空间和16k的RAM内运行。 MicroPython旨在尽可能与普通Python兼容,以便您轻松地将代码从桌面传输到微控制器或嵌入式系统。 微控制器是缩小到单个非常小的芯片上的计算机。 嵌入式系统是在更大的机械或电气系统中起作用的计算机。嵌入式系统通常使用微控制器。 这提出了两个重要问题:

  • 为什么要使用这种小型,动力不足的基于微控制器的设备?
  • 为何使用Python?

回答这些问题说明了为什么围绕MicroPython有如此多的趣味性。

为何选择Micro?

电脑是惊人的,看似神奇的东西。

  • 例如,向世界的另一端进行视频通话是司空见惯的。然而,就在20年前,这是科幻小说的领域。 任何足够先进的技术都与魔术无法区分。 亚瑟C.克拉克,预言的危害:想象力的失败
  • 科幻小说作家亚瑟·克拉克(Arthur C. Clarke)的引用表明,先进技术似乎是令人敬畏的神奇魔力。他忘了提到任何足够先进的技术如果到处都是无聊的。除了最好奇的人之外,熟悉和普遍存在消除了所有人的奇迹。

microPython是怎么诞生的?

Damien George是一名计算机工程师,他每天都要使用Python语言工作,同时也在做一些机器人项目。有一天,他突然冒出了一个想法:能否用Python语言来控制单片机,进行实现对机器人的操控呢?

要知道,Python是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。遗憾的是,它不能实现一些非常底层的操控,所以在硬件领域并不起眼。

Damien为了突破这种限制,他花费了六个月的时间来打造Micro Python。它基于ANSI C,语法跟Pyton 3基本一致,拥有自家的解析器、编译器、虚拟机和类库等。目前它支持基于32-bit的ARM处理器,比如说pyboard(STM32F405),支持NRF51822(micro:bit)、支持FireBeetle-ESP32、支持WiPy、支持ESP8266核心主控、支持CC3200等等。

为何选择Python?

Python是一种易于学习,使用广泛且富有表现力的编程语言。用简洁简单的代码在Python中编写你的程序很容易。此外,Python蓬勃发展,因为它拥有一个组织良好,积极主动,多样化和热情的全球社区。

MicroPython是Python 3的完全重新实现。除了在后面的段落中描述的一些差异之外,您对Python的了解也适用于MicroPython。常规Python和MicroPython之间最明显的区别是MicroPython被设计为在极其受限的条件下工作(例如Micro:bit上只有16千字节的RAM)。 MicroPython直接在硬件上运行“裸机”:没有像Windows,macOS或Linux这样的底层操作系统。通常由操作系统提供的所有操作和服务都由MicroPython直接处理。MicroPython具有完整和直接的硬件控制,因此,实际上,MicroPython是操作系统。 除了少数例外,Python的所有语言功能也都在MicroPython中。由于设备的性质有限,默认情况下MicroPython没有附带完整的标准库。相反,根据设备的不同,它将附带标准库的子集,通常以高效的嵌入式友好方式重新实现。

由于MicroPython在具有不同功能的设备上运行,因此功能和模块的可用性有时会有所不同。当然,具有特殊功能的设备(如WiFi)将包含支持这些功能的模块。

支持MicroPython的开发板有很多?

比如:

  1. pyboard
  2. micro:bit
  3. ESP8266/ESP32
  4. stm32等等

下面将介绍部分开发板

什么是pyboard?

(一)什么是MicroPython?

pyboard是官方的MicroPython微控制器板,完全支持软件功能。硬件有:

  • STM32F405RG微控制器
  • 具有硬件浮点的168 MHz Cortex M4 CPU
  • 1024KiB闪存ROM和192KiB RAM
  • Micro USB连接器,用于电源和串行通信
  • Micro SD卡插槽,支持标准和高容量SD卡
  • 3轴加速度计(MMA7660)
  • 带可选备用电池的实时时钟
  • 左下边缘有24个GPIO,底行有5个GPIO,底部有LED和开关GPIO
  • 3个12位模数转换器,16引脚,4个模拟接地保护
  • 2x 12位数模转换器(DAC),可在引脚X5和X6上使用
  • 4个LED(红色,绿色,黄色和蓝色)
  • 1个复位和1个用户开关
  • 板载3.3V LDO稳压器,能够提供高达250mA的电压,输入电压范围为3.6V至16V
  • ROM中的DFU引导加载程序,可轻松升级固件

什么是micro:bit

(一)什么是MicroPython?

micro:bit是由英国广播公司BBC推出的可编程微型计算机,可以帮助用户学习基础编程知识。它最大的亮点在于支持图形化编程,支持microPython编程。micro:bit主控采用nrf51822芯片作为主控,IC包括256KB片上闪存,16KB RAM,32位ARM®Cortex™ M0 CPU,支持Bluetooth低功耗,在低功耗模式下,最低功耗可以达到0.6uA。

什么是WiPy?

(一)什么是MicroPython?

WiPy是支持microPython编程、支持WiFi和蓝牙的开发板,定位于物联网应用的设计。WiPy控制器的核心采用Espressif ESP32芯片,其最大的特点在于体积小巧,支持蓝牙和WiFi。

给TA打赏
共{{data.count}}人
人已打赏
动态

基于micropython实现网络时间自动校准器

2019-12-30 13:47:51

msp430/Arduino-进阶

(十)msp430:7段显示器与MSP-EXP430G2 TI Launchpad连接

2019-6-14 19:40:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();