第一本MicroPython的中文图书《MicroPython入门指南》

《MicroPython入门指南》是第一本专门介绍MicroPython的中文图书,已经由电子工业出版社正式发行了。它用丰富的内容全面介绍了MicroPython的使用,适合作为MicroPython的入门读物。

编辑推荐

适读人群 :嵌入式领域的教育者、学生,希望在设备上快速实现编程的开发人员,以及非计算机专业的爱好者。

本书介绍国内外开源硬件领域热门的编程技术,用MicroPython做出很酷的东西,就是用Python语言在嵌入式中编程。MicroPython已经可以真正用于开发产品,这是其迅速吸引智能硬件开发者的原因。本书涉及MicroPython基础知识、硬件平台、开发技巧,案例丰富;让小白快速学编程、玩硬件,让工程师真正进行产品开发;适用于创客、发烧友和技术开发者。

内容简介

MicroPython是近年国外开源硬件(也是智能硬件)中*热门的主题之一,它使用Python语言在嵌入式中编程,不需要了解底层寄存器、数据手册、厂家的库函数,大部分外设和常用功能都有自己的库,使开发和移植变得容易和快速。MicroPython已经可以真正用于开发产品,这是其迅速吸引智能硬件开发者的原因。本书带领初学者逐步了解MicroPython的基础知识、硬件平台、开发技巧,采用大量浅显易懂的实例,使读者在实践中快速入门。

前言

MicroPython是近年开源社区中最热门的项目之一,它功能强大,使用简单,是创客、DIY爱好者、工程师最好的工具,也可以用在专业开发中。

相比另一个创客神器Arduino,MicroPython使用更加简单、方便,入门更快,性能也更好,更加适合初学者。它无须复杂的设置,不需要安装特别的软件和额外的硬件,也不用编译和下载,只要一个USB线,使用任何文本编辑器就可以进行编程。大部分硬件的功能,使用一个命令就能驱动,不用了解硬件底层就能快速开发,对于产品原型设计、软件移植非常有好处,让开发过程变得轻松,充满乐趣。和传统开发方法相比,MicroPython开发产品原型的速度更快,程序也更容易实现模块化,更方便进行维护。和其他类似软件相比,MicroPython是可以真正用在产品开发中的软件。

MicroPython以其开放的架构和MIT授权方式,在很短时间内就风靡世界,全世界有很多爱好者用它做出各种产品和有趣的应用。现在MicroPython已经被移植到了多种硬件平台上,如STM32、ESP8266、ESP32、dsPIC33、RTL8195、CC3200等,让我们有很多选择。
本书可以作为学习MicroPython的入门读物,也可以作为工具书,查看各种API的用法。本书先介绍MicroPython的起源,然后介绍MicroPython的基础知识和硬件平台,再重点介绍STM32和ESP8266上MicroPython的应用方法以及API,最后介绍了几个有趣的应用。通过本书读者可以快速了解并掌握MicroPython。

本书作者作为MicroPython中文社区站长,长期致力于MicroPython的研究和推广。本书的内容是由中文社区活动资料、社区的中文教程、官网英文社区、作者翻译的官网文档等整理而来,希望通过这本书,让广大爱好者和工程师可以了解到国外最新的技术,也希望和更多的爱好者一起交流,共同进步。书中难免存在不足和错误,请广大读者指正。

目录

第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

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注