定 价:¥89.00
作 者: | (美)Jim Strickland |
出版社: | 机械工业出版社 |
丛编项: | |
标 签: | 暂缺 |
ISBN: | 9787111630876 | 出版时间: | 2019-08-01 | 包装: | 平装 |
开本: | 16开 | 页数: | 284 | 字数: |
译者序
前言
作者简介
审校者简介
第1章 采购清单 1
1.1 树莓派 1
1.1.1 3B+型树莓派 1
1.1.2 为何购买3B+型树莓派 4
1.1.3 Zero W型树莓派 4
1.1.4 为何购买Zero W型树莓派 5
1.1.5 适配器 6
1.1.6 其他型号的树莓派 7
1.2 树莓派的GPIO分线板 7
1.3 5V USB微型电源 9
1.4 集成电路 10
1.4.1 ATmega328P-PU 10
1.4.2 16MHz TTL时钟振荡器 11
1.4.3 74LVC245A八进制总线收发器 12
1.5 LED 13
1.5.1 10段光带 13
1.5.2 普通LED 14
1.6 microSD卡 14
1.7 USB闪存设备 15
1.8 电阻 15
1.9 连接线和面包板 16
1.10 微动开关 17
1.11 焊接工具和技巧 17
1.12 关于供货商 18
1.13 关于元器件 18
1.14 元器件一览 18
第2章 结识树莓派 20
2.1 简介 20
2.1.1 Windows 20
2.1.2 MacOS X 20
2.1.3 Linux 20
2.2 所需工具 21
2.3 硬件设置 21
2.3.1 3B+型树莓派 21
2.3.2 Zero W型树莓派 22
2.3.3 两型树莓派 22
2.4 用NOOBS安装Raspbian 22
2.4.1 什么是NOOBS 22
2.4.2 什么是Raspbian 23
2.4.3 格式化microSD卡 24
2.4.4 下载NOOBS 29
2.4.5 安装NOOBS 30
2.5 启动NOOBS 32
2.6 排除故障 32
2.7 安装Raspbian 33
2.8 本章小结 36
第3章 Linux基础 37
3.1 导航 37
3.1.1 桌面 37
3.1.2 终端应用程序 38
3.1.3 网络浏览器 39
3.1.4 桌面的背后 39
3.2 重启和关闭树莓派 40
3.2.1 在GUI/桌面中启动和关闭树莓派 40
3.2.2 在终端中启动和关闭树莓派 40
3.2.3 命令摘要 42
3.3 配置 42
3.3.1 树莓派的配置应用程序 42
3.3.2 WiFi和网络配置 44
3.4 安装和更新软件 44
3.4.1 GUI软件安装程序 44
3.4.2 apt-get包管理器 44
3.5 文件系统导航 50
3.5.1 GUI/桌面 50
3.5.2 终端 53
3.5.3 所在何处 54
3.5.4 目录中有什么 55
3.5.5 创建文件 58
3.5.6 删除文件 59
3.5.7 创建目录 60
3.5.8 删除目录和文件 61
3.5.9 小结 63
3.6 权限和特权 63
3.6.1 用户和组 64
3.6.2 root和sudo 67
3.7 内存和驱动程序 70
3.7.1 内存 70
3.7.2 驱动程序 70
3.8 术语 71
3.9 本章小结 72
第4章 结识C++ 73
4.1 Arduino包的内容 73
4.1.1 在树莓派上安装Arduino 73
4.1.2 IDE 76
4.1.3 编译器 76
4.1.4 函数库 78
4.1.5 上传程序 79
4.2 结识Geany 79
4.3 设置Geany 82
4.4 编写第一个C++程序 87
4.4.1 C++编程方式 87
4.4.2 TicTac程序 90
4.5 本章小结 109
第5章 结识WiringPi 110
5.1 什么是WiringPi 110
5.2 WiringPi函数 110
5.2.1 设置函数 111
5.2.2 接线函数 111
5.2.3 线程函数 113
5.2.4 中断函数 114
5.2.5 定时函数 115
5.3 GPIO命令行工具 117
5.4 GPIO组和权限 118
5.5 在Geany中调用WiringPi 119
5.6 搭建拉森(纪念)扫描器 119
5.6.1 所需工具 120
5.6.2 欧姆定律 121
5.6.3 电路连接示意 122
5.6.4 电路搭建 122
5.6.5 项目 123
5.6.6 程序 124
5.6.7 首次运行程序 126
5.6.8 代码 127
5.7 本章小结 129
第6章 输入和输出 130
6.1 所需工具 130
6.2 修改后的电路 130
6.2.1 微动开关 130
6.2.2 上拉电阻和下拉电阻 132
6.3 Button_Polled项目 132
6.3.1 项目概述 132
6.3.2 修改代码 133
6.3.3 代码 134
6.4 Button_Interrupt项目 137
6.4.1 项目概述 137
6.4.2 修改代码 138
6.4.3 代码 141
6.5 本章小结 144
第7章 一台树莓派和多个进程 145
7.1 进程 145
7.2 设计多进程拉森扫描器 146
7.2.1 fork命令 147
7.2.2 控制信号 147
7.2.3 修改代码 148
7.3 代码 152
7.4 运行程序 157
7.5 Linux中的进程 158
7.6 本章小结 160
第8章 单进程和多线程 161
8.1 进程与内存 161
8.1.1 内核空间 162
8.1.2 堆栈 162
8.1.3 内存映射段 162
8.1.4 堆 162
8.1.5 BSS段 162
8.1.6 数据段 162
8.1.7 文本段 163
8.2 线程 163
8.2.1 线程函数 163
8.2.2 线程ID 164
8.2.3 创建线程 164
8.2.4 取消线程 164
8.2.5 流程控制 164
8.2.6 内存保护:互斥锁 165
8.3 POSIX线程与WiringPi线程 166
8.4 Larson_pthread 167
8.4.1 工作规划 167
8.4.2 修改代码 167
8.4.3 代码 169
8.5 Larson_wiringPiThread 175
8.6 本章小结 181
第9章 从树莓派走向世界:网络套接字 182
9.1 互联网上的小装置 182
9.2 安全性 182
9.3 网络简介 183
9.3.1 TCP/IP端口和套接字 183
9.3.2 IPv4和IPv6 184
9.3.3 域名服务 185
9.3.4 客户端和服务器 185
9.4 程序 186
9.5 规划 186
9.5.1 gpio_class类 187
9.5.2 socket_class类 188
9.5.3 main()函数 189
9.5.4 关于std::string类的一些讨论 18