书籍作者:[印] 马尔万·阿萨巴赫 | ISBN:9787302557678 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:9349 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
书详细阐述了与MicroPython相关的基本解决方案,主要包括MicroPython简介、控制LED、创建声音和音乐、按钮操作、读取传感器数据、Button Bash游戏、Fruity Tunes、运动装置、在micro:bit上进行编码、控制ESP8266、文件系统的交互操作、网络机制、Adafruit FeatherWing OLED交互操作、物联网气象仪、在Adafruit HalloWing Microcontroller上编码等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
MicroPython是Python 3编程语言的精简实现,能够在各种微控制器上运行。MicroPython提供了Python编程语言中的主要特性,如基于微处理器的函数、类、列表、字典、字符串、文件的读写操作、列表推导和异常处理等。
MicroPython是Python 3编程语言的精简实现,能够在各种微控制器上运行。MicroPython提供了Python编程语言中的主要特性,如基于微处理器的函数、类、列表、字典、字符串、文件的读写操作、列表推导和异常处理等。
微控制器可被视为一种微型计算机,通常包含CPU、内存和输入/输出外围设备。与PC(个人计算机)相比,虽然资源受限,但尺寸较小且功耗较低,因而适用于多种新型的应用程序。
本书主要介绍MicroPython语言的各种特性以及微控制器开发板。最初的章节将提供简单且易于理解的案例,以使开发板可与用户及其周围环境进行交互,相关案例涉及LED、传感器的运动数据、滑动开关和触控板的交互行为。除此之外,还将讨论如何在开发板上实现音频回放和LED动画输出。在考查了基础知识后,我们将学习如何构建复杂项目,如交互式双人游戏、电子乐器和物联网天气预报机制等。
适用读者
本书旨在将Python语言的强大功能和易用性应用于微控制器上。为了更好地理解本书内容,读者应具备Python语言方面的基础知识。
本书内容
第1章介绍Adafruit Circuit Playground Express微控制器及其MircoPython核心技巧。
第2章主要讲解NeoPixel LED控制方法、灯光的颜色,以及如何通过控制电路板上的灯光变化创建动画光影效果。
第3章讨论在Adafruit Circuit Playground Express上发声和播放音乐的方法。其中包括特定频率下的电路板蜂鸣音、利用WAV文件播放音乐,以及电路板的内建扬声器。
第4章研究Adafruit Circuit Playground Express电路板上的按钮和触控板交互行为。另外,本章还讨论了按钮的按下状态以及一些高级话题,如微调电容触控板的触摸阈值。
第5章介绍传感器数据的读取方法,其间涉及不同类型的传感器,如温度、灯光和运动传感器。
第6章创建名为Button Bash的双人游戏,并通过按钮、NeoPixels和内建扬声器直接在Circuit Playground Express上进行游戏。
第7章阐述如何利用Adafruit Circuit Playground Express和一些香蕉创作乐曲。其中将使用触控板与香蕉对象进行交互,每次触摸不同的香蕉时,将会演奏不同的音乐。
第8章介绍Adafruit CRICKIT硬件附件,并通过Python脚本控制马达和伺服系统。特别地,将通过此类脚本内容控制速度、旋转方向和角度。
第9章讲述micro:bit平台的交互方法,以及如何控制其LED网格显示和板载按钮的交互方式。
第10章介绍Adafruit Feather HUZZAH ESP8266微控制器及其特性和功能(相比较于其他微控制器)。其中涉及基于WebREPL的Wi-Fi连接,以及Wi-Fi文件传输。
第11章讨论与操作系统相关的话题,如文件列表、移除文件、创建目录和计算磁盘的使用量。
第12章讲解如何执行各种网络操作,如DNS查找、实现HTTP客户端和HTTP服务器。
第13章讲解Adafruit FeatherWing OLED硬件附件,该附件可以连接至ESP8266、向联网的微控制器添加显示、显示文本图形并通过3个硬件按钮与用户进行交互。
第14章解释如何创建物联网(IoT)设备,检索天气数据并在按下IoT设备按钮时向用户显示此类数据。
第15章介绍Adafruit HalloWing微控制器,它内置了一个128×128全彩色薄膜晶体管(TFT)显示器,能够在微控制器上显示丰富的图形图像。
背景知识
读者应对Python编程语言有所了解,如包导入操作以及与REPL的协同操作等,进而深入了解本书的内容。
下载示例代码文件
读者可访问www.packt.com,利用账号登录后即可下载本书的示例代码文件。如果读者购买了本书,还可访问www.packtpub.com/support,注册后,我们将通过邮件方式将文件发送给读者。
下载步骤如下。
(1)访问www.packt.com,注册并登录。
(2)选择Support选项卡。
(3)单击Code Downloads。
(4)在Search搜索框中输入本书书名,并遵循后续各项指令。
在文件下载完毕后,可利用下列软件的最新版本解压或析取相关文件夹。
?? 对于Windows平台,WinRAR/7-Zip。
?? 对于Mac平台,Zipeg/iZip/UnRarX。
?? 对于Linux平台,7-Zip/PeaZip。
除此之外,本书代码包还发布于GitHub中,对应网址为https://github.com/ PacktPublishing/MicroPython-Cookbook。如果代码有更新,将在现有的GitHub存储库中更新。不仅如此,读者还可访问https://github.com/PacktPublishing/以查看其他代码包和视频内容。
下载彩色图像
我们还提供了本书中的截图/图表的彩色图像,读者可访问https://www.packtpub.com/ sites/default/files/downloads/9781838649951_ColorImages.pdf进行查看。
本书约定
本书在文本内容方面包含以下约定。
代码块如下所示。
from adafruit_circuitplayground.express import cpx
import time
cpx.pixels[0] = (255, 0, 0) # set first NeoPixel to the color red
time.sleep(60)
对于希望引起读者足够重视的特定代码块,相关代码行采用了粗体显示,如下所示。
from adafruit_circuitplayground.express import cpx
import time
RAINBOW = [
0xFF0000, # red
0xFFA500, # orange
命令行输入或输出如下所示。
>>> 1+1
2
图标表示较为重要的说明事项。
图标表示提示信息和操作技巧。
读者反馈和客户支持
欢迎读者对本书提出建议或意见。
对此,读者可向[email protected]发送邮件,并以书名作为邮件标题。
若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问www.packtpub.com/authors。
勘误表
尽管我们尽力做到尽善尽美,但错误依然在所难免。如果读者发现谬误之处,无论是文字错误还是代码错误,都望不吝赐教。对此,读者可访问http://www.packtpub.com/submit- errata,选取对应书籍,单击Errata Submission Form超链接,并输入相关问题的详细内容。
版权须知
一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现本书任意形式的副本,请告知网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至[email protected]。
问题解答
若读者对本书有任何疑问,均可发送邮件至[email protected],我们将竭诚为您服务。
第1章 MicroPython简介 1
1.1 MicroPython 1
1.2 微控制器 2
1.3 CircuitPython 2
1.4 Circuit Playground Express 3
1.5 购买方式 3
1.6 更多内容 4
1.7 刷新微控制器固件 4
1.8 执行第一个程序 7
1.9 使用screen访问REPL 8
1.10 使用Mu访问REPL 10
1.11 在REPL中执行命令 12
1.12 使用自动重载特性 13
1.13 更新CircuitPython库 15
第2章 控制LED 17
2.1 Adafruit Circuit Playground Express布局 17
2.2 打开Pin 13 LED 18
2.3 设置NeoPixel的亮度 19
2.4 控制单一NeoPixel的颜色 21
2.5 使用RGB和十六进制码显示LED颜色 24
2.6 利用颜色名称设置LED颜色 26
2.7 将所有NeoPixel设置为相同颜色 28
2.8 将某一范围内的NeoPixel设置为一种颜色 30
2.9 生成随机NeoPixel LED颜色 31
2.10 利用随机颜色生成LED动画 32
2.11 利用彩虹色生成LED动画 35
第3章 创建声音和音乐 39
3.1 Adafruit Circuit Playground Express布局 39
3.2 发出蜂鸣音 40
3.3 控制音调、频率和播放时长 42
3.4 播放音符 43
3.5 播放旋律 45
3.6 发出警报音 47
3.7 播放WAV文件 49
3.8 将MP3文件转换为WAV文件 50
3.9 开始和结束音调 53
第4章 按钮操作 57
4.1 Adafruit Circuit Playground Express布局 57
4.2 检测push按钮的按压状态 59
4.3 利用push按钮控制LED 60
4.4 读取滑动开关 62
4.5 按钮状态变化时调用函数 64
4.6 利用push按钮移动LED 66
4.7 按下按钮播放蜂鸣音 68
4.8 检测触控板上的触摸行为 70
4.9 监控触控板原始测量数据 71
4.10 调整触控阈值 74
第5章 读取传感器数据 77
5.1 Circuit Playground Express传感器 77
5.2 读取温度数据 78
5.3 从光传感器中读取亮度级别 81
5.4 创建测光计 83
5.5 从运动传感器中读取数据 85
5.6 检测单击或双击操作 87
5.7 检测摇动行为 89
5.8 摇动后产生蜂鸣音 90
第6章 Button Bash游戏 93
6.1 技术需求 93
6.2 Circuit Playground Express电源 94
6.3 定义一个类并检测按钮状态的变化 96
6.4 创建自己的Python模块 99
6.5 向事件循环中添加按钮交互行为 101
6.6 创建生成器获取像素颜色 103
6.7 利用ScoreBoard类显示分值 106
6.8 利用ScoreBoard类检测获胜者 108
6.9 向事件循环中添加ScoreBoard类 110
第7章 Fruity Tunes 113
7.1 技术需求 113
7.2 Circuit Playground Express触控板 113
7.3 定义类并响应于触摸事件 116
7.4 定义函数并启用扬声器输出 120
7.5 定义函数播放音频文件 121
7.6 使用NeoPixel对象控制像素 124
7.7 创建触控处理程序播放声音 126
7.8 创建触控处理程序点亮像素 129
7.9 创建事件循环处理全部触摸事件 133
第8章 运动装置 141
8.1 技术需求 141
8.2 直流电机 142
8.3 伺服装置 142
8.4 Adafruit CRICKIT 143
8.5 将伺服系统调整至正确的脉冲宽度 146
8.6 设置伺服系统的动作范围 148
8.7 设置伺服系统的角度 151
8.8 伺服系统的扫掠运动 154
8.9 利用按钮控制伺服系统 158
8.10 控制多个伺服系统 161
8.11 开启直流电机 165
8.12 设置直流电机的速度和方向 167
8.13 利用按钮控制直流电机 170
第9章 在micro:bit上进行编码 175
9.1 技术需求 175
9.2 micro:bit 175
9.3 使用Mu刷新micro:bit上的代码 176
9.4 使用Mu获取micro:bit上的REPL 178
9.5 在LED上显示单一字符 180
9.6 显示内建图像 182
9.7 显示滚动文本 184
9.8 显示按下的按钮 186
9.9 创建倒数计时器 188
第10章 控制ESP8266 191
10.1 技术需求 191
10.2 Adafruit Feather HUZZAH ESP8266 191
10.3 在串行连接上使用REPL 193
10.4 扫描可用的Wi-Fi网络 195
10.5 配置AP模式 197
10.6 连接至现有的Wi-Fi网络中 199
10.7 使用基于Wi-Fi的WebREPL 202
10.8 利用WebREPL CLI传输文件 206
10.9 控制蓝色和红色LED 208
第11章 文件系统的交互操作 211
11.1 技术需求 211
11.2 重载文件系统 211
11.3 列出文件 214
11.4 移除文件 216
11.5 创建目录 219
11.6 读取文件内容 221
11.7 写入文件内容 223
11.8 计算磁盘使用空间 226
第12章 网络机制 231
12.1 技术需求 231
12.2 执行DNS查找 231
12.3 定义一个函数等待互联网连接 234
12.4 利用原始Socket执行HTTP请求 237
12.5 利用urequests库执行HTTP请求 241
12.6 从RESTful Web服务中获取JSON数据 244
12.7 创建HTTP服务器 247
12.8 创建Web处理程序模块 252
12.9 通过Web服务器控制LED 257
12.10 开发RESTful API以控制LED 261
第13章 Adafruit FeatherWing OLED交互操作 267
13.1 Adafruit FeatherWing OLED 267
13.2 技术需求 268
13.3 利用GPIO引脚检测按钮的按击状态 268
13.4 连接至SSD1306显示设备上 272
13.5 填充和清除显示设备 274
13.6 设置显示设备上的像素 277
13.7 在显示设备上绘制直线和矩形 281
13.8 在显示设备上绘制文本 286
13.9 反转显示设备上的颜色 290
第14章 物联网气象仪 295
14.1 技术需求 295
14.2 从互联网中检索天气数据 296
14.3 定义一个函数以获取某个城市的天气信息 299
14.4 随机选择城市 303
14.5 创建Screen对象用于文本处理 305
14.6 定义一个函数以显示城市的天气信息 309
14.7 获取数据时提供可视化反馈结果 314
14.8 定义一个函数并针对随机城市显示天气信息 319
14.9 创建物联网按钮以显示世界天气信息 322
第15章 在Adafruit HalloWing Microcontroller上编码 329
15.1 Adafruit HalloWing M0 Express 329
15.2 技术需求 330
15.3 发现I2C设备 330
15.4 利用I2C从加速计中读取数据 332
15.5 利用加速计检测开发板的翻转操作 335
15.6 控制屏幕亮度 337
15.7 显示位图图像 340
15.8 列出全部图像文件 343
15.9 创建谜语-应答器 347
很好,就是很难买到板子,书讲的很不简单啊....新手难了点,还要慢慢学,要学习学习,书的质量一般啊,买吧
2020-09-04 10:32:35