新書推薦:
《
知宋·宋代之科举
》
售價:NT$
454.0
《
那本书是(吉竹伸介与又吉直树 天才联动!)
》
售價:NT$
454.0
《
传播的跃迁:人工智能如何革新人类的交流
》
售價:NT$
505.0
《
纯粹·古代中国的历史与制度
》
售價:NT$
286.0
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:NT$
265.0
《
一个英国军事顾问眼中的二战
》
售價:NT$
1265.0
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:NT$
306.0
《
瘦肝
》
售價:NT$
454.0
|
編輯推薦: |
树莓派自从2012年面世以来,在全世界掀起了一股树莓派DIY的风潮,其内置的软硬件和第三方生态已经非常庞大,并且联系紧密,相辅相成。
本书遵循由浅入深、由易到难的总体原则,首先介绍树莓派自身的软件部分,既有Scratch这种拖曳式编程语言的使用,可为专业程序员打造亲子时间提供素材,又有Python这样的专业编程语言的快速上手,然后基于Pyhon案例介绍了各种传感器的使用。
在这些开胃菜品尝完毕之后,读者基本上能够掌握使用树莓派软硬件与第三方软硬件协同工作,搭配和使用传感器亲手搭建一个简单的用于巡线并且自动跟随和停止的机器无人车。
本书还深入地介绍了树莓派的高级玩法以及使用手机控制树莓派,此外还分享了更多更高级、更加智能的第三方软硬件,比如近年来火热的人工智能系列传感器、专业的机器人操作系统ROS在树莓派上的使用方法,同时兼顾PC和手机操作,为玩转机器人添加了更多的趣味场景。
本书使用通俗易懂的语言进行描述,案例丰富,新颖有趣,并基于人人都能负担得起的低成本零部件,读者只需要不到千元即可轻松拥有自己的树莓派机器人。
|
內容簡介: |
本书遵循由浅入深、由易到难的原则,循序渐进地介绍使用树莓派玩转机器人的必备软硬件知识与技术。全书共8章,第1~4章为树莓派入门部分,主要介绍树莓派软硬件、Scratch和Python编程语言以及各种传感器的使用,并提供丰富的操作案例,方便读者轻松构建树莓派项目。本部分学会之后,读者基本上可以掌握使用树莓派软硬件与第三方软硬件协同工作,搭配和使用传感器亲手搭建一个简单的用于巡线且自动跟随和停止的机器无人车。第5~8章为提高部分,本部分深入地介绍树莓派的各种高级玩法,还将介绍更多、更加智能的第三方软硬件,比如近年来火热的人工智能系列传感器以及机器人操作系统ROS的使用,同时兼顾PC和手机操作,为读者玩转机器人提供更多的趣味场景。 本书的特点是使用低成本硬件,趣味性和可操作性强,适合对树莓派及机器人感兴趣的各类读者阅读。
|
關於作者: |
陈佳林,看雪论坛版主,看雪讲师,在移动安全领域经验丰富,多次主持银行、电信、政府及行业部门培训并参与安全研究项目。在看雪安全开发者峰会、GeekPwn多次发表主题演讲。热爱折腾、兴趣广泛,树莓派骨灰级爱好者,喜欢捣鼓树莓派,并将其应用到工作中去,屡获殊荣。
|
目錄:
|
目录
第1章 树莓派全面介绍 1
1.1 树莓派项目 1
1.2 树莓派硬件 3
1.2.1 板载芯片 3
1.2.2 板载接口 5
1.2.3 专用拓展 7
1.3 点亮树莓派 9
1.4 树莓派软件 15
1.4.1 设置助手 15
1.4.2 桌面布局 18
1.4.3 浏览器及软件管理 19
1.4.4 文件管理器 21
1.4.5 编程套件 23
1.4.6 树莓派配置工具 26
第2章 树莓派软硬件开发入门 28
2.1 认识Scratch 29
2.1.1 Hello World!程序 30
2.1.2 流程 30
2.1.3 循环 32
2.1.4 变量和条件 33
2.2 使用Scratch完成一些小游戏 36
2.2.1 宇航员反应计时器 37
2.2.2 花样游泳 41
2.3 树莓派硬件入门 48
2.3.1 了解GPIO 48
2.3.2 常用电子元器件 49
2.4 使用Scratch控制硬件 51
2.4.1 控制发光二极管 51
2.4.2 控制蜂鸣器 54
2.4.3 控制按钮 55
第3章 树莓派软硬件开发进阶 57
3.1 树莓派玩转Python入门 57
3.1.1 超轻量开发环境:Thonny 57
3.1.2 Python IDLE和命令行 58
3.1.3 编写Hello World!程序 60
3.2 Python进阶 61
3.2.1 代码缩进和循环 61
3.2.2 条件和变量 64
3.2.3 画雪花 65
3.3 Python控制GPIO传感器 71
3.3.1 gpiozero库 71
3.3.2 gpiozero的输入和输出 73
3.3.3 模拟红绿灯 75
3.3.4 抢答器 77
3.4 Python与树莓派硬件的交互 80
3.4.1 Python与树莓派系统信息的交互 80
3.4.2 Python与发光二极管传感器的交互 81
3.4.3 Python与游戏操纵杆传感器的交互 85
3.4.4 Python与电子罗盘传感器的交互 88
第4章 机器人简单传感器 91
4.1 视觉传感器 91
4.1.1 简单提示:发光二极管 91
4.1.2 图像视频采集:摄像头 98
4.1.3 图像视频输出:显示器 101
4.2 声学传感器 106
4.2.1 简单提示音:蜂鸣器 106
4.2.2 播放声音和音乐:扬声器 107
4.2.3 超声波:距离传感器 108
4.3 电磁传感器 109
4.3.1 限制电路电流:电阻器 109
4.3.2 机器人的双脚:马达 111
4.3.3 角度微控制器:舵机 116
4.3.4 大型电器开关:继电器 117
4.3.5 测速计数:霍尔传感器 119
4.4 其他传感器 121
4.4.1 力学传感器:开关、体重、加速计和陀螺仪 121
4.4.2 热学传感器:人体感应器、温度传感器 126
4.4.3 红外传感器:光敏传感器、循迹传感器 128
第5章 树莓派人工智能传感器 131
5.1 Google AIY Voice Kit 131
5.1.1 组装配置 131
5.1.2 简单录音 133
5.1.3 语音识别与命令 134
5.2 谷歌语音套件 136
5.2.1 组装配置 136
5.2.2 人脸和物品检测引擎 137
5.2.3 使用代码演示人脸识别 139
5.3 Seeed ReSpeaker 140
5.3.1 硬件规格介绍 140
5.3.2 安装驱动 141
5.3.3 配置在线API 143
5.3.4 语音识别与命令 145
5.4 Pixy2 Cam 145
5.4.1 Pixy系列传感器介绍 145
5.4.2 连接到树莓派 146
5.4.3 颜色判定和巡线 147
5.4.4 Python接口调用 150
第6章 树莓派构建机器人 152
6.1 硬件规划 152
6.1.1 协议规划:深入gpiozero 152
6.1.2 协议规划:I2C、SPI 158
6.1.3 电路规划:FRITZING 162
6.2 软件规划 165
6.2.1 命令控制:SSH 165
6.2.2 电脑控制:gpiozero 169
6.2.3 手机控制:Blue Dot 172
6.3 机器人构建 175
6.3.1 远程控制机器人 175
6.3.2 循迹机器人 177
6.3.3 跟随避障机器人 180
6.4 监测树莓派状态 181
6.4.1 命令行检测 181
6.4.2 苹果手机监控:PiHelper 184
6.4.3 安卓手机监控:RaspController 186
第7章 树莓派与产业机器人语言:ROS 190
7.1 机器人操作系统ROS 190
7.1.1 ROS是什么 190
7.1.2 ROS用来做什么 190
7.1.3 ROS版本的选择 191
7.1.4 在树莓派上安装Ubuntu 192
7.1.5 在Ubuntu上安装ROS 196
7.2 文件系统概览 197
7.2.1 安装ros-tutorials案例包 197
7.2.2 ROS软件包结构 197
7.3 ROS节点 200
7.3.1 首先启动内核roscore 200
7.3.2 启动节点rosnode 201
7.3.3 启动文件 203
7.4 ROS话题 205
7.4.1 rostopic命令 207
7.4.2 消息传递过程 209
7.5 ROS服务、参数和调试 211
7.5.1 服务rosservice 211
7.5.2 参数rosparam 214
7.5.3 打印ROS日志 216
第8章 树莓派集成机器人与人工智能 219
8.1 树莓派ROS传感器 219
8.1.1 配置宿主机和客户机 219
8.1.2 树莓派连接摄像头 221
8.1.3 树莓派连接激光雷达 223
8.1.4 树莓派连接3D摄像头 225
8.2 树莓派连接操纵手柄 226
8.2.1 硬件准备:PS3、PS4、XBOX 226
8.2.2 驱动安装和测试 227
8.2.3 代码编写与软件包编译 229
8.2.4 使用手柄控制小乌龟 231
8.3 手机控制ROS机器人 231
8.3.1 远程控制:ROS Control 232
8.3.2 人机界面:PocketBot for ROS 234
8.3.3 智能语音:ROS Teleop Controller 236
8.4 ROS人工智能 238
8.4.1 现实世界的人工智能 238
8.4.2 机器人视觉:OpenCV 239
8.4.3 机器人地图:SLAM 241
8.4.4 机器人导航:Navigation 242
|
內容試閱:
|
前言
为什么要写这本书
面对这个问题,我的内心是复杂的。虽然我是一名理科生,但是就这个问题我并不想用各种参数对比、性价比等冷冰冰的数字来回答,我想感性地、大声地、骄傲地回答这个问题,因为我就是喜欢树莓派。
由于工作的原因,身边总是围绕着大量的工程师,他们中的大多数都跟我一样,第一眼就喜欢上了这块电路板,而且喜欢上之后就再也离不开它。从2012年的第一代一直追到最新的3B 版本的人不在少数,而且非常神奇的是,这块电路板软硬通杀,无论是玩硬件的朋友,还是玩软件的朋友,都会爱不释手,并且能够很快上手融合到自己的项目中。
树莓派是一款真正的计算机,凭借强劲的CPU性能,树莓派无所不能,从上网、玩游戏、看电影、听音乐,到控制电路、控制传感器,进行科学计算、边缘计算、云计算,甚至是深度学习、人工智能、图像识别、环境感知等高级应用,树莓派都可以做到轻松应对、游刃有余。
与此同时,树莓派保持着非常低廉的售价,官方售价一直是35美元,要知道传统的一台完整的计算机哪怕350美元都不一定买得到,这一点尤为可贵。当今的中国以及未来的世界会出现越来越多的自动化工作,需要越来越多的程序员,降低计算机的普及门槛、让更多的人更早地接触编程并且热爱编程是一项伟大的工作。
我特别喜欢给树莓派刷上各种定制的系统,树莓派可以刷Android、Windows、Debian、Ubuntu、OSMC、PiNet、OpenNAS等各种功能丰富、适用于不同场景的操作系统,得益于其超低的功耗,拿来做服务器24小时不关机也不心疼,换一张TF卡,立马又是一个新系统,对于我们经常蹂躏系统环境的逆向工程师来讲,帮助巨大。
业余时间我经常跟同事一起利用树莓派软硬结合的特性搭建各种树莓派充当神经中枢的机器人,并且参加一些机器人比赛,适逢清华大学出版社王老师盛情邀请,特此记录一些平时玩树莓派搭建机器人的技术,以期遇到更多喜欢树莓派的朋友,一起发扬树莓派提倡的创客文化,顺便提高自身的技术和水平。
本书主要内容
玩转树莓派机器人,本质上就是玩转树莓派的软件和硬件,软件和硬件又分为自身的软硬件和第三方的软硬件。树莓派自从2012年面世以来,在全世界掀起了一股树莓派DIY的风潮,其内置的软硬件和第三方生态已经非常庞大,并且联系紧密,相辅相成。
本书遵循由浅入深、由易到难的总体原则,书的前半部分介绍树莓派自身的软件部分,既有Scratch这种拖曳式编程语言的介绍使用,可为专业程序员打造亲子时间提供素材,也有Python这样的专业编程语言的上手使用,然后基于Python案例介绍各种传感器的使用,方便读者轻松地集成到自己的项目中。
在这些开胃菜品尝完毕之后,读者基本上可以掌握使用树莓派软硬件与第三方软硬件协同工作,搭配和使用传感器亲手搭建一个简单的用于巡线并且自动跟随和停止的机器无人车。
书的后半主要为提高部分,更加深入地介绍树莓派的高级玩法,以及使用手机控制树莓派,此外还分享了更多、更高级、更加智能的第三方软硬件,比如近年来火热的人工智能系列传感器、专业的机器人操作系统ROS在树莓派上的使用方法等。
使用树莓派进行机器人构建时,ROS是组件沟通和联系的纽带,而人工智能传感器则为机器人添加更多紧跟时代的新功能,如图像识别跟踪等。本书还兼顾PC和手机操作,为玩转机器人的读者提供了更多的趣味场景。
本书面向的读者
树莓派爱好者
机器人、无人机爱好者
计算机、机械动力专业的大学生
想要跟子女相处和互动的好爸爸
AI、ROS相关产品研发人员
更新和勘误
书本是静止的,知识是流动的。在本书编撰、出版、发行的过程中,技巧和技术都在更新,另外,机器人本身是一门操作性极强的科学,读者在动手实践的过程中难免会产生各式各样的疑问,本来专业开发者大多数情况下采用GitHub进行更新和勘误,但是照顾到可能会有一大批非专业的爱好者没有GitHub账号,因此我特别新开了公众号,大家可以在后台跟我沟通,我会定期总结和归纳读者的提问,并且发布一些更新后的工具和使用方法上的变化,希望可以与读者一起学习和进步。
陈佳林 于上海张江高科
2019年6月23日
|
|