- 定价:¥59.00
- 校园优惠价:¥41.30 (70折) (马上了解)
- 评分:
(已有0条评价)
- 电子书:pcDuino开发实战
- 促销活动:
- 我要买:
基本信息
- 作者: 李潇海
- 丛书名: 电子与嵌入式系统设计丛书
- 出版社:机械工业出版社
- ISBN:9787111467038
- 上架时间:2014-5-22
- 出版日期:2014 年5月
- 开本:16开
- 页码:250
- 版次:1-1
- 所属分类:计算机 > 计算机组织与体系结构 > 嵌入式计算机

【插图】

编辑推荐
首本针对全球流行的创客杀器——pcDuino的权威开发指南。
覆盖Arduino、Linux和Android三大开发者群体的官方推荐参考书。
包含大量基于pcDuino的开发实例、完整项目文件和源码,可操作性极强。
内容简介
计算机书籍
《pcDuino开发实战》共分为四篇,由浅入深地讲解pcDuino的开发使用。第一篇为基础篇,包括第1~3章,首先介绍了Arduino的基础知识,然后通过与Arduino类似的开发风格直接阐述pcDuino的编程方法,最后介绍了pcDuino作为Mini PC的使用方法。第二篇为编程语言篇,包括第4~6章,作为pcDuino开发方法的补充,依次介绍了使用Python、JavaScript语言以及在Android平台上对pcDuino进行编程的方法。第三篇为模块篇,包括第7~12章,从pcDuino的外设接口讲起,针对每个接口给出实际硬件和软件例子,让读者掌握接口的使用。之后根据传感器、显示输出、电机驱动、无线通信等不同应用介绍各种Arduino模块在pcDuino上的使用方法。第四篇为应用篇,包括第13~18章,涉及网络应用、图像处理、语音控制和集群等领域的应用,并遵循传统嵌入式开发流程,介绍Boot Loader、Linux Kernel和RootFS的制作方法,最后通过一个完整的工程应用,从硬件设计、控制接口到基于Qt的GUI开发,帮助读者熟悉完整的项目设计过程。
作译者
目录
推荐序
前言
基 础 篇
第1章 开源硬件先驱Arduino 2
1.1 Arduino介绍 2
1.2 Arduino的生态圈 5
1.3 Arduino开发方法 7
1.3.1 Arduino开发环境搭建和使用 7
1.3.2 实例:Hello Arduino——用Arduino控制LED 13
1.4 Arduino的局限性 17
第2章 pcDuino快速开发入门 18
2.1 pcDuino硬件平台介绍 18
2.1.1 pcDuino系列板卡介绍 18
2.1.2 pcDuino接口及外设 22
2.2 使用Arduino IDE编写pcDuino程序 24
2.3 命令行下的C/C++开发方式 30
2.3.1 建立C语言开发环境 30
2.3.2 命令行方式的Sketch设计 33
2.3.3 pcDuino下的代码调试 34
前言
本书是针对开源硬件板卡pcDuino的开发使用教程,以快速满足读者的实际应用需求为主,辅以较少的理论讲解。本书最大的作用是衔接两种开源硬件的开发和应用方法,使读者同时从Arduino的易用性和Mini PC的性能中受益,方便进行简单快捷的系统原型开发。本书适合从学习单片机向ARM过渡、希望了解嵌入式开发的在校学生,想要快速搭建系统原型的工程师,以及熟悉Arduino并渴望通过性能更强大的硬件来实现设想的DIYer。
本书共分为四篇,由浅入深地讲解pcDuino的开发使用。
第一篇为基础篇,包括第1~3章。本书摒除了冗繁的背景知识和理论介绍,第1章让没有接触过Arduino的读者对这款开源硬件有一个概括性的了解,然后讲解Arduino的编程步骤。第2章承接第1章的内容,通过采用与Arduino类似的开发风格直接阐述pcDuino的编程方法,使读者快速掌握pcDuino的开发流程。第3章则介绍pcDuino作为Mini PC的使用方法,这种使用方法普遍适用于一般的ARM+Linux嵌入式系统。
第二篇为编程语言篇,包括第4~6章。作为pcDuino开发方法的补充,依次介绍使用Python、JavaScript语言以及在Android平台上对pcDuino进行编程的方法。由于本书的主线是Arduino,同时底层库函数的调用大同小异,这部分内容只是简单的介绍,给读者一个概览。
第三篇为模块篇,包括第7~12章。该篇从pcDuino的外设接口讲起,针对每个接口给出实际硬件和软件例子,让读者掌握接口的使用方法。之后根据传感器、显示输出、电机驱动、无线通信等不同应用介绍各种Arduino模块在pcDuino上的使用方法。通过在丰富的Arduino模块之间进行组合,读者已经能够设计出常见的嵌入式软件系统了。
第四篇为应用篇,包括第13~18章。涉及网络应用、图像处理、语音控制和集群等领域的应用,这些Mini PC的应用是Arduino无法企及的。第17章遵循传统嵌入式开发流程,介绍Boot Loader、Linux Kernel和RootFS的制作方法。第18章为完整的工程应用,从硬件设计、控制接口到基于Qt的GUI开发,可以帮助读者熟悉完整的项目设计过程。
本书能够成书,要感谢刘靖峰博士的大力推动和LinkSprite团队的资源支持。同时要感谢机械工业出版社的张国强编辑,他也为本书的写作提供了很大帮助。最后感谢家人和女友在生活上的支持,鼓励我专心写作。作者才疏学浅且时间仓促,书中难免有疏漏甚至错误之处,还望广大读者不吝赐教。
序言
与同龄孩子不一样,我从七岁开始就在叔叔的指导下玩无线电。这种从童年培养起来的兴趣一直伴随我去美国读博士。可能很多人无法相信,在卡内基-梅隆大学读博士期间很多实验装置都是我自己用电烙铁焊的。博士毕业后,我先后做过硬盘、蓝光主控芯片、电力载波芯片,这期间仍然需要通过电烙铁自己搭建一些原型电路。我对电子的兴趣没有随岁月消逝而逐渐淡化,反而有过之而无不及,更加痴迷。朋友们在业余时间娱乐的时候,我却躲在家里鼓捣我的一些电子产品创意,并用烙铁实现这些创意的原型。手被烙铁烫伤基本都是家常便饭,家里的桌子也被烧了几个大洞。我无数次在想,要是有人能帮我做这些基础性的工作,让我能把精力聚焦在创意上,那该多爽啊。我那时候从来没有意识到,这些想法竟然会是促使我义无反顾去做pcDuino的催化剂。
即便我自己创业,我也只认为鼓捣些电子产品的创意是自己的业余爱好。所以,我后来创业的项目,用现在的网络流行语,是去做了高端、大气、上档次的通信芯片,我对电子产品的兴趣一如既往。我和创业伙伴们经过两年没日没夜的艰苦奋斗,推出了一款电力载波芯片,我本人也因此入选国家“千人计划”。然而,随后的市场推广却让我们大跌眼镜,我们认为绝佳的产品没能得到市场所认可,我们曾经一度到了弹尽粮绝的地步。在绝境中,我们几个创业伙伴意外发现当初为了推广芯片做的标准接口模块的销路不错。这些标准接口模块正是我们为了不用电烙铁就能很快实现客户想要的产品功能而设计的。彼时,被《连线》杂志前主编克里斯·安德森誉为新工业革命运动,而且是由一些臭皮匠推动的创客运动正以星火燎原之势兴起。开源硬件Arduino红遍美国。
创客运动的兴起,开源硬件和3D打印机的普及,让我埋藏在心里,用一种平台让别人聚焦创意的想法重新荡起涟漪。我和伙伴们花了几个月的时间认真研究了Arduino和Raspberry Pi以及我们之前设计的各种模块。我们发现,Arduino的兼容性和开放性非常好,但是处理器的处理能力很有限。而Raspberry Pi的处理器能力中等偏上,却没有Arduino那样一个拥有成千上万扩展模块的生态系统。于是,在2012年的平安夜,我们有了一个新的构想:做一个集二者优点于一身的新平台,我们把它命名为pcDuino。这是一个集娱乐、教育、DIY为一体的卡片电脑,但它不是一个最终的产品。它是一个连接数字世界和现实世界的平台。如果打个比方,普通电脑可能只是一个大脑,而pcDuino不仅是一个大脑,它还是一个实现创意的工具,装上轮子它就能走,插上翅膀它就能飞。天南海北的创客们基于pcDuino的创意五花八门,这些创意有智能家居中的网关、大数据一体机、点读机、云终端、潜艇模型(真正能下潜的模型)、3D打印机,甚至连NASA也在用pcDuino,尽管我们到现在也不知道他们用pcDuino在做什么,我想这正是pcDuino的价值所在。它是一个开放的工具和平台,也是一个取之不尽用之不竭的资源宝库,让创意的提出者把更多的精力聚焦在创意本身。
潇海的这本书是目前全世界第一本介绍pcDuino的书。这本书是一个pcDuino的开发宝典,囊括了pcDuino开发的方方面面。软件工程师可以在这本书的引导下,很轻松地学习和掌握常用硬件和各种传感器的使用技巧。硬件工程师可以在这本书的引导下,迅速地掌握软件开发的基本知识。我们正处在一个软硬件相结合的时代,这本书为从事软件开发和硬件开发的人搭建了一座互相沟通的桥梁。如果时光倒回20年,在我大学毕业的时候能有pcDuino和这样的一本开发指南,我的世界可能会大不一样。感谢潇海把pcDuino介绍给更多需要它的读者。
刘靖峰
pcDuino创始人,Linksprite董事长
2014年4月于科罗拉多博尔德
书摘
第1章开源硬件先驱Arduino
第2章pcDuino快速开发入门
第3章玩转Mini PC
第1章
开源硬件先驱Arduino
1.1Arduino介绍
Arduino(见图1-1)是致力于电子产品原型设计的一种开源工具,有别于家用计算机,Arduino的目标是开发可以更加方便感知和控制现实世界的计算机系统。Arduino包括一块包含微控制器的简单电路板,以及用于为电路板进行软件编程的一套集成开发环境(即Arduino IDE)。Arduino可以用于与现实世界进行交互,通过传感器和开关感知环境变化和用户的操作,并通过控制电灯、扬声器、电机来改变光线、声音和运动。Arduino可以作为一台微型计算机独立工作,也可以与通用计算机通信并受其控制。
图1-1Arduino标识
很多初识Arduino的朋友都会困惑于它的发音。这个单词来自意大利语,可以译为“强大的朋友”,常见的英语发音为阿德伊诺。它源于意大利伊夫雷亚交互设计学院(Interaction Design Institute Ivrea)在2005年开展的一项学生计划,当时的学生使用一款售价100美元的昂贵设备BASIC Stamp进行编程开发。后来这所学校的教师Massimo Banzi(见图1-2)连同另外两人一起开始着手设计一款廉价并且使用简单的开发板,数天后,代码和电路板相继完工,这块板子就被命名为Arduino。
图1-2Arduino创始人之一Massimo Banzi
此后设计人员不断地对Arduino进行改进,虽然最终学校倒闭了,但是Arduino这一产品却延续了下来。因为Arduino是开源的(遵循一种CC开源协议),你可以在其基础上进行修改,并出售自己设计的产品,但如果要使用Arduino这一标识,就需要支付一定的版权费用。
目前Arduino的硬件已经演进出多种版本,包括简易的Arduino Uno(见图1-3)、基于ARM芯片的Arduino Due、集成以太网和WiFi的Arduino Yun(见图1-4)以及使用TI AM533x系列Cortex-A8芯片、功能强大的Arduino Tre(见图1-5)等。
图1-3Arduino Uno
图1-4Arduino Yun
图1-5Arduino Tre
Arduino的编程语言和开发环境基于Wiring和Processing架构。Processing包含了发展自Java的编程语言和开发环境,而Wiring是用于微控制器的一种开源编程框架,可以让用户编写跨平台的程序,这些代码无需修改就可以在不同的微控制器和电路板上运行。Arduino的开发环境(见图1-6)中集成了很多代码库,通过使用库文件Maker(创客)可以绕开“如何学习使用不熟悉的外围模块”这一令人头疼的问题,比如当你需要为自己的工程添加一个点阵式的LCD显示器,用来显示一些数据和菜单,只要购买或自制一块LCD Shield,然后在IDE中添加LiquidCrystal库,就可以通过几行简单的代码在LCD上显示文字。
图1-6Arduino IDE
Arduino可以让没有太多编程基础的人做出很酷的东西,这或许正是它的魅力所在。
1.2Arduino的生态圈