猜你喜欢
Python微控制器编程从零开始

Python微控制器编程从零开始

书籍作者:唐纳德·诺里斯 ISBN:9787302506492
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2885
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

● 学习MicroPython和面向对象编程的基础

● 探索Pyboard、ESP8266和WiPy的强大特性

● 接入PC,加载文件、程序和模块

● 操作LED、定时器和变频器

● 使用串行接口和PWM控制外部设备

● 使用三轴加速度计组建和编程擦网球探测器

● 安装和编程LCD与触摸传感器扩展板

● 使用AMP音频板记录和播放声音


作者简介

Donald Norris拥有电子工程学位和生产管理专业的MBA学位。目前他在南新罕布什尔大学从事IT相关的本科和研究生教学工作。他也在这里创立并教授机器人方面的课程。作为一名兼职教授,他在多所学院和大学拥有超过36年的教学经验。

Norris先生从美国海军文职人员的岗位退休,他专注于核潜艇声呐相关的研究和高级数字信号处理相关的工作。退役后,他从事了22年的专业软件开发工作,使用C、C#、C++、Python、Node.js和Java语言进行程序设计,并从事过5年IT安全咨询工作。

Norris先生创办了一家名为Norris Embedded Software Solutions的咨询公司,专注于开发基于微处理器和微控制器的应用程序解决方案。他认为自己是一个不断创新的技术爱好者和极客,并一直热衷于通过实验去验证自己的新想法。他拥有飞行执照、热爱摄影、热爱业余无线电、酷爱跑步。

除了本书,Norris先生也是Raspberry Pi Projects for the Evil Genius、Programming the Intel Edison: Getting Started with Processing and Python以及其他3本TAB书籍的作者。


编辑推荐

《Python微控制器编程从零开始 使用MicroPython》是一本DIY指南,介绍了使用MicroPython进行微控制器编程。本书由经验丰富的电子电路大师编写,涵盖8个完整的工程,每个工程都清晰明了、易于上手。你将学习如何使用传感器,如何存储数据,如何控制电机和其他设备,以及如何操作扩展板。从本书中,你会掌握设计、构建和编程各种类型的有趣且实用的工程。

前言
前 言
  这是第一本为介绍MicroPython语言编写的书。尽管在网络上,特别是www.micropython.org网站也有一些优秀的教程,但是我发现对于不愿意就在线教程投入时间和精力的读者来说,读书是一种引人入胜的学习形式。另外,不需要非难在线的作者,一本编写和组织得很好的书通常对读者理解新的创新性技术,如MicroPython,是一种好的途径。
  在《Python微控制器编程从零开始 使用MicroPython》中我也展示了一些工程,应该能吸引大部分读者。一个是机器人车,另一个是组建全球定位系统(Global Positioning System,GPS)语句解析器,两个关于如何使用Pyboard开发板的工程,以及一个为打网球的读者提供的擦网球探测器。所有这些工程的主旨都是学习如何使用外部设备和传感器与MicroPython微控制器接口联系。
  《Python微控制器编程从零开始 使用MicroPython》包含3个运行MicroPython的独立模块。第一个是Pyboard,由Damien George博士设计,他也是MicroPython语言的创造者。所有的介绍脚本和《Python微控制器编程从零开始 使用MicroPython》的工程都在Pyboard上运行。所讨论的另外两种开发板是ESP8266和WiPy。这些开发板运行MicroPython,但是它们也有内置的无线电系统,这是Pyboard所不具备的。实际上,WiPy有4个独立的无线电系统,如果需要一个连接各种无线协议的模块,它非常适合。在第10章我们将学习关于它的所有内容。
  如果阅读了所有这些介绍材料,并且完成了大部分工程,读者在MicroPython的知识和经验方面应该会有很大进步。我个人在设计和最终实现了工程后,通常收获颇多。工程往往进展得很好,但是有时也会问题重重。然而,这就是我所理解的实验的乐趣。著名的爱因斯坦教授曾经说过:“没有犯过错误的人也没尝试过新的事物”。
  我想提醒所有经验丰富的Linux开发者,在深入学习MicroPython之前至少要回顾《Python微控制器编程从零开始 使用MicroPython》开始的章节,因为虽然MicroPython是在Python 3之后创建的,但是有一些理应认识到的“陷阱”。我尝试在整《Python微控制器编程从零开始 使用MicroPython》提供很多有用的提示和技术来帮助读者学习MicroPython。
  因此,直接开始MicroPython之旅吧!
  Donald Norris
目录
第1章 概述 1
1.1 MicroPython简介 1
1.2 设计思想 2
1.3 MicroPython探究 2
1.4 面向对象编程和一些Python基础 4
1.4.1 面向对象的概念 4
1.4.2 建模一个机器人 7
1.4.3 Python基础 9
1.4.4 Robot类 12
1.4.5 子类 13
1.4.6 使用接口 14
1.4.7 集成的Robot工程设计和测试 16
1.4.8 动态绑定 19
1.5 使用基于Pyboard的MicroPython 22
1.6 bare-metal方法 25
1.7 小结 26
第2章 Python简介 29
2.1 Pyboard硬件 29
2.2 通用微控制器程序开发 33
2.2.1 中断 33
2.2.2 控制Pyboard 36
2.2.3 Python测试程序 39
2.3 闪烁LED 40
2.3.1 PyBlink 40
2.3.2 PyBlink_MP 41
2.4 硬件中断演示 42
2.5 计时器 45
2.6 其他Pyboard硬件 48
2.6.1 ADC 49
2.6.2 DAC 50
2.7 小结 56
第3章 接口、文件和库 57
3.1 脉冲宽度调制 57
3.2 位串行端口 59
3.2.1 UART串行协议 59
3.2.2 I2C串行协议 65
3.2.3 SPI串行协议 67
3.3 目录结构 69
3.4 导入模块 70
3.4.1 使用文件导入 71
3.4.2 从PYBFLASH子目录导入模块 72
3.4.3 使用SD卡导入 74
3.5 启动过程 75
3.6 基于LED的错误报告 76
3.7 库 76
3.7.1 标准库 77
3.7.2 自定义Python库 77
3.7.3 Pyboard专用库和类 78
3.7.4 MicroPython库 79
3.8 小结 80
第4章 擦网球探测器 81
4.1 初始设计 82
4.2 工程需求 82
4.2.1 原型 84
4.2.2 加速度计 85
4.2.3 低级I2C命令演示 90
4.2.4 倾角计 92
4.3 硬件设计 94
4.4 在网球场试验 102
4.5 最终程序 104
4.6 小结 105
第 5章 LCD和触摸传感器开发板 107
5.1 LCD板规格说明 108
5.2 初始LCD模块操作 109
5.3 LCD图形演示 114
5.4 对LCD控制器使用外部命令 115
5.5 触摸控制器 116
5.5.1 电容感应 117
5.5.2 LCD模块触摸传感器原理图和MPR121寄存器 118
5.5.3 MPR121驱动软件 120
5.6 触摸传感器初步测试 122
5.6.1 由触摸板控制的LED 123
5.6.2 LCD和触摸传感器示例 126
5.6.3 使用LCD模块GPIO管脚 128
5.7 MPR121 PWM 133
5.8 小结 135
第6章 AMP音频开发板 137
6.1 组装AMP开发板 137
6.2 AMP开发板电路 139
6.2.1 音频输入电路 141
6.2.2 音频输出电路 145
6.3 初步测试 148
6.4 播放MP3文件 154
6.5 音频输入演示 155
6.6 小结 157
第7章 自动机器人车 159
7.1 组建机器人车平台 159
7.2 一个标准模拟伺服 160
7.3 CR伺服 163
7.4 机器人车电源 164
7.5 电路布线说明 166
7.6 机器人车软件 169
7.7 初步测试运行 171
7.8 避障演示 178
7.9 小结 180
第8章 基于Pyboard的GPS 181
8.1 概述 181
8.2 GPS简史 181
8.3 GPS工作基本原理 182
8.4 Ultimate GPS接收机 188
8.5 初步GPS接收机测试 189
8.6 GPS接收机UART通信 192
8.7 NMEA协议 197
8.7.1 纬度和经度格式 199
8.7.2 解析GPS消息 199
8.8 MicroPython GPS解析器 200
8.9 小结 204
第9章 ESP8266 205
9.1 ESP8266 SMT ESP-12E模块 205
9.2 ESP8266 HUZZAH开发板 208
9.3 ESP8266软件 212
9.3.1 在HUZZAH ESP8266开发板上安装MicroPython 213
9.3.2 探索基于ESP8266 HUZZAH开发板的MicroPython 215
9.4 实验 218
9.4.1 模拟-数字转换器 218
9.4.2 1引线温度传感器 221
9.4.3 NeoPixel演示 225
9.4.4 APA102演示 228
9.5 webREPL 232
9.6 小结 233
第10章 WiPy 235
10.1 WiPy规范说明 235
10.2 Wi-Fi模式 237
10.2.1 站点 237
10.2.2 接入点 237
10.2.3 直连 238
10.3 WiPy扩展板 238
10.4 创建初始WiPy网络连接 243
10.5 FileZilla 249
10.6 站点操作 251
10.7 启动过程和恢复文件系统 253
10.8 Pymakr 255
10.9 小结 257
第11章 MicroPython的现在和未来 259
11.1 MicroPython语言 259
11.2 硬件平台 261
11.2.1 LoPy 261
11.2.2 LoRa无线电系统 262
11.2.3 SiPy 264
11.2.4 Sigfox与LoRa 265
11.3 小结 265