第1章 MicroPython简介 001
1.1 MicroPython是什么 001
1.2 MicroPython的历史 001
1.3 MicroPython的特点 004
1.4 授权 005
第2章 基础知识 006
2.1 Python3和MicroPython 006
2.2 MicroPython的系统结构 007
2.3 安装驱动 008
2.4 常用终端软件 010
2.5 MicroPython的REPL 014
2.5.1 REPL的快捷键 014
2.5.2 使用help()函数 015
2.5.3 查看模块包含的变量和函数 019
2.6 MicroPython官方固件 020
第3章 硬件平台介绍 023
3.1 pyboard 023
3.2 ESP8266 028
3.3 其他可以运行MicroPython的硬件 032
第4章 pyboard的使用 041
4.1 快速指南 041
4.2 从闪灯开始 047
4.3 按键的使用 049
4.4 GPIO的使用 050
4.4.1 GPIO的其他函数 052
4.4.2 GPIO的别名 055
4.4.3 直接用端口名称 057
4.5 ADC模数转换 057
4.6 DAC数模转换 058
4.7 定时器(Timer) 063
4.8 UART 068
4.9 I2C 071
4.10 SPI 074
4.11 外中断 076
4.12 USB_VCP 078
4.13 CAN 080
4.14 文件操作 084
4.15 小结 085
第5章 pyboard的Python标准库和微库 086
5.1 内置函数 087
5.2 数组(array) 088
5.3 复数运算(cmath) 089
5.4 垃圾回收(gc) 091
5.5 数学计算(math) 092
5.6 数据流事件(select) 095
5.7 系统功能(sys) 096
5.8 binary/ASCII转换(ubinascii) 098
5.9 集合和容器类型(ucollections) 099
5.10 哈希算法库(uhashlib) 100
5.11 堆队列算法(uheapq) 101
5.12 输入/输出流(uio) 102
5.13 JSON编码解码(ujson) 103
5.14 “操作系统”基本服务(uos) 103
5.15 正则表达式(ure) 108
5.16 socket模块(usocket) 110
5.17 压缩和不压缩原始数据类型(ustruct) 114
5.18 时间函数(utime) 115
5.19 zlib解压缩(uzlib) 120
第6章 MicroPython特别库 121
6.1 简化的BTree数据库(btree) 121
6.1.1 函数 121
6.1.2 方法 122
6.1.3 常量 123
6.1.4 例程 123
6.2 帧缓冲区操作(frambuf) 124
6.2.1 类 124
6.2.2 构造函数 125
6.2.3 绘制基本形状 126
6.2.4 绘制文字 126
6.2.5 其他方法 126
6.2.6 常量 127
6.3 硬件相关函数(machine) 127
6.3.1 复位函数 127
6.3.2 中断相关函数 128
6.3.3 功率管理 128
6.3.4 常量 129
6.3.5 Class 129
6.4 访问和控制MicroPython内部(micropython) 138
6.5 使用网络(network) 140
6.5.1 class CC3K 141
6.5.2 class WIZNET5K 143
6.6 结构化访问二进制数据(uctypes) 144
6.6.1 定义数据结构层 145
6.6.2 模块内容 146
6.6.3 结构说明和实例化结构对象 147
6.6.4 结构对象 147
6.6.5 限制 148
6.7 线程 148
6.7.1 基本函数 149
6.7.2 使用方法 149
第7章 pyboard专用模块(pyb) 151
7.1 时间相关功能 151
7.2 复位功能 152
7.3 中断相关函数 153
7.4 功耗管理 153
7.5 其他函数 154
7.6 类 158
7.6.1 加速度传感器(Accel) 158
7.6.2 方法 158
7.6.3 例程 159
7.7 ADC 159
7.7.1 构造函数 159
7.7.2 方法 160
7.7.3 ADCAll 161
7.8 数模转换(DAC) 163
7.8.1 构造函数 163
7.8.2 方法 163
7.9 三线舵机驱动(servo) 164
7.9.1 构造函数 165
7.9.2 方法 165
7.10 pyb和machine的区别 166
第8章 ESP8266 167
8.1 快速指南 168
8.2 ESP8266专用模块esp 176
8.3 MicroPython标准模块和machine模块 179
8.4 网络配置(network) 179
8.4.1 函数 180
8.4.2 class WLAN 180
8.4.3 构造函数 180
8.4.4 方法 181
8.4.5 连接网络 184
8.4.6 作为http服务器 186
8.5 文件管理软件 189
8.5.1 WebREPL 189
8.5.2 uPyLoader 193
8.5.3 MicroPython File Uploader 200
8.5.4 uPyCraft 201
第9章 使用技巧和常见问题 206
9.1 不能正确识别出PYBFlash磁盘 206
9.2 安装虚拟串口失败 206
9.3 PYBFLASH磁盘中文件损坏或乱码 207
9.4 恢复出厂设置 207
9.5 怎样升级pyboard的固件 208
9.5.1 Linux下升级固件 210
9.5.2 Nucleo开发板升级固件 211
9.6 升级ESP8266的固件 212
9.6.1 需要的软件 212
9.6.2 固件文件 212
9.6.3 进入升级模式 213
9.6.4 esptool.py 213
9.6.5 Flash Download Tools 215
9.6.6 uPyLoader 216
9.7 访问寄存器 217
9.7.1 方法 217
9.7.2 使用STM32的寄存器控制LED 218
第10章 MicroPython应用 219
10.1 计算圆周率 219
10.2 驱动OLED模块 222
10.3 温度传感器DS1820 225
10.4 温湿度传感器DHT11 228
10.5 气压传感器 BMP180 229
10.6 用热敏电阻测温度 237
10.7 在SensorTile上使用MicroPython 242
10.7.1 移植MicroPython固件 244
10.7.2 传感器驱动 246
10.7.3 使用SensorTile制作开源智能怀表项目 261
10.8 其他MicroPython项目链接 270
附录 272