使用MicroPython开发ESP32(02):库介绍

2023-11-19

目的

对于Python来说丰富的库是其使用快速简易的关键,这点对于MicroPython也一样,这篇文章就对MicroPython的库做个罗列和简单说明。

库基础说明

MicroPython库分为三部分。一部分是把基础Python中常用的库结合硬件特典重新实现的,为了做区分这部分库在命名上稍有改变,比如原版的 json 模块在MicroPython中改名为 ujson ,不过在使用的时候用 jsonujson 两个名称都可以。
MicroPython库第二部分是嵌入式设备特有的,比如 machine 库,该库中包含了对CPU、外设等片上资源相关的操作。
MicroPython库第三部分是特定模块特有的,比如 esp32 库,该库是esp32特有的。

更多的内容可以参考官方文档:
http://docs.micropython.org/en/latest/library/index.html#

库列表

Python基础库

名称 说明 内容举例
Builtin 内建函数和异常
(不需要引入模块)
abs()、pow()、max()、min()
bin()、hex()
input()、print()
len()、range()、next()
math 浮点运算相关函数 cos()、exp()、log()、sin()
e、pi
cmath 复数运算相关函数 cos()、exp()、log()、sin()
e、pi
gc 垃圾回收控制 enable()、disable()、collect()
sys 系统相关功能 exit()
stdin()、stdout() (标准输入输出流)
uarray 数组相关功能
ubinascii 二进制和ASCII格式转化 hexlify()、unhexlify()
a2b_base64()、b2a_base64()
ucollections 集合相关内容
uerrno 定义了一些错误码
uhashlib 哈希和信息摘要算法 sha256、sha1、md5
uheapq 堆相关操作 heappush()、heappop()、heapify()
uio 流和文件相关操作 open()
ujson python数据类型和json相互转换 dump()、dumps()、load()、loads()
uos 文件系统相关操作 chdir()、listdir()、mkdir()
remove()、rename()
ure 正则表达式相关功能
uselect steam相关异步功能
usocket socket相关功能,用于网络通信
ussl SSL/TLS相关功能
ustruct 打包解包基础数据类型
utime 时间相关功能 time()、sleep()
uzlib 压缩与解压缩相关功能(当前只能解压缩)
_thread 多线程功能(还在试验中)

嵌入式设备相关库

名称 说明 内容举例
btree BTree数据库
framebuf 帧缓冲模块,可以用于图形输出等
machine 包含了对模块上CPU、外设等片上资源相关的操作 reset()、soft_reset()、reset_cause()
disable_irq()、enable_irq()
lightsleep()、deepsleep()
Pin、ADC、UART、SPI、I2C
RTC、WDT、SDCard
micropython micropython解释器与系统相关内容
network 网络搜索、连接、建立AP等相关操作 connect()、scan()、ifconfig()
urequests 用于HTTP访问
这个库没有出现在文档中,但是可以用-.-!
ubluetooth 蓝牙相关操作
ucryptolib 加密解密等功能
uctypes 提供与C兼容功能

ESP32特有库

名称 说明 内容举例
esp esp8266和esp32特有的
该库中部分函数是esp8266特有的
flash_size()
esp32 esp32特有库 raw_temperature()、hall_sensor()、RMT

总结

MicroPython的库比较多,部分功能是从CPython移植过来的,这部分功能更多的可以参考CPython。还有一部分功能基于硬件开发而来,有机会的话会在后面写文章深入的讲解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用MicroPython开发ESP32(02):库介绍 的相关文章

随机推荐

  • 图解Git

    基本用法 上面的四条命令在工作目录 暂存目录 也叫做索引 和仓库之间复制文件 git add files 把当前文件放入暂存区域 git commit 给暂存区域生成快照并提交 git reset files 用来撤销最后一次git add
  • UNITY一些关于旋转的问题

    实现平滑的旋转 旋转的目的是为了朝向目标物体 untiy中的旋转rotation是一个四元数 在代码里面我们可以用Quaternion 来记录一个人物角色的最初的旋转角度 注意 这个要在awake里赋值 目的是取得该值 为了实现平滑的旋转
  • 关于powershell中错误:无法将“XXX”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案

    在利用ffmpeg进行格式转换时报错 无法将 ffmpeg 项识别为 cmdlet 函数 脚本文件或可运行程序的名称 发现是改动了ffmpeg所在根文件夹名字 导致path环境变量找不到ffmpeg程序 改动环境变量就正常了 快速打开环境变
  • protobuf对象 转为Json串写入elastic search遇到的问题总结

    背景 从kafka中消费数据后拿到的是protobuf序列化后的字节数组 转化为Java中的proto对象后 需要将这些protocol对象继续处理成Json串写入elasticsearch 各种问题 Json工具选择 刚开始尝试使用fas
  • Failed to convert property value of type 'java.lang.String' to required type 'int' for property

    junit Spring 测试Service org springframework beans TypeMismatchException Failed to convert property value of type java lan
  • Django ORM中常用字段类型与参数

    ORM中常用字段类型与参数 在ORM中一个模型类对应的是数据库中的一张表 对象对应的是数据库中的记录 属性则对应的是字段 此篇为章主要整理的是常用的字段类型和对应的参数 字段类型 1 自增长字段 自增长 id models AutoFiel
  • 详述Java三种注释方法及实例说明

    1 注释方法汇总 实例说明在第二部分 1 1单行注释 1 符号 2 注释范围 从符号 开始 到本行结束 3 快捷键 Ctrl Ctrl 和 的组合 选中要注释的内容 按 Ctrl 便可 同时单行注释多行内容 若想多个同个取消 则选中 以及单
  • Linux的静态库和动态库

    库从本质上来说是一种可执行代码的二进制格式 可以被载入内存中执行 库分静态库和动态库两种 静态库和动态库的区别 1 静态函数库 这类库的名字一般是libxxx a 利用静态函数库编译成的文件比较大 因为整个 函数库的所有数据都会被整合进目标
  • J-Flash中添加MDK制作的QSPI Flash下载算法方法

    在JLINK的电脑端驱动V6 84a上测试的 1 MDK的QSPI Flash下载算法制作方法和制作好的算法看教程第80章和配套的例子即可http www armbbs cn forum php mod viewthread tid 869
  • 蹭热点:白的不能再白的Github Pages部署教程

    最近最热点的新闻无疑是微软收购 世界上最大的同性交友网站 Github了 作为一个程序单身狗 我也来蹭蹭热点 正好花了半天时间学了一下怎么构建Github Pages 没看错 我也是现学的 然后才发现原来Github还有这么NB好用的功能
  • Linux(一): 系统操作命令与组成

    目录 命令格式 一 常用操作以及概念 快捷键 求助 1 help 2 man 3 info 4 doc 关机 1 who 2 sync 3 shutdown PATH sudo 包管理工具 1 发行版 VIM 三个模式 1 离开或保存 GN
  • python3.8动态人脸识别

    一 准备依赖库 pip install dlib pip python opencv 二 代码实现 coding utf 8 从视屏中识别人脸 并实时标出面部特征点 import dlib 人脸识别的库dlib import cv2 图像处
  • 保姆级使用PyTorch训练与评估自己的ConvNeXt网络教程

    文章目录 前言 0 环境搭建 快速开始 1 数据集制作 1 1 标签文件制作 1 2 数据集划分 1 3 数据集信息文件制作 2 修改参数文件 3 训练 4 评估 5 其他教程 前言 项目地址 https github com Fafa D
  • 李沐论文精读系列四:CLIP和改进工作串讲(LSeg、GroupViT、VLiD、 GLIPv1、 GLIPv2、CLIPasso)

    文章目录 一 CLIP 1 1 简介 1 1 1 前言 1 1 2 模型结构 1 1 3 模型效果 1 1 3 1 对自然分布偏移的鲁棒性 1 1 3 2 StyleCLIP 1 1 3 3 CLIPDraw 1 1 3 4 zero sh
  • 数据分析实战(数据采集与整理)

    1 数据的可分析度 我们需要判断这个数据的分析是否是有价值的 在可分析度方面 需要一些判断的维度 主要是企业数据量 数据复杂度还有数据颗粒度 数据量比较大的 复杂度比较高的 颗粒度比较细的数据 就有比较高的分析和利用价值 衡量数据复杂度我们
  • C移植到Java中,byte[]与其他数据类型的转换

    最近在把C代码移植到Java Android 中 C中一般的数据都会使用byte unsigned char 来存储 且位操作特别频繁 我要把这些数据转换成在Java存储 或把byte转换成本语言的其他类型 掉进不少坑 这里 总结下这段时间
  • < 开源项目框架:推荐几个开箱即用的开源管理系统 - 让开发不再复杂 >

    文章目录 SCUI Admin 中后台前端解决方案 Vue NetCore 前后端分离的快速发开框架 next admin 适配移动端 pc的后台模板 django vue admin pro 快速开发平台 Admin NET 通用管理平台
  • copy to clipboard

    export function copyToClipboard textToCopy string if navigator clipboard window isSecureContext secure return navigator
  • ajax调用fastreport,使用Ajax更新ASP.Net MVC项目中的报表对象

    使用Ajax更新ASP Net MVC项目中的报表对象 Ajax技术显著加快了Web应用程序的速度 另外 视觉效果方面也有提升 大家都同意 每次点击按钮时整个页面都会被刷新这一点不太友好 如果你的网速不是很快 那么这个过程会很烦人 因为所有
  • 使用MicroPython开发ESP32(02):库介绍

    文章目录 目的 库基础说明 库列表 Python基础库 嵌入式设备相关库 ESP32特有库 总结 目的 对于Python来说丰富的库是其使用快速简易的关键 这点对于MicroPython也一样 这篇文章就对MicroPython的库做个罗列