第1章 MicroPython简介 1
1.1 MicroPython是什么 1
1.2 MicroPython的历史 1
1.3 MicroPython的特点 4
1.4授权 5
第2章 基础知识 6
2.1 Python3和MicroPython 6
2.2 MicroPython的系统结构 7
2.3安装驱动 8
2.4常用终端软件 10
2.5 MicroPython的REPL 14
2.5.1 REPL的快捷键 14
2.5.2使用help()函数 15
2.5.3查看模块包含的变量和函数 19
2.6 MicroPython官方固件 20
第3章 硬件平台介绍 23
3.1 pyboard 23
3.2 ESP8266 28
3.3其他可以运行MicroPython的硬件 32
第4章 pyboard的使用 41
4.1快速指南 41
4.2从闪灯开始 47
4.3按键的使用 49
4.4 GPIO的使用 50
4.4.1 GPIO的其他函数 52
4.4.2 GPIO的别名 55
4.4.3直接用端口名称 57
4.5 ADC模数转换 57
4.6 DAC数模转换 58
4.7定时器(Timer) 63
4.8 UART 68
4.9 I2C 71
4.10 SPI 74
4.11外中断 76
4.12 USB VCP 78
4.13 CAN 80
4.14文件操作 84
4.15小结 85
第5章 pyboard的Python标准库和微库 86
5.1内置函数 87
5.2数组(array) 88
5.3复数运算(cmath) 89
5.4垃圾回收(gc) 91
5.5数学计算(math) 92
5.6数据流事件(select) 95
5.7系统功能(sys) 96
5.8 binary/ASCⅡ转换(ubinascii) 98
5.9集合和容器类型(ucollections) 99
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 ADCAⅡ 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 DownloadTools 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温度传感器DS 1820 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