书籍详情

BeagleBone开发指南

BeagleBone开发指南

作者:[爱] Derek Molloy,莫洛伊 著;鞠尔男,王伟,刘龙,佟佳珈 译

出版社:人民邮电出版社

出版时间:2016-12-01

ISBN:9787115434753

定价:¥89.00

购买这本书可以去
内容简介
  BeagleBone是一款仅有信用卡大小的低成本Linux计算机,它可以联网并运行高级操作系统(如Android和Ubuntu Linux)。BeagleBone包含大量I/O接口,具有广泛的开源软件支持选项,只需进行简单的设置即可利用它开发应用。本书详细介绍了BeagleBone的软硬件及其应用开发技巧,全书共分3个部分,共计13章。本书以循序渐进的方式向读者介绍了BeagleBone的软硬件、嵌入式Linux系统开发、接口电路、BeagleBone编程、BeagleBone输入/输出接口、交叉编译和Eclipse IDE、BeagleBone总线接口、物理接口、物联网、丰富的用户界面、图像及音视频、BeagleBone实时接口等内容。本书对于发明家、制造商、学生、创业者都具有广泛的参考价值,能够帮助读者深入探索BeagleBone,挖掘其强大的使用价值。
作者简介
  Derek Molloy博士,现任爱尔兰都柏林大学工程与计算学院电子工程系的高级讲师。主要讲授课程为面向对象的嵌入式系统程序设计、数字与模拟电子技术、3D计算机图形学,授课对象为在校本科生和研究生。研究领域主要是计算机技术、计算机视觉、3D图形学及可视化技术及数字化教学。
目录
目录
第1部分 BeagleBone基础知识
第1章 BeagleBone硬件 3
1.1 平台介绍 3
1.1.1 谁该使用BeagleBone 4
1.1.2 何时使用BeagleBone 5
1.1.3 何时你不该使用BeagleBone 5
1.2 BeagleBone文档 6
1.3 BeagleBone硬件 7
1.3.1 BeagleBone版本 7
1.3.2 BeagleBone Black硬件 8
1.4 BeagleBone 配件 12
1.4.1 重点推荐使用的配件 12
1.4.2 可选配件 14
1.5 capes 16
1.6 怎样做会损坏你的BeagleBone系统 17
1.7 小结 18
1.8 支持 18
第2章 BeagleBone Black软件 19
2.1 BeagleBone运行Linux 19
2.2 BeagleBone Black通信 20
2.2.1 安装驱动程序 21
2.2.2 网络连接 21
2.2.3 BeagleBone Black通信 26
2.3 控制BeagleBone 30
2.3.1 基本的Linux命令 30
2.3.2 基本的文件编辑 34
2.3.3 现在几点了 35
2.3.4 打包管理 37
2.3.5 与BeagleBone Black主板上的LED交互 39
2.3.6 关机 40
2.4 Node.js、Cloud9 和BoneScript 41
2.5 小结 45
2.6 延伸阅读 45
第3章 嵌入式Linux系统开发 47
3.1 嵌入式Linux基础 47
3.1.1 嵌入式Linux提供了什么 48
3.1.2 Linux是开源的、免费的 48
3.2 BeagleBone Black的启动 49
3.2.1 BeagleBone Black的BootLoaders 49
3.2.2 内核态和用户态 53
3.2.3 System V init(SysVinit) 54
3.3 管理Linux系统 56
3.3.1 超级用户 56
3.3.2 系统管理员 57
3.3.3 开发文件系统 64
3.3.4 Linux系统命令 70
3.3.5 Linux进程 77
3.3.6 其他Linux话题 80
3.4 Git 80
3.4.1 开始使用Git 81
3.4.2 高级Git 84
3.4.3 Git小结 87
3.5 桌面虚拟化 88
3.6 本书的实例代码 89
3.7 小结 89
3.8 延伸阅读 90
第4章 接口电路 91
4.1 推荐设备 91
4.1.1 数字万用表 91
4.1.2 示波器 92
4.2 基本电路原理 93
4.2.1 电压、电流、电阻、欧姆定律 93
4.2.2 分压电路 95
4.2.3 分流电路 96
4.2.4 面包板实现电路 97
4.2.5 数字万用表(DMM)和面包板 98
4.2.6 电路例子:电压稳压 98
4.3 分立元件 100
4.3.1 二极管 100
4.3.2 LED(LEDs) 101
4.3.3 滤波和去耦电容 103
4.3.4 晶体管 104
4.3.5 光耦合器/光电隔离器 109
4.3.6 开关和按钮 110
4.3.7 滞后 112
4.4 逻辑门 112
4.4.1 浮空输入 116
4.4.2 上拉和下拉电阻 116
4.4.3 集电极开路和漏极开路输出 117
4.4.4 门互连 118
4.5 模数转换 119
4.5.1 采样率 119
4.5.2 量化 119
4.5.3 运算放大器 120
4.6 结论与建议 123
4.7 小结 123
4.8 延伸阅读 123
注释 124
第5章 BeagleBone编程 125
5.1 介绍 125
5.1.1 各种语言的评估 126
5.1.2 设置BeagleBone Black的CPU频率 128
5.2 脚本语言 128
5.2.1 脚本语言的选择 128
5.2.2 Bash 129
5.2.3 Perl 132
5.2.4 Python 133
5.3 JavaScript和Java 135
5.3.1 BeagleBone Black上的JavaScript和Node.js 135
5.3.2 BeagleBone Black上的Java 138
5.4 BeagleBone Black上的C和C++ 141
5.4.1 C和C++语言概述 142
5.4.2 用C编写LED灯闪烁程序 154
5.4.3 C和C++ 156
5.4.4 编写自己的Multi-CallBinary 159
5.5 带有类的C++ 160
5.5.1 面向对象编程的概述 160
5.5.2 面向对象LED闪烁的代码 163
5.5.3 /Proc——proc文件系统 167
5.5.4 GLIBC和系统调用 167
5.6 小结 169
5.7 延伸阅读 170
注释 170
第2部分 接口、控制和通信
第6章 BeagleBone输入/输出接口 173
6.1 通用输入/输出口 173
6.1.1 GPIO接口介绍 173
6.1.2 GPIO数字输出 175
6.1.3 GPIO数字输入 178
6.1.4 GPIO配置 179
6.1.5 C++控制GPIO口 185
6.2 Linux设备树 189
6.2.1 扁平设备树 190
6.2.2 设备树覆盖层 191
6.2.3 BeagleBone Black外设管理器 193
6.3 模拟输入和输出 197
6.3.1 模拟输入 197
6.3.2 模拟输出 201
6.4 高级GPIO主题 204
6.4.1 更多C++编程 205
6.4.2 增强型GPIO类 208
6.4.3 GPIO-KEYS 212
6.4.4 不通过sudo命令使用GPIO 216
6.5 小结 218
6.6 延伸阅读 218
注释 218
第7章 交叉编译和EclipseIDE 219
7.1 搭建交叉编译链 219
7.2 交叉编译第三方库(Multiarch) 223
7.3 安装change root 224
7.3.1 安装armhf change root 224
7.3.2 模拟armhf体系结构 225
7.4 使用Eclipse进行交叉编译 226
7.4.1 在桌面Linux上安装Eclipse 227
7.4.2 配置Eclipse支持交叉编译 227
7.4.3 Remote System Explorer 229
7.4.4 Eclipse中集成GitHub 231
7.4.5 远程调试 232
7.4.6 自动生成文档(Doxygen) 234
7.5 构建BeagleBone Black上的Debian 237
7.6 小结 238
7.7 延伸阅读 238
第8章 BeagleBone总线接口 239
8.1 总线通信介绍 239
8.2 I2C 240
8.2.1 I2C硬件 240
8.2.2 ADXL345加速度计 242
8.2.3 使用Linux I2C工具 243
8.2.4 C语言中的I2C通信 248
8.2.5 C++类封装I2C设备 250
8.3 SPI 253
8.3.1 SPI硬件 253
8.3.2 BeagleBone Black上的SPI 255
8.3.3 第1个SPI应用(74HC595) 257
8.3.4 C++的双向SPI通信 262
8.3.5 BeagleBone Black上多个SPI从设备 270
8.4 UART 271
8.4.1 BeagleBone Black上的UART 272
8.4.2 Arduino UART实例 273
8.4.3 BeagleBone Arduino串行通信 275
8.4.4 一个Arduino的UART命令控制 278
8.5 逻辑电平传输 282
8.6 小结 284
8.7 延伸阅读 284
注释 284
第9章 物理接口 285
9.1 执行器接口 285
9.1.1 直流电机 286
9.1.2 步进电机 292
9.1.3 继电器 297
9.2 模拟传感器接口 298
9.2.1 BeagleBone Black ADC输入引脚的保护 299
9.2.2 模拟传感器的信号调节 302
9.2.3 模拟接口实例 305
9.3 显示模块接口 309
9.3.1 七段数码管显示 309
9.3.2 字符LCD模块 313
9.4 远程控制BeagleBone Black 317
9.4.1 使用Systemd管理服务 317
9.4.2 BeagleBone Black通过串口连接到桌面计算机 319
9.4.3 开机启动自定义服务 322
9.4.4 蓝牙 324
9.5 构建动态链接库 328
9.6 小结 329
9.7 延伸阅读 329
注释 329
第3部分 高级BeagleBone系统
第10章 物联网 333
10.1 物联网简介 333
10.2 传感器详细介绍 335
10.2.1 室内温度传感器 335
10.2.2 德州仪器的SensorTag 336
10.3 BeagleBone Black作为Web服务器 339
10.3.1 安装Web服务器 339
10.3.2 配置Apache Web服务器 340
10.3.3 创建Web页面和Web脚本 341
10.3.4 BeagleBone中运行PHP 343
10.3.5 用自定义的Web服务替换Bone101 344
10.4 C/C++开发的Web客户端 345
10.4.1 网络通信基础 345
10.4.2 C/C++开发的Web客户端 346
10.4.3 基于OpenSSL的安全通信 349
10.5 BeagleBone Black作为网络传感器 350
10.5.1 ThingSpeak 350
10.5.2 Linux Cron调度程序 353
10.5.3 Xively 356
10.5.4 在BeagleBone Black上发送E-mail 360
10.5.5 IFTTT(If This Then That) 362
10.6 C++开发的客户端/服务器 363
10.7 远程管理IoT设备 366
10.7.1 BeagleBone Black的远程监控 366
10.7.2 Linux的看门狗定时器 367
10.8 IoT的物理网络 369
10.8.1 BeagleBone Black和Wi-Fi 369
10.8.2 静态IP地址 373
10.8.3 有源以太网供电(PoE) 373
10.9 小结 375
10.10 延伸阅读 376
注释 376
第11章 丰富的用户界面 377
11.1 丰富的BeagleBone Black UI架构 377
11.1.1 BeagleBone Black作为通用计算机 378
11.1.2 配备LCD触摸屏cape的BeagleBone Black 380
11.1.3 虚拟网络连接(VNC) 381
11.1.4 胖客户端应用程序 383
11.2 丰富的UI应用程序开发 384
11.2.1 BeagleBone Black上的GTK+开发介绍 384
11.2.2 BeagleBone Black上的Qt开发介绍 390
11.3 Qt入门 392
11.3.1 Qt概念 392
11.3.2 Qt开发工具 394
11.3.3 Qt温度传感器的GUI应用程序 395
11.3.4 简单的Qt跨平台开发 400
11.4 远程UI应用程序开发 402
11.4.1 Qt胖客户端GUI应用程序 403
11.4.2 多线程服务器应用程序 406
11.4.3 多线程温度服务 409
11.4.4 胖客户端作为服务器 410
11.5 交叉编译Qt应用程序 416
11.5.1 从源代码构建Qt库 417
11.5.2 远程部署测试应用程序 417
11.6 小结 418
11.7 延伸阅读 418
第12章 图像、视频和音频 419
12.1 图像和视频采集 419
12.1.1 USB网络摄像头 420
12.1.2 Video4Linux2(V4L2) 421
12.2 视频流 427
12.3 图像处理和计算机视觉 428
12.3.1 OpenCV图像处理 428
12.3.2 OpenCV计算机视觉 431
12.3.3 Boost库 434
12.4 BeagleBone音频 434
12.4.1 核心音频软件工具 435
12.4.2 BeagleBone Black音频设备 435
12.4.3 文本转语音 443
12.5 小结 446
12.6 延伸阅读 446
第13章 BeagleBone实时接口 447
13.1 实时BeagleBone 447
13.1.1 实时内核 447
13.1.2 实时硬件解决方案 448
13.2 PRU-ICSS架构 449
13.3 开始使用PRU-ICSS 450
13.3.1 PRU-ICSS增强型GPIO模块 451
13.3.2 PRU-ICSS设备树覆盖层 452
13.3.3 PRU-ICSS包 454
13.3.4 第1个PRU程序 455
13.4 PRU-ICSS详细介绍 458
13.4.1 寄存器 458
13.4.2 本地和全局存储 460
13.4.3 PRU汇编指令集 461
13.5 PRU-ICSS应用程序 463
13.5.1 PRU-ICSS性能测试 463
13.5.2 通用Linux GPIO的使用 464
13.5.3 PRU PWM生成器 467
13.5.4 PRU正弦波发生器 470
13.5.5 超声波传感器的应用 472
13.6 其他PRU-ICSS工具 478
13.6.1 PRU调试器 478
13.6.2 TI的PRU C编译器 479
13.7 小结 481
13.8 延伸阅读 481
猜您喜欢

读书导航