新書推薦:

《
战略性矿产:大国资源竞争与中国方略
》
售價:HK$
96.8

《
嘉礼大婚:走近清代帝王婚礼(在故宫)附光绪《大婚图》册全本
》
售價:HK$
140.8

《
对手(定位之父 女儿劳拉·里斯作品)
》
售價:HK$
75.9

《
洞察 看清复杂世界的底层逻辑(信息爆炸时代,比知识更稀缺的是洞察力)
》
售價:HK$
85.8

《
工业机器人安装与调试 第2版
》
售價:HK$
86.9

《
财源滚滚:20堂财富破局课
》
售價:HK$
76.8

《
然后没有你的九月来临了
》
售價:HK$
47.1

《
图画书中的学科阅读(魔法象·阅读学园)
》
售價:HK$
65.8
|
| 編輯推薦: |
本书从嵌入式开发的视角,重构基于树莓派的课程知识体系,内容覆盖树莓派的基础知识、操作系统、编程技术、传感器与外设控制、机器视觉、机器学习应用以及物联网应用开发等多个方面,并通过通过一个基于大语言模型与智能体技术的物联网综合应用案例,展示如何利用大语言模型技术,打造更加智能、高效的树莓派物联网应用解决方案。 由于嵌入式开发是实践性很强的课程,因此本书在知识讲授的同时,注重工程方法的融入。比如,引导学生逐步掌握基于远程终端、交叉编译和网络调试的嵌入式系统工程开发方法,体验接近真实工程环境的开发流程。 本书不止于讲授知识和技术,更希望传递开源文化内核,助力读者将个人成长与技术生态发展绑定,为我国打造世界级嵌入式硬件与开源社区储备人才。 本书配套的电子资源可从
|
| 內容簡介: |
|
本书深入探讨了树莓派5开发板在嵌入式系统和智能物联网领域的创新应用,内容不仅涵盖基础知识与操作系统等入门内容,还深入涉及编程技术、传感器与外设控制、机器视觉、机器学习应用,同时包含物联网应用开发等进阶模块,旨在为读者提供一本全面、深入、实用的技术参考书籍。本书适合嵌入式系统开发者、树莓派爱好者、智能物联网应用开发者及相关领域的学生和教师阅读,无论是初学者还是有经验的开发者,都能够在树莓派的世界中找到灵感,开启智能化应用开发的新篇章。
|
| 關於作者: |
|
郑灵翔,男,高级工程师,本科毕业于浙江大学,同年进入厦门大学工作,2010年于厦门大学计算机系获博士学位。主要研究方向有嵌入式技术、人工智能与模式识别、网络通信。近年来在课题相关领域参加或主持过多项横向与纵向课题,主持多项教育部产学研教学改革项目。出版专著三本,发表学术论文十余篇。开设课程有嵌入式系统设计、多核程序设计等。
|
| 目錄:
|
目 录 前言 第1章 绪论 1 1.1 嵌入式系统与树莓派 1 1.2 树莓派硬件概览 2 1.2.1 树莓派版本演进 2 1.2.2 树莓派衍生产品系列 4 1.3 物联网系统及树莓派的应用 6 1.4 AIGC技术与物联网应用创新 7 本章小结 9 习题与思考题 9 第2章 Linux操作系统概述 10 2.1 Linux发行版与树莓派操作系统 10 2.1.1 Linux内核发展史 10 2.1.2 Linux发行版 11 2.1.3 树莓派操作系统简介 14 2.2 Linux操作系统构成 14 2.2.1 总体结构 14 2.2.2 Linux内核 15 2.2.3 根文件系统目录树结构 16 2.2.4 Linux的文件 19 2.3 Linux基本操作 19 2.3.1 文件和目录管理 20 2.3.2 文本处理 27 2.3.3 文本编辑工具 32 2.3.4 用户管理与权限管理 33 2.3.5 磁盘与文件系统管理 36 2.3.6 进程资源监控管理 41 2.3.7 服务与系统管理 44 2.3.8 网络管理 45 2.4 Shell脚本入门 50 2.4.1 Shell简介 50 2.4.2 Shell功能与操作管理 52 2.4.3 Shell脚本进程间通信实践 58 本章小结 60 习题与思考题 60 第3章 树莓派的使用与配置 61 3.1 树莓派系统的SD卡制作 61 3.2 树莓派系统的配置 68 3.3 树莓派串口终端与启动流程 73 3.3.1 树莓派串口终端配置 与使用 73 3.3.2 树莓派启动流程 79 3.4 树莓派USB 虚拟网卡与 SSH连接 81 3.4.1 树莓派USB虚拟网卡配置 81 3.4.2 PC端网络配置 82 3.4.3 树莓派SSH配置与连接 84 3.5 树莓派常用的特殊命令 85 3.6 制作树莓派启动U盘 92 3.6.1 U盘分区与格式化 92 3.6.2 复制树莓派系统文件 93 3.6.3 U盘系统配置 94 本章小结 95 习题与思考题 95 第4章 树莓派C/C++程序编译 与调试 96 4.1 GCC简介 96 4.1.1 用GCC编译简单程序 96 4.1.2 GCC使用简介 97 4.2 GNU make与Makefile 99 4.2.1 Makefile的结构 99 4.2.2 Makefile的处理过程 100 4.2.3 Makefile的变量 101 4.2.4 Makefile伪目标 103 4.2.5 利用隐含规则简化 Makefile 103 4.2.6 make的命令行参数 104 4.2.7 Makefile示例 105 4.3 Autoconf与Automake 105 4.3.1 自动生成Makefile的流程 106 4.3.2 Makefile.am的编写 108 4.3.3 自动生成Makefile项目 示例 109 4.4 CMake简介 111 4.4.1 CMakeLists.txt文件简介 112 4.4.2 CMake使用入门 112 4.4.3 CMakeLists.txt脚本语法 114 4.4.4 CMake项目示例 118 4.5 GDB调试器及应用 121 本章小结 132 习题与思考题 132 第5章 树莓派嵌入式系统 开发 133 5.1 嵌入式系统的开发模式 133 5.2 基于交叉编译的树莓派应用 开发 134 5.2.1 交叉编译工具链安装 135 5.2.2 应用程序的交叉编译 138 5.3 树莓派应用虚拟化开发 140 5.3.1 基于QEMU用户态虚拟化 的树莓派开发模式 140 5.3.2 基于QEMU系统级虚拟化 的树莓派开发模式 144 5.4 VSCode树莓派远程开发 149 5.4.1 QEMU虚拟环境SSH 连接配置 149 5.4.2 VSCode远程连接 151 5.5 树莓派Linux内核裁剪与配置 155 5.5.1 Linux内核裁剪与配置 概述 156 5.5.2 树莓派Linux内核配置 158 5.6 根文件系统构建 161 本章小结 166 习题与思考题 167 第6章 树莓派Python编程 168 6.1 Python 开发环境 168 6.2 Python基础 169 6.2.1 标识符、基本数据类型 与变量 169 6.2.2 运算符与表达式 169 6.2.3 字符串 171 6.2.4 常用数据结构 174 6.2.5 程序流程控制 176 6.2.7 函数 178 6.2.8 模块 181 6.3 树莓派的GPIO及其编程 183 6.3.1 树莓派GPIO硬件概述 183 6.3.2 树莓派GPIO引脚功能 184 6.3.3 树莓派GPIO软件编程 186 6.4 树莓派LED和按键控制 194 6.4.1 树莓派外围电路基础 194 6.4.2 LED控制 195 6.4.3 按键 197 6.4.4 外部中断 199 本章小结 201 习题与思考题 201 第7章 树莓派传感器与外设 控制 202 7.1 传感器简介 202 7.2 传感器的接口 203 7.3 各类传感器开发 203 7.3.1 运动检测传感器 203 7.3.2 距离检测传感器 209 7.3.3 温湿度检测传感器 212 7.3.4 舵机云台控制 215 本章小结 221 习题与思考题 221 第8章 机器视觉在树莓派上 的应用 222 8.1 树莓派摄像头 222 8.2 图像处理基础 223 8.3 OpenCV的使用 223 8.3.1 读取图像文件 224 8.3.2 采集图像并保存 224 8.3.3 按键触发拍照 225 8.3.4 其他常用图像处理算法 225 8.4 OpenCV棋盘识别 229 本章小结 234 习题与思考题 234 第9章 端侧机器学习应用 235 9.1 机器学习与深度学习框架 235 9.1.1 机器学习的基本概念 235 9.1.2 TensorFlow简介 236 9.1.3 PyTorch简介 236 9.2 深度神经网络建模入门 237 9.2.1 人工神经网络简介 237 9.2.2 Keras模型的构建 241 9.2.3 Keras的层API 244 9.3 基于Keras API的机器学习 实践 247 9.3.1 数据准备与预处理 247 9.3.2 模型搭建 250 9.3.3 模型训练与评估 251 9.3.4 模型保存与加载 253 9.3.5 模型推理预测与部署 254 9.4 深度神经网络模型端侧部署 与优化 258 9.4.1 LiteRT简介 258 9.4.2 TensorFlow模型 与 LiteRT模型转换 259 9.4.3 PyTorch模型与LiteRT 模型转换 260 9.4.4 LiteRT模型部署与推理 261 9.4.5 LiteRT模型优化 265 9.5 端侧图像分类实践 267 9.6 端侧目标识别实践 275 9.6.1 基于YOLO预训练模型 的目标识别 275 9.6.2 YOLO模型微调 276 9.6.3 YOLO模型端侧部署与 使用 278 本章小结 282 习题与思考题 282 第10章 树莓派物联网应用开发 综合实践 283 10.1 花卉监测系统设计 283 10.1.1 花卉监测需求定义 283 10.1.2 智能体驱动的花卉监测 系统架构设计 283 10.2 MQTT协议 284 10.2.1 MQTT协议的三个 角色 285 10.2.2 MQTT控制报文类型 285 10.2.3 MQTT传输层协议 288 10.2.4 MQTT代理服务器搭建 与配置 288 10.2.5 MQTT协议调试工具 290 10.2.6 使用Python连接MQTT 服务器 291 10.3 华为云物联网平台接入 与开发 293 10.3.1 华为云物联网平台 基础概念 293 10.3.2 华为云物联网平台 产品开发 294 10.3.3 使用Python SDK连接 华为云平台 300 10.4 Coze智能体设计与实现 302 10.4.1 智能体的概念 303 10.4.2 Coze智能体的核心功能 304 10.4.3 智能体提示词设计 304 10.4.4 大模型检索增强生成 306 10.4.5 思维链与提示优化 307 10.4.6 智能体设计实现 310 10.5 智能体驱动的花卉监测系统 集成 318 10.5.1 花卉监测系统外设控制 与云端交互 318 10.5.2 花卉监测系统前端界面 设计 323 本章小结 325 习题与思考题 325
|
| 內容試閱:
|
|
前 言树莓派作为全球广受欢迎的开源开发板,拥有庞大的用户群。许多人会将其成功归因于价格较低,且易于使用。但更深层的原因是它依托开源社区构建了资源丰富且繁荣的软件生态。树莓派基金会主导开发了树莓派操作系统及一系列相关工具,使得零基础用户拿到开发板后也能快速上手。该系统基于Debian Linux,不仅继承了其海量软件仓库、完善的包管理机制,还延续了软件定期迭代更新的特性,为树莓派赋予了出色的软件灵活性和可扩展性。开发者能够便捷获取和使用Linux生态系统的丰富资源,降低了在树莓派上开发应用的门槛。与此同时,全球开发者围绕树莓派贡献的各类软硬件应用和教学资源,使它超越了硬件产品本身,演进成一个持续成长的开源生态系统。此外,树莓派硬件在不断更新迭代的过程中始终保持了硬件接口规格的基本稳定和兼容,既能满足新需求,又能复用原有的设计,展现出强大的生命力。树莓派的这些特点与传统教学中使用的嵌入式开发板有很大不同。传统教学平台通常形态各异、硬件通用性较差;即便搭配Linux系统,也多是某家公司针对特定开发板移植的版本—一旦硬件生命周期结束,软件便会停止更新,逐渐过时并失去兼容性。这种因硬件淘汰而频繁更换实验设备的情况,不仅影响课程的延续性,还会影响学生的持续学习与实践。相比之下,树莓派稳定的硬件接口规格与成熟的开源生态,能有效缓解这些问题。更重要的是,树莓派兼具“低价教育计算机”与“嵌入式开发平台”的双重属性:它既可以像普通计算机那样,运行完整的Linux操作系统与桌面环境,帮助初学者快速入门,又可以在无键盘、鼠标和屏幕的模式下运行,通过远程连接实现典型嵌入式开发流程。与多数初学者习惯的“屏幕+键盘+鼠标”的使用方式不同,本书更强调树莓派作为嵌入式与物联网节点的定位,引导学生逐步掌握基于远程终端、交叉编译和网络调试的嵌入式系统工程开发方法,从而体验接近真实工程环境的开发流程。将树莓派引入教学,不仅有助于为学生提供易复现、可扩展且具备较长生命周期的学习与实验环境,更有助于学生体验和理解开源文化。技术的发展不仅仅是工程问题,也深受生态与社会逻辑的影响。希望通过本书,能助力培养一批未来可积极参与开源社区的开发者,让他们将个人成长与技术生态发展紧密结合,更期待他们能依托我国强大的制造能力,打造出具有世界影响力的嵌入式硬件与开源社区。本书的内容来源于作者开设的嵌入式系统课程与创新创业实践课程的实验内容,以及指导学生参加大学生科创竞赛的培训材料。全书内容覆盖了树莓派的基础知识、操作系统、编程技术、传感器与外设控制、机器视觉、机器学习应用以及物联网应用开发等多个方面。与大多数将树莓派视为“低价计算机”来讲解的书籍不同,本书从嵌入式系统开发的角度介绍树莓派的配置和使用,包括串口终端、交叉编译、应用虚拟化开发以及远程开发技术等。在编程方面,深入讲解了C和Python编程语言在树莓派上的应用。在物联网与边缘智能方面,本书着重介绍了树莓派传感器与外设控制,机器视觉在树莓派上的应用以及端侧智能的实现。最后,本书通过一个基于大语言模型与智能体技术的物联网综合应用案例,展示了如何利用大语言模型技术,打造更加智能、高效的树莓派物联网应用解决方案。本书可作为嵌入式系统及物联网应用相关课程的教材。若用于嵌入式系统课程,建议重点学习前6章的内容;若面向物联网应用课程,可将学习重心放在第7~10章。本书主要面向高等院校相关专业的本科生与研究生,以及从事嵌入式与物联网应用开发的工程技术人员。读者应具备基本的程序设计能力,以及操作系统、计算机网络的基础知识。本书也为有一定基础的工程人员提供参考,可作为实际项目开发的技术指南。全书由郑灵翔统筹编写并修改定稿。具体章节分工如下:郑灵翔负责第1~5章和第9章,冯超负责第6~8章,第10章由张奇同学在郑灵兮同学的协助下完成。郑融生同学协助验证了第3~8章的代码并提出修改建议。本书在编写过程中得到了多方无私的帮助,在此深表感谢!特别感谢厦门大学信息学院尤其是信息与通信工程系的各位老师,以及厦门大学导航与位置服务技术国家地方联合工程研究中心的师生们—在课程建设和成书的过程中,他们给予了大力支持。感谢机械工业出版社的编辑们为本书出版付出的辛勤劳动。本书受厦门大学“十四五”精品教材建设项目支持。由于嵌入式与物联网技术发展迅速,书中难免存在疏漏与不足之处,后续将通过修订与勘误不断改进。本书配套的电子资源可从 下载。欢迎读者反馈意见与建议。 郑灵翔2025年9月于厦门大学
|
|