本书通俗易懂,循序渐进,以初学者为立足点,充分考虑了高职学生的认知特点和学习兴趣点,树莓派应用开发与软硬件功能紧密结合,以树莓派实际应用开发为主线,以学以致用为主导,使学生能够快速掌握树莓派应用开发的基本知识和技能,为进一步深入学习树莓派在工业控制、物联网、智能家居、人工智能等领域的应用开发打下良好的基础。通过使用本教材,初学者可在轻松的氛围中掌握树莓派应用开发的基础知识和技能以及解决本专业问题的方法。
丁兆海,男,副教授,本科毕业于山东大学计算机科学与技术学院。2000.01至今于济南职业学院计算机学院从事计算机专业课的教学。主要著作方向为计算机软件,主要著作有《Delphi基础教程》《软件工程》《电脑美术基础》等。
第一章 树莓派介绍 1
1.1 什么是树莓派 1
1.2 树莓派4B外观构成 7
1.3 树莓派相关外部设备 9
1.4 树莓派4的硬件连接 12
本章小结 14
课后练习 15
第二章 树莓派操作系统 16
2.1 树莓派操作系统介绍 16
2.2 下载Raspberry Pi OS 17
2.3 安装操作系统到MicroSD卡 19
2.4 树莓派第一次开机 26
2.5 树莓派桌面 30
2.6 树莓派包管理器 32
2.7 树莓派Configuration配置工具 33
2.8 树莓派关机或重启 36
2.9 树莓派指示灯状态 36
2.10 VM虚拟机安装树莓派系统 37
本章小结 48
课后练习 48
第三章 树莓派操作基础 50
3.1 安装中文字库和中文输入法 51
3.2 修改更新源为国内镜像源 53
3.3 配置文档 config.txt的常用设置 57
3.4 raspi-config配置工具 59
3.5 有线网络和无线网络的配置方法 65
3.6 远程登录树莓派 71
3.7 编辑器vim 77
3.8 禁止显示器屏幕休眠 81
3.9 设置SWAP交换分区 82
3.10 磁盘用量和速度 84
3.11 scrot截屏工具 87
3.12 蓝牙 88
3.13 更新系统引导程序 90
本章小结 92
课后练习 93
第四章 树莓派常用命令 94
4.1 Linux/Raspbian目录结构 94
4.1 目录和文件命令 97
4.2 进程管理命令 103
4.3 用户和组命令 106
4.4 文件权限命令 114
4.5 搜索命令 119
4.6 压缩命令 122
4.7 网络命令 125
4.8 磁盘管理命令 135
4.9 系统信息命令 139
4.10 其他常用命令 145
4.11 软件安装和卸载命令 155
4.12 命令行快捷键 160
本章小结 162
课后练习 163
第五章 树莓派网络应用 164
5.1 NAS系统Samba 164
5.2 DLNA流媒体服务器MiniDLNA 166
5.3 BT下载服务器Transmission 168
5.4 BT下载机Aria2 169
5.5 SFTP远程安全传输文件FileZilla 174
5.6 FTP服务器vsftpd 176
5.7 无线AP-RaspAP 178
5.8 板载网卡配置WIFI热点 182
5.9 增加USB无线网卡配置WIFI热点 187
5.10 UFW防火墙 192
本章小结 198
课后练习 198
第六章 树莓派WEB应用 199
6.1 搭建LANMP环境和phpMyAdmin 199
6.2 博客WordPress 205
6.3 Pi仪表盘Pi Dashboard 209
6.4 私有云盘Syncthing 210
本章小结 216
课后练习 216
第七章 树莓派软件开发应用 218
7.1 开源的OpenJDK和tomcat 218
7.2 CMake编译工具 221
7.3 C语言 223
7.4 Python语言 225
7.5 PyCharm IDE 228
7.6 Arduino IDE 231
本章小结 232
课后练习 233
第八章 树莓派GPIO应用 234
8.1 GPIO基础 234
8.2 C语言基于WiringPi库读取DHT11温湿度传感器 239
8.3 python语言基于Adafruit DHT库读取DHT11温湿度传感器 244
8.4 python语言基于GPIO库读取HC-SR04超声波测距数据 247
8.5 python语言通过I2C驱动LCD1602液晶屏 251
8.6 Scratch GPIO编程控制LED灯 256
本章小结 262
课后练习 262
第九章 shell script 263
9.1 shell script基本介绍 263
9.2 Shell echo命令 267
9.3 Shell printf命令 268
9.4 Shell传递参数 270
9.5 Shell 变量 273
9.6 Shell 基本运算符 275
9.7 Shell 流程控制 283
9.8 Shell 字符串 297
9.9 Shell 数组 298
9.10 Shell 函数 301
9.11 Shell 输入/输出重定向 306
9.12 Shell test 命令 309
9.13 shell 判断符[] 312
9.14 shell script的追踪与调试 313
9.15 Shell文件包含 314
9.16 shell script实例 315
9.17 修改SSH登录信息 317
本章小结 318
课后练习 318
第十章 计划任务和开机启动项 319
10.1 cron配置计划任务 319
10.2 systemd设置开机启动项 321
本章小结 328
课后练习 328
参考文献 329