具体描述
《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
第3章 玩转mini pc 37
3.1 pcduino操作系统安装指南 37
3.1.1 ubuntu和lubuntu 37
3.1.2 安装ubuntu操作系统 39
3.1.3 安装android操作系统 41
3.2 在pcduino上使用ubuntu系统 42
3.3 通过usb接口扩展pcduino功能 46
3.3.1 使用usb无线网卡连接wifi 47
3.3.2 使用usb蓝牙适配器连接蓝牙设备 50
3.3.3 使用usb声卡输入、输出声音 52
编程语言篇
第4章 基于python的开发方法 56
4.1 python开发环境搭建及使用 56
4.2 实例:web页面控制gpio 59
第5章 基于javascript的开发方法 63
5.1 javascript开发环境搭建及使用 63
5.2 使用cloud9 ide 66
第6章 android系统下的开发方法 68
6.1 使用命令行方式进行开发 68
6.2 使用qt for android进行开发 70
模 块 篇
第7章 pcduino外设编程攻略 78
7.1 uart 78
7.1.1 uart接口原理 78
7.1.2 uart程序设计:通过usb-to-uart模块与pc通信 79
7.2 i2c 82
7.2.1 i2c接口原理 82
7.2.2 i2c程序设计:操作rtc模块 83
7.3 spi 88
7.3.1 spi接口原理 88
7.3.2 spi程序设计:操作spi flash 89
7.4 pwm 91
7.4.1 pwm原理 91
7.4.2 pwm程序设计:pwm呼吸灯 91
7.5 adc 93
7.5.1 adc接口原理 93
7.5.2 adc程序设计:电位器的使用 95
7.6 外部中断 97
7.6.1 中断控制原理 97
7.6.2 外部中断程序设计:中断按键操作 98
第8章 基础i/o模块 100
8.1 输入模块 100
8.1.1 电容式触摸按键 100
8.1.2 倾斜开关 103
8.1.3 adc按键 105
8.1.4 joystick 106
8.2 输出模块 109
8.2.1 继电器 109
8.2.2 蜂鸣器 111
8.2.3 大电流驱动、电平转换 114
第9章 显示模块 117
9.1 七段数码管 117
9.2 点阵式led 120
9.3 点阵式lcd 124
9.4 tft lcd 126
第10章 电机控制 128
10.1 mos管驱动直流电机 128
10.2 h桥驱动直流电机 130
10.3 舵机控制 136
10.4 步进电机控制 138
第11章 传感器 142
11.1 温湿度传感器 142
11.2 红外热释电传感器 145
11.3 超声波传感器 148
11.4 九轴运动传感器 150
11.4.1 三轴加速度传感器 152
11.4.2 三轴陀螺仪传感器 155
11.4.3 三轴磁阻传感器 159
11.4.4 气压传感器 162
11.5 光照传感器 167
11.6 气体传感器 168
11.7 利用dust sensor测量pm2.5 170
第12章 无线模块 175
12.1 gps模块 175
12.2 nfc/rfid模块 178
12.3 gprs/gsm模块 182
12.4 zigbee模块 187
应 用 篇
第13章 pcduino网络应用 196
13.1 wifi ap及3g无线路由器 196
13.2 网络家庭气象站 200
第14章 pcduino下使用opencv 207
14.1 opencv环境搭建及使用 207
14.2 实例:使用opencv进行人脸识别 209
第15章 pcduino上实现siri语音控制 212
15.1 siri proxy安装及使用 212
15.2 通过自定义插件控制硬件 214
第16章 pcduino上实现hadoop集群应用 217
第17章 从零开始构建pcduino嵌入式系统 222
17.1 pcduino启动流程 222
17.2 为pcduino搭建交叉编译环境 224
17.3 编译并烧写u-boot 225
17.4 linux内核的配置与编译 227
17.5 制作根文件系统 229
第18章 pcduino心电监测仪 232
18.1 心电采集模拟前端设计 232
18.2 心电监测软件设计 236
18.2.1 在ubuntu系统上搭建qt环境 236
18.2.2 数据采集部分设计 241
18.2.3 qt gui设计 245
· · · · · · (收起)
读后感
用户评价
从结构布局和逻辑递进的角度来看,这本书的设计简直是教科书级别的典范。它并没有采用那种简单的功能模块堆砌的方式,而是构建了一个非常清晰的、由浅入深的知识金字塔。开篇部分专注于环境搭建和最基础的硬件交互,为后续的复杂应用打下了坚实的地基。然后,它逐步引入了操作系统相关的概念,讲解了多任务调度和资源同步机制,这些内容通常是其他书籍中最容易让人迷失的部分,但在这本书中,作者通过巧妙的比喻和流程图,将这些抽象的并发概念可视化了。最让我印象深刻的是关于文件系统的章节,它不仅仅教你如何读写文件,还深入探讨了如何设计一个健壮的日志记录系统,考虑了断电保护和数据一致性的问题。这种对系统级思维的培养,远超出了普通入门手册的范畴。它强迫你从一个更宏观、更注重鲁棒性的角度去看待你的代码和设计,教会你如何构建一个能够长期稳定运行的“产品”,而不是一个只能在演示板上跑起来的“Demo”。这种系统化的知识构建,是真正区分“会用”和“精通”的关键所在。
说实话,我对市面上那些“速成”类技术书籍一直抱持着怀疑态度,很多都像是把一堆API文档简单拼凑起来的“缝合怪”,读完后感觉自己好像学了一堆东西,但真到项目里却寸步难行。但这次的阅读体验完全不同。这本书最让我佩服的是它的实战深度和广度。它没有停留在“Hello World”的初级阶段,而是直接带你进入到一些相当有挑战性的应用场景中去。比如,关于网络通信模块的讲解,作者并没有简单地介绍TCP/IP协议栈的理论,而是直接给出了一个基于该平台的完整数据采集和远程监控的解决方案框架,从硬件选型到协议栈的定制化配置,步骤详尽到连我这种有点洁癖的完美主义者都挑不出大毛病。更值得称赞的是,书中很多示例代码都经过了充分的优化,注释清晰到让你能感受到作者写下每一行代码时的那种严谨和耐心。我尤其欣赏它对“性能瓶颈”的讨论,很多书会避开这些复杂的问题,但这本书却直面挑战,分析了在资源受限环境下,如何通过算法优化和内存管理技巧来榨取每一分系统的性能。这种“实战派”的作风,让我觉得手里拿的不再是一本书,而是一个经过无数次试错和打磨的“工程蓝图”。对于那些真正想把产品做出来,而不是仅仅停留在学习阶段的人来说,这本书的价值是无法估量的。
天呐,我最近入手了一本关于嵌入式开发的宝典,那叫一个爱不释手!说实话,我之前对这类技术书籍总是抱着一种敬而远之的态度,总觉得里面充斥着晦涩难懂的专业术语和复杂的电路图,能啃下来的估计都是天才。然而,这本书彻底颠覆了我的固有印象。它的排版设计非常人性化,色彩搭配得当,关键是那些理论知识点的讲解,简直是化繁为简的大师手笔。比如,书中对I/O口操作的讲解,不是干巴巴地罗列寄存器地址,而是结合了实际的LED闪烁案例,每一步的逻辑推导都清晰得仿佛有人在耳边手把手教你。我记得有一次,我被一个中断处理的问题困扰了好几天,翻遍了网络资料都没个头绪,结果在书中某个看似不起眼的角落里,找到了一个对比不同中断触发方式的表格,瞬间茅塞顿开!这本书的厉害之处就在于,它深谙初学者的痛点,总是能在最恰当的时机给出最精准的“助推器”。它不仅仅是告诉你“怎么做”,更重要的是解释了“为什么这么做”,这种对底层原理的深入剖析,让我感觉自己不再是简单地复制粘贴代码的“码农”,而是真正理解了硬件与软件交互的魔力。对于那些想从理论的云端真正落地到实践的硬核玩家来说,这本书绝对是不可多得的引路明灯,它构建的知识体系非常扎实,让你看了之后,再去看其他资料时,都有种“原来如此”的豁然开朗感。
我必须承认,在阅读这本书之前,我对特定硬件平台的学习往往感到非常受限,总觉得资料要么太官方、太晦涩,要么就是社区里零散且质量不一的小贴士。但这本书的出现,就像是为我手中的开发板解锁了全部的潜能。它对平台特性的挖掘简直到了“变态”的程度。很多官方文档里一笔带过的功能点,在这本书里都有非常详尽的实例和性能分析。比如,关于低功耗模式的管理,它不仅仅是介绍了进入和退出的命令,更细致地对比了不同待机模式下的功耗曲线和唤醒延迟,并给出了一个智能电源管理的算法示例,这个算法考虑到了负载的周期性和电池的健康状态。这让我意识到,开发一个靠谱的嵌入式设备,远不止于实现功能,更在于对资源(时间、电能、内存)的精细化控制。这本书提供的是一种“极致优化”的思路,它鼓励读者去挑战硬件的边界,去榨取每一毫瓦的能量效率。读完之后,我感觉自己像是从一个只知道走路的“行人”,瞬间升级成了一个懂得驾驶和维护飞机的“飞行员”,对整个系统的控制感和掌控感提升了一个量级。这本书无疑是一部集大成之作,对于追求卓越和深度优化的工程师来说,它是一笔宝贵的财富。
这本书的语言风格简直就像一位经验丰富的老前辈在茶余饭后与你闲谈,充满了生活气息和真诚的分享。它打破了传统技术书籍那种冰冷、板着的脸孔,读起来一点都不费劲,甚至有时候会忍不住会心一笑。比如,在描述某个底层驱动编写过程中遇到的“坑”时,作者会用一种近乎自嘲的口吻描述自己当初是如何被一个莫名其妙的Bug折磨得焦头烂额,然后娓娓道来自己是如何通过细致的排查最终找到症结所在。这种叙事方式,极大地拉近了作者与读者的距离,让我感觉我不是在阅读一个冷冰冰的说明文档,而是在跟一个真正经历过风雨的工程师交流经验。此外,书中对一些概念的引入,往往不是突兀地抛出定义,而是先设置一个场景或者引出一个实际问题,让读者带着“解决问题”的动机去学习这个新概念,这种以“问题驱动”的学习路径,极大地激发了我的学习主动性。它让我明白,技术学习的乐趣,往往来源于解决那些看似无解的难题,而这本书,巧妙地将这些难题包装成了有趣的挑战。每次合上书本,心里都涌起一股强烈的冲动:赶紧打开开发板,亲手试试书里说的这个技巧!
本身pcduino并不复杂,知识点清晰,安卓部分太简略
还不错。虽然不深,但是涉及很广。很适合初学者读一读。
本身pcduino并不复杂,知识点清晰,安卓部分太简略
还不错。虽然不深,但是涉及很广。很适合初学者读一读。
还不错。虽然不深,但是涉及很广。很适合初学者读一读。