编辑推荐

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

内容简介

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

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

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

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

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

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

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

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

作者简介

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

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

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

除了《Python微控制器编程从零开始 使用MicroPython》,Norris先生也是RaspberryPiProjectsfortheEvilGenius、ProgrammingtheIntelEdison:GettingStartedwithProcessingandPython以及其他3本TAB书籍的作者。

目录

第1章概述1
1.1MicroPython简介1
1.2设计思想2
1.3MicroPython探究2
1.4面向对象编程和一些Python基础4
1.4.1面向对象的概念4
1.4.2建模一个机器人7
1.4.3Python基础9
1.4.4Robot类12
1.4.5子类13
1.4.6使用接口14
1.4.7集成的Robot工程设计和测试16
1.4.8动态绑定19
1.5使用基于Pyboard的MicroPython22
1.6bare-metal方法25
1.7小结26
第2章Python简介29
2.1Pyboard硬件29
2.2通用微控制器程序开发33
2.2.1中断33
2.2.2控制Pyboard36
2.2.3Python测试程序39
2.3闪烁LED40
2.3.1PyBlink40
2.3.2PyBlink_MP41
2.4硬件中断演示42
2.5计时器45
2.6其他Pyboard硬件48
2.6.1ADC49
2.6.2DAC50
2.7小结56
第3章接口、文件和库57
3.1脉冲宽度调制57
3.2位串行端口59
3.2.1UART串行协议59
3.2.2I2C串行协议65
3.2.3SPI串行协议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.3Pyboard专用库和类78
3.7.4MicroPython库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.1LCD板规格说明108
5.2初始LCD模块操作109
5.3LCD图形演示114
5.4对LCD控制器使用外部命令115
5.5触摸控制器116
5.5.1电容感应117
5.5.2LCD模块触摸传感器原理图和MPR121寄存器118
5.5.3MPR121驱动软件120
5.6触摸传感器初步测试122
5.6.1由触摸板控制的LED123
5.6.2LCD和触摸传感器示例126
5.6.3使用LCD模块GPIO管脚128
5.7MPR121PWM133
5.8小结135
第6章AMP音频开发板137
6.1组装AMP开发板137
6.2AMP开发板电路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.3CR伺服163
7.4机器人车电源164
7.5电路布线说明166
7.6机器人车软件169
7.7初步测试运行171
7.8避障演示178
7.9小结180
第8章基于Pyboard的GPS181
8.1概述181
8.2GPS简史181
8.3GPS工作基本原理182
8.4UltimateGPS接收机188
8.5初步GPS接收机测试189
8.6GPS接收机UART通信192
8.7NMEA协议197
8.7.1纬度和经度格式199
8.7.2解析GPS消息199
8.8MicroPythonGPS解析器200
8.9小结204
第9章 ESP8266205
9.1ESP8266SMTESP-12E模块205
9.2ESP8266HUZZAH开发板208
9.3ESP8266软件212
9.3.1在HUZZAHESP8266开发板上安装MicroPython213
9.3.2探索基于ESP8266HUZZAH开发板的MicroPython215
9.4实验218
9.4.1模拟-数字转换器218
9.4.21引线温度传感器221
9.4.3NeoPixel演示225
9.4.4APA102演示228
9.5webREPL232
9.6小结233
第10章 WiPy235
10.1WiPy规范说明235
10.2Wi-Fi模式237
10.2.1站点237
10.2.2接入点237
10.2.3直连238
10.3WiPy扩展板238
10.4创建初始WiPy网络连接243
10.5FileZilla249
10.6站点操作251
10.7启动过程和恢复文件系统253
10.8Pymakr255
10.9小结257
第11章 MicroPython的现在和未来259
11.1MicroPython语言259
11.2硬件平台261
11.2.1LoPy261
11.2.2LoRa无线电系统262
11.2.3SiPy264
11.2.4Sigfox与LoRa265
11.3小结265

前言/序言

  前言
  这是第一本为介绍MicroPython语言编写的书。尽管在网络上,特别是www.micropython.org网站也有一些优秀的教程,但是我发现对于不愿意就在线教程投入时间和精力的读者来说,读书是一种引人入胜的学习形式。另外,不需要非难在线的作者,一本编写和组织得很好的书通常对读者理解新的创新性技术,如MicroPython,是一种好的途径。
  在《Python微控制器编程从零开始使用MicroPython》中我也展示了一些工程,应该能吸引大部分读者。一个是机器人车,另一个是组建全球定位系统(GlobalPositioningSystem,GPS)语句解析器,两个关于如何使用Pyboard开发板的工程,以及一个为打网球的读者提供的擦网球探测器。所有这些工程的主旨都是学习如何使用外部设备和传感器与MicroPython微控制器接口联系。
  《Python微控制器编程从零开始使用MicroPython》包含3个运行MicroPython的独立模块。第一个是Pyboard,由DamienGeorge博士设计,他也是MicroPython语言的创造者。所有的介绍脚本和《Python微控制器编程从零开始使用MicroPython》的工程都在Pyboard上运行。所讨论的另外两种开发板是ESP8266和WiPy。这些开发板运行MicroPython,但是它们也有内置的无线电系统,这是Pyboard所不具备的。实际上,WiPy有4个独立的无线电系统,如果需要一个连接各种无线协议的模块,它非常适合。在第10章我们将学习关于它的所有内容。
  如果阅读了所有这些介绍材料,并且完成了大部分工程,读者在MicroPython的知识和经验方面应该会有很大进步。我个人在设计和最终实现了工程后,通常收获颇多。工程往往进展得很好,但是有时也会问题重重。然而,这就是我所理解的实验的乐趣。著名的爱因斯坦教授曾经说过:“没有犯过错误的人也没尝试过新的事物”。
  我想提醒所有经验丰富的Linux开发者,在深入学习MicroPython之前至少要回顾《Python微控制器编程从零开始使用MicroPython》开始的章节,因为虽然MicroPython是在Python3之后创建的,但是有一些理应认识到的“陷阱”。我尝试在整《Python微控制器编程从零开始使用MicroPython》提供很多有用的提示和技术来帮助读者学习MicroPython。
  因此,直接开始MicroPython之旅吧!
  DonaldNorris

其他推荐