作品简介

本书将深入浅出地介绍Intel推出的开源硬件——Edison控制板,介绍其硬件架构、开发环境、开发方法(分别基于Arduino IDE和Linux系统)、应用前景,并提供人脸追踪器、自主导航机器人、小型智能家居、智能水杯等开发实例供读者参考。

陈士凯,原来在Intel、盛大研究院供职,后来创办RoboPEAK团队并自己创业,是开源硬件界的领军人物之一。程晨原来在著名开源硬件厂商DFRobot供职,一直参与北京创客空间的活动,后来发起了MakerPaPa组织。臧海波是《无线电》杂志金牌作者,编著、翻译了多本关于机器人的图书。

作品目录

  • PREFACE 推荐序
  • FOREWORD 前言
  • THANKS 致谢
  • CHAPTER 01 初识Edison
  • 1.1 Edison介绍
  • 1.1.1 第一版Edison
  • 1.1.2 第二版Edison
  • 1.2 Edison的硬件参数
  • 1.2.1 Edison的性能
  • 1.2.2 Edison的硬件布局
  • 1.2.3 70PIN接口引脚定义
  • 1.2.4 Edison的软件架构
  • 1.2.5 Yocto Project
  • 1.3 接口扩展板
  • 1.3.1 两种官方扩展板
  • 1.3.2 Arduino扩展板接口说明
  • 1.3.3 Breakout Board
  • 1.3.4 第三方扩展板
  • CHAPTER 02 快速上手
  • 2.1 Edison kit for Arduino的用法
  • 2.1.1 下载软件及驱动
  • 2.1.2 安装硬件驱动
  • 2.2 Arduino IDE for Edison
  • 2.2.1 Arduino开发环境
  • 2.2.2 下载开发环境
  • 2.2.3 配置开发环境
  • 2.3 简单的I/O口控制
  • 2.3.1 Blink例程
  • 2.3.2 PWM输出
  • 2.4 Wi-Fi连接
  • 2.4.1 无线通信
  • 2.4.2 无线网络
  • 2.4.3 Wi-Fi
  • 2.5 Wi-Fi库
  • 2.5.1 Wi-Fi库概述
  • 2.5.2 Wi-Fi类中的函数
  • 2.5.3 Server类中的函数
  • 2.5.4 Client类中的函数
  • 2.6 Wi-Fi网络
  • 2.6.1 扫描Wi-Fi网络
  • 2.6.2 连接Wi-Fi网络
  • 2.7 基于网络的交互
  • 2.7.1 HTML语言
  • 2.7.2 网页制作
  • 2.7.3 在服务器上运行网页
  • 2.7.4 通过网页控制LED
  • 2.7.5 在网页中显示温度
  • 2.8 实例:网络远程养花系统
  • 2.8.1 功能描述
  • 2.8.2 硬件准备
  • 2.8.3 编程实现
  • 2.8.4 虚拟服务器
  • 2.8.5 扩展思考
  • 2.9 通过串口登录Linux
  • 2.9.1 驱动安装
  • 2.9.2 设置Edison
  • 2.9.3 蓝牙连接
  • 2.9.4 Linux下的GPIO操作
  • CHAPTER 03 Edison技术实现浅析
  • 3.1 Edison的硬件架构
  • 3.1.1 Edison核心
  • 3.1.2 Edison核心与外部系统的连接
  • 3.1.3 深入研究 Edison 的 Arduino接口扩展板
  • 3.1.4 信号电平转换的实现
  • 3.1.5 I/O工作模式和上拉电阻的实现
  • 3.1.6 I/O端口操作的性能问题
  • 3.1.7 I/O端口模式复用的实现
  • 3.1.8 ADC模拟信号采集
  • 3.1.9 电源与电池充电
  • 3.1.10 小结
  • 3.2 Edison的软件架构
  • 3.2.1 总体的软件架构
  • 3.2.2 系统引导过程
  • 3.2.3 系统分区和文件组织
  • 3.2.4 Arduino Sketch 程序的执行机制
  • CHAPTER 04 进阶开发
  • 4.1 开发Edison原生应用
  • 4.1.1 在Edison中开发第一个Hello World程序
  • 4.1.2 本机编译和交叉编译
  • 4.1.3 使用配套的原生应用SDK进行开发
  • 4.1.4 程序的部署与调试
  • 4.2 使用第三方软件包进行开发
  • 4.2.1 使用 libjpeg 库实现对 jpeg 图像进行操作
  • 4.2.2 将OpenCV库编译成Edison版本
  • 4.2.3 在编写的程序中调用OpenCV
  • CHAPTER 05 系统定制与功能扩展
  • 5.1 使用Yocto Project定制Edison系统
  • 5.1.1 系统定制的方式与YoctoProject系统简介
  • 5.1.2 在开发机中搭建Yocto Project开发环境
  • 5.1.3 编译产生Edison完整系统镜像
  • 5.1.4 将编译完成的系统镜像写入Edison
  • 5.1.5 修改Linux内核配置
  • 5.1.6 增加额外的软件包
  • 5.2 修改启动引导配置
  • 5.2.1 在U-boot中修改配置参数
  • 5.2.2 在 Linux 系统中修改 U-boot配置参数
  • 5.2.3 制作运行在SD卡上的系统
  • CHAPTER 06 给Edison添加图形人机交互界面
  • 6.1 背景和原理
  • 6.1.1 使用USB显示器
  • 6.1.2 工作原理
  • 6.2 在Yocto Project Linux中增加图形显示和交互支持
  • 6.2.1 对Linux内核的配置
  • 6.2.2 内核驱动编译和部署
  • 6.2.3 配置USB屏内核驱动随系统自动加载
  • 6.2.4 在显示屏中输出命令终端
  • 6.2.5 使用用户态驱动库直接驱动USB显示器
  • 6.3 运行PC版Ubuntu图形界面
  • 6.3.1 制作安装Ubuntu系统的SD卡
  • 6.3.2 配置Edison进行Ubuntu系统引导
  • 6.3.3 系统的登录和使用
  • CHAPTER 07 使用摄像头进行图像识别开发
  • 7.1 从摄像头捕捉数据
  • 7.1.1 USB摄像头的选取
  • 7.1.2 增加Linux内核对USB摄像头的支持
  • 7.1.3 使用OpenCV获取摄像头图像
  • 7.2 制作一个摄像头取景器
  • 7.3 使用Edison制作人脸跟踪器
  • 7.3.1 基本原理
  • 7.3.2 在本机应用中使用 Arduino库直接操作硬件
  • 7.3.3 在本机应用中驱动OLED屏幕显示画面
  • 7.3.4 舵机云台控制
  • 7.3.5 实现人脸跟踪的facetrack程序
  • CHAPTER 08 基于Edison的智能水杯
  • 8.1 背景与原理
  • 8.1.1 Edison
  • 8.1.2 外部单片机
  • 8.1.3 LED显示阵列
  • 8.1.4 无线充电模块
  • 8.1.5 板载充电方案
  • 8.1.6 电池
  • 8.1.7 音频
  • 8.1.8 运动传感器
  • 8.1.9 低电压保护电路
  • 8.1.10 USB MUX切换线路
  • 8.1.11 功耗管理和系统电源状态
  • 8.1.12 系统上电时序和规范:
  • 8.2 系统构架与设计
  • 8.2.1 硬件设计
  • 8.2.2 软件系统
  • 8.2.3 IDEAir无线编程环境
  • 8.3 互联网和云计算
  • 8.4 应用展望
  • 附录A Edison相关的论坛、社区和开发者资源
  • 附录B Edison的小伙伴们 生态合作方
展开全部