新書推薦:
《
成吉思汗传:看历代帝王将相谋略 修炼安身成事之根本
》
售價:NT$
280.0
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:NT$
349.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
|
編輯推薦: |
本书主要介绍树莓派不同类型的特性,以及树莓派入门所需要的基础知识;涵盖了
树莓派GPIO的不同操作方法,以及树莓派的I2C总线、SPI总线、UART串口、PWM
脉宽调制等偏硬件操作的内容;同时也为读者准备了一些树莓派上常见的服务类型的搭
建和配置,包括树莓派推流服务器搭建的方法,常见数据库MariaDB、PostgreSQL的安
装配置操作,MQTT服务器的搭建配置,DHCP服务器的搭建配置等。此外,还加入了
一些比较有趣的实验,例如利用TensorFlow实现对象检测,使用OpenCV制作一个树莓
派扫描仪,或利用OpenCV实现换鼻子的实验,带领读者了解树莓派通过摄像头能够实
现的一些应用。
|
內容簡介: |
本书主要介绍树莓派不同类型的特性,以及树莓派入门所需要的基础知识;涵盖了树莓派GPIO 的不同操作方法,以及树莓派的I2C总线、SPI总线、UART串口、PWM脉宽调制等偏硬件操作的内容; 同时也为读者准备了一些树莓派上常见的服务类型的搭建和配置,包括树莓派推流服务器搭建的方法, 常见数据库MariaDB、PostgreSQL的安装配置操作,MQTT服务器的搭建配置,DHCP服务器的搭建 配置等。此外,还加入了一些比较有趣的实验,例如利用TensorFlow实现对象检测,使用OpenCV制 作一个树莓派扫描仪,或利用OpenCV实现换鼻子的实验,带领读者了解树莓派通过摄像头能够实现 的一些应用。 本书为初学者全面入门了解树莓派提供了很好的切入点,使读者可以了解更多树莓派的使用方法 以及操作小技巧。同时,在整体的编程过程中使用了C语言、Python语言及Shell脚本语言等常见语言, 对于拥有此类语言编程经验的用户更友好。 希望读者能够在这里找到自己喜欢的实验,并顺利入门树莓派!
|
關於作者: |
李伟斌 (漂移菌 )
目前就职伍艾信息科技(上海)有限公司,首席Linux技术架构师。 主要研究方向为嵌入式 Linux 操作系统的应用及研发。 业余时间曾获取中美创客马拉松(上海站)一等奖, Intel IoT 物联网大赛二等奖, 上海国际创客大赛蘑菇云分赛首届脑洞大赛 脑洞大王奖, 上海谷歌Design Sprint Hackathon 优胜奖, Junction 2021 全球黑客大赛 Out of box奖。被朋友誉为树莓派超级爱好者及布道者, 并且兼漂移驴车项目联合创始人角色。
|
目錄:
|
第1章 树莓派简介 1
引言1
1.1 树莓派是什么? 1
1.2 树莓派周边配件 11
1.3 树莓派能做什么? 12
第2章 树莓派入门基础知识 21
2.1 系统选型 21
2.2 新系统下载及烧录 23
2.3 恢复卡制作的操作步骤 24
2.3.1 方法124
2.3.2 方法224
2.4 烧录系统 24
2.5 初始化系统 29
第3章 树莓派GPIO的使用 46
3.1 GPIO的概念及相关库的使用方法 46
3.2 树莓派上使用wiringPi库 47
3.3 如何利用wiringPi优雅地点亮一个
LED灯 51
3.3.1 硬件材料准备51
3.3.2 接线方式51
3.3.3 编写代码测试52
3.4 玩转流水灯和游侠灯 58
3.4.1 流水灯58
3.4.2 游侠灯59
第4章 树莓派中I2C功能的使用 61
4.1 I2C的概念 61
4.2 I2C实战小项目 62
4.2.1 接线方式62
4.2.2 启用I2C配置 63
目 录
IV 树莓派4 与人工智能实战项目
4.2.3 检测Slave设备状态 65
4.2.4 查询寄存器表并简单测试65
4.2.5 编写C语言测试代码 66
4.2.6 编写Python代码进行测试 68
4.2.7 关于Python中的I2C函数 69
4.3 使用I2C协议的其他应用 70
4.3.1 点亮LCD1602液晶屏显示树莓派
的IP地址 70
4.3.2 利用OLED展示树莓派磁盘状态
信息83
第5章 树莓派SPI介绍及应用实例 88
5.1 SPI协议简介 88
5.1.1 SPI协议概述 88
5.1.2 SPI的优缺点 88
5.1.3 采用主-从模式(Master-Slave)的
控制方式89
5.2 树莓派SPI概述 89
5.2.1 引脚和GPIO映射 89
5.2.2 关于SPI的速度 90
5.3 树莓派上启用SPI功能 90
5.3.1 通过raspi-config工具 91
5.3.2 通过编辑/boot/config.txt文件 93
5.3.3 通过图形界面93
5.4 树莓派SPI应用实例 95
5.4.1 检查SPI设备状态 95
5.4.2 准备SPI外设并接入树莓派 95
5.4.3 安装Python库文件 96
5.4.4 编写定制的测试代码并进行测试 97
5.5 让树莓派变身为一个环境检测站 101
5.5.1 BME280模块介绍 102
5.5.2 接线方式103
5.5.3 编写代码获取数据103
5.5.4 总结112
第6章 树莓派UART串口介绍及应用实例 113
6.1 UART简介 113
6.2 树莓派串口说明 114
6.3 在树莓派上配置启用UART 115
6.4 在树莓派上进行串口通信 120
6.4.1 使用Python 语言实现串口
通信 120
6.4.2 通过C语言实现串口通信 123
6.4.3 拓展实例124
6.5 关于树莓派串口别名及切换
硬件串口 126
6.5.1 串口别名126
6.5.2 更换串口端口127
6.6 总结 128
第7章 树莓派PWM介绍及应用实例 129
引言 129 7.1 PWM控制原理 129
目录 V
7.2 树莓派PWM通道信息 130
7.3 wiringPi库的PWM接口介绍 131
7.3.1 硬件PWM 131
7.3.2 软件PWM 132
7.3.3 软件PWM注意事项 133
7.4 PWM应用项目实战 134
7.4.1 呼吸灯效果134
7.4.2 舵机控制138
第8章 树莓派开源网络应用实例 144
引言 144
8.1 树莓派搭建RTMP流媒体服务器 145
8.1.1 安装Nginx及模块145
8.1.2 启用RTMP 148
8.1.3 客户端连接测试151
8.2 树莓派搭建Samba文件服务器 156
8.2.1 什么是Samba文件服务器 156
8.2.2 需要准备的设备156
8.2.3 安装配置Samba服务器 157
8.3 树莓派搭建NFS文件服务器 163
8.3.1 什么是NFS文件服务器 163
8.3.2 需要的设备163
8.3.3 安装配置NFS文件系统 163
8.4 树莓派搭建日志服务器 169
8.4.1 什么是日志服务器169
8.4.2 需要的硬件170
8.4.3 安装rsyslog服务 170
8.4.4 配置rsyslog作为服务器 170
8.4.5 创建新模板171
8.4.6 重启服务并测试172
8.5 树莓派搭建MariaDB数据库
服务器 175
8.5.1 什么是MariaDB 175
8.5.2 MariaDB 和 MySQL 的区别 175
8.5.3 安装MariaDB 176
8.5.4 配置MariaDB 176
8.5.5 创建一个数据库178
8.5.6 添加一张表179
8.5.7 插入几条记录180
8.6 树莓派搭建PostgreSQL数据
库服务器 182
8.6.1 什么是PostgreSQL数据库 182
8.6.2 安装PostgreSQL 182
8.6.3 配置PostgreSQL 182
8.6.4 创建数据库183
8.6.5 常见控制台命令184
8.6.6 基本SQL语句 185
8.7 树莓派搭建Mosquitto MQTT
服务器 186
8.7.1 什么是MQTT服务器 186
8.7.2 安装Mosquitto 服务器 187
8.7.3 检测服务器状态187
8.7.4 在树莓派上测试Mosquitto代理 187
8.7.5 多主机测试189
8.7.6 尝试使用Python的paho-mqtt库 190
8.8 树莓派搭建DHCP服务器 193
8.8.1 什么是DHCP服务器 193
8.8.2 测试环境193
8.8.3 配置1号主机DHCP服务 194
8.8.4 修改DHCP服务的配置 194
VI 树莓派4 与人工智能实战项目
8.8.5 重启服务以生效配置195
8.8.6 开启路由转发195
8.8.7 配置IPtables实现流量路由 196
8.8.8 注意事项196
8.9 总结 197
第9章 树莓派上利用TensorFlow实现对象检测 198
引言 198
9.1 软硬件环境介绍 198
9.1.1 硬件准备198
9.1.2 软件准备199
9.2 操作步骤 199
9.2.1 更新系统及软件仓库 199
9.2.2 创建TensorFlow的工作目录 199
9.2.3 安装TensorFlow的Python库和部分
依赖200
9.2.4 安装OpenCV视觉框架 200
9.2.5 编译安装Protobuf组件201
9.2.6 重启系统203
9.2.7 重新登录系统并设置TensorFlow
目录结构 203
9.2.8 下载TensorFlow模型 204
9.2.9 修改用户初始化配置文件204
9.2.10 利用protoc编译Protocol Buffer
文件 204
9.2.11 下载ssdlite_mobilenet_v2_coco
模型205
9.3 对象检测测试 205
9.3.1 在树莓派上启用摄像头205
9.3.2 下载检测脚本205
9.3.3 接入摄像头206
9.3.4 执行脚本并进行检测206
9.4 总结 208
第10章 树莓派扫描仪—树莓派 OpenCV 209
引言 209
10.1 原理 209
10.2 硬件准备 210
10.3 软件准备 211
10.3.1 软件包版本信息211
10.3.2 查看软件版本的方法211
10.4 配置环境 212
10.4.1 检查网络状态212
10.4.2 更新软件仓库并安装软件212
10.4.3 创建并激活虚拟环境 213
10.4.4 启用摄像头213
10.5 代码调试 215
10.6 应用拓展 219
10.7 总结 221
第11章 AI换鼻子—树莓派 OpenCV 222
引言 222 11.1 AI换鼻子的原理 223
目录 VII
11.2 硬件需求 223
11.3 软件需求 223
11.3.1 Raspbian操作系统 223
11.3.2 Python3 环境 224
11.3.3 virtualenv环境 225
11.3.4 dlib库 226
11.3.5 shape_predictor工具和get_frontal_
face_detector函数 226
11.3.6 预测模型库下载 228
11.4 操作步骤 228
11.4.1 烧录镜像,启动并完成初始化
配置228
11.4.2 启动树莓派232
11.4.3 接入摄像头236
11.4.4 系统初始化环境调试237
11.4.5 树莓派摄像头测试239
11.4.6 编写代码239
11.5 开挖脑洞,发散思维 262
11.6 总结 262
第12章 树莓派通过U盘启动系统 263
引言 263
12.1 硬件需求 263
12.2 前期准备 264
12.3 更新升级系统 264
12.4 更新bootloader 264
12.5 检查启动选项 265
12.6 无卡启动测试 268
12.7 制作USB启动盘 268
|
內容試閱:
|
自从2012年开始接触树莓派以来,我的工作和生活中一直有树莓派的影子,公司的公众号、我个人的公众号上都在不断地进行着和树莓派有关的各种尝试,也因此结识了很多喜欢树莓派的小伙伴,大家在一次次的交流和相互学习中不断进步,不仅巩固了Linux系统的基本功,也学习到了很多嵌入式开发的经验,以及树莓派上通过Python开发的经验。也是机缘巧合,遇到了清华大学出版社的杨迪娜老师,萌生了编写一本树莓派入门图书的想法,也是本书诞生的契机。
本书主要介绍树莓派不同类型的特性,以及树莓派入门所需要的基础知识;涵盖了树莓派GPIO的不同操作方法,以及树莓派的I2C总线、SPI总线、UART串口、PWM脉宽调制等偏硬件操作的内容;同时也为读者准备了一些树莓派上常见的服务类型的搭建和配置,包括树莓派推流服务器搭建的方法,常见数据库MariaDB、PostgreSQL的安装配置操作,MQTT服务器的搭建配置,DHCP服务器的搭建配置等。此外,还加入了一些比较有趣的实验,例如利用TensorFlow实现对象检测,使用OpenCV制作一个树莓派扫描仪,或利用OpenCV实现换鼻子的实验,带领读者了解树莓派通过摄像头能够实现的一些应用。
经过和身边朋友的不断交流总结,我编写了本书,旨在引导读者入门并对树莓派应用产生兴趣。由于时间仓促,很多想法和创意尚未来得及编排,若有缘再续。
书中疏漏之处,希望各位读者不吝赐教,多多批评指正,让本书能够造福更多爱好者。
作 者
2022年6月
前 言
|
|