新書推薦:
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:NT$
347.0
《
心跳重置
》
售價:NT$
269.0
《
云中记
》
售價:NT$
347.0
《
中国古代妇女生活(中国古代生活丛书)
》
售價:NT$
214.0
《
你的认知正在阻碍你
》
售價:NT$
296.0
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:NT$
356.0
|
內容簡介: |
本书重点介绍利用ARM?MPEA-平台开发嵌入式系统和物联网,其中NXP LPC1768和K64 F具有快速微控制器、各种数字和模拟IO、各种串行通信接口和易于使用的基于网络的编译器等强大特性,是嵌入开发工程师*受欢迎的工具之一。包含大量的原创开发技术和案例,是开发项目的实用指南。
|
關於作者: |
佩里·肖(Perry Xiao)博士,英国伦敦南岸大学工程学院副教授,英国Biox Systems有限公司的董事和联合创始人。他是特许工程师、技术学会会士和高等教育学会会士。近20年来他一直开设电子学、软件、计算机网络、无线通信对象等本科和研究生课程。他获得2项英国专利应用,发表了100余篇学术论文,担任9个期刊的编审,获得了近100万英镑的研究基金。
|
目錄:
|
译者序
前言
第一部分 Arm? Mbed?和物联网
第1章 Arm? Mbed?2
1.1 什么是嵌入式系统2
1.2 微控制器和微处理器3
1.3 ARM?处理器架构6
1.4 Arm? Mbed?系统8
1.4.1 NXP LPC176810
1.4.2 NXP LPC11U2413
1.4.3 BBC Micro:bit14
1.4.4 Arm? Mbed?以太物联网入门工具包16
1.5 小结20
1.6 问题20
第2章 物联网21
2.1 什么是物联网21
2.2 物联网如何运行22
2.3 物联网如何改变我们的生活22
2.4 物联网应用前景24
2.4.1 家居24
2.4.2 医疗25
2.4.3 交通25
2.4.4 能源25
2.4.5 制造25
2.4.6 环境26
2.5 小结26
2.6 问题26
第3章 物联网驱动技术27
3.1 传感器和致动器27
3.2 通信27
3.2.1 无线射频识别(RFID)和近场通信(NFC)27
3.2.2 蓝牙低功耗(BLE)28
3.2.3 可见光通信(LiFi)28
3.2.4 6LowPAN29
3.2.5 ZigBee29
3.2.6 Z-Wave29
3.2.7 LoRa30
3.3 协议30
3.3.1 超文本传输协议30
3.3.2 WebSocket31
3.3.3 消息队列遥测传输32
3.3.4 受限应用层协议33
3.3.5 可扩展消息处理现场协议33
3.4 Node-RED33
3.5 平台35
3.5.1 IBM Watson物联网——Bluemix35
3.5.2 Eclipse物联网36
3.5.3 AWS物联网37
3.5.4 微软Azure物联网套件37
3.5.5 谷歌云物联网38
3.5.6 ThingWorx38
3.5.7 GE Predix39
3.5.8 Xively39
3.5.9 macchina.io39
3.5.10 Carriots39
3.6 小结40
3.7 问题40
第二部分 Arm? Mbed?开发
第4章 Arm? Mbed?入门42
4.1 简介42
4.2 所需硬件和软件43
4.2.1 硬件43
4.2.2 软件43
4.3 你的第一个程序:Blinky LED46
4.3.1 将Mbed连接到一台计算机46
4.3.2 单击“mbed.htm”登录46
4.3.3 添加FRDM-K64F平台到编译器46
4.3.4 导入一个已有程序48
4.3.5 编译、下载并运行程序49
4.3.6 下载并运行其他已有程序49
4.4 创建你自己的程序50
4.5 CC++编程语言50
4.6 函数与模块化编程50
4.7 管理平台53
4.8 复制你的程序55
4.9 搜索和替换56
4.10 编译可在多平台运行的程序57
4.11 删除你的程序58
4.12 灾备流程58
4.13 更新固件58
4.14 帮助60
4.15 小结61
第5章 输入和输出62
5.1 数字输入和输出62
5.1.1 数字输入62
5.1.2 数字输出64
5.1.3 总线输入(BusIn)、总线输出(BusOut)、总线输入和输出(BusInOut)69
5.2 模拟输入和输出70
5.2.1 模拟输入70
5.2.2 模拟输出71
5.3 脉宽调制74
5.4 加速计和磁力计76
5.5 SD卡82
5.6 本地文件系统(LPC1768)84
5.7 中断85
5.8 小结86
第6章 数字接口87
6.1 串行接口87
6.2 串行外围接口90
6.3 内部集成电路91
6.4 控制器局域网93
6.5 小结95
第7章 网络与通信96
7.1 以太网96
7.2 以太网网页客户端和网页
服务器100
7.3 TCP接口和UDP接口103
7.4 WebSocket106
7.5 WiFi109
7.6 小结112
第8章 数字信号处理和控制113
8.1 低通滤波器113
8.2 高通滤波器116
8.3 带通滤波器118
8.4 带阻滤波器和陷波滤波器120
8.5 快速傅里叶变换123
8.6 比例积分微分控制器133
8.7 小结136
第9章 调试、计时器、多线程和实时编程137
9.1 调试137
9.2 计时器、超时、断续器、时间138
9.3 网络时间协议142
9.4 多线程和实时编程143
9.5 小结148
第10章 库与程序149
10.1 导入库和程序149
10.2 导出你的程序150
10.3 编写你自己的库152
10.4 发布你的库156
10.5 发布你的程序157
10.6 版本控制160
10.7 协作166
10.8 更新你的库和程序171
10.9 小结172
第三部分 物联网入门工具包和物联网应用
第11章 Arm? Mbed?以太物联网入门工具包174
11.1 128×32 LCD174
11.2 控制杆175
11.3 两个电位计176
11.4 扬声器177
11.5 三轴加速计178
11.6 LM75B温度传感器179
11.7 RGB LED179
11.8 小结180
第12章 Arm? Mbed? 物联网应用181
12.1 基于互联网的温度监测181
12.2 智能照明189
12.3 声控门禁194
12.4 RFID读写器200
12.5 基于IBM Watson Bluemix的云示例204
12.5.1 IBM快速入门服务205
12.5.2 IBM注册服务(Bluemix)206
12.5.3 将IBM Watson物联网服务添加到应用中213
12.5.4 将Mbed设备添加到Watson物联网架构216
12.5.5 将证书添加到Mbed设备218
12.5.6 将IBM物联网Watson应用连接到Mbed设备220
12.5.7 从IBM物联网Watson应用发送命令到Mbed板222
12.5.8 更多关于Node-RED225
12.6 实时信号处理230
12.7 小结235
第四部分 附录
附录A 示例代码238
附录B HiveMQ MQTT代理241
附录C 树莓派Node-RED250
附录
|
內容試閱:
|
很多年前第一次从同事那里拿到Arm? Mbed? LiB工具的时候,我的激动之情难以掩饰。它是一个由ARM大学计划捐赠的NXP LPC1768开发板。Arm? Mbed?的主要特征是可通过一个网页浏览器在线编写和编译代码,这让我耳目一新。我毕生都在用各种微控制器。在20世纪80年代,我做本科毕业设计时,我研究的课题是使用Intel 8051单芯片微控制器进行激光能量控制。这其中的概念非常简单:从激光能量监测器上读取电压值,并与期望值进行对比,计算所需调整值后反馈给激光器,从而增加或减少激光输出。但是我们必须设计和制作自己的印制电路板,编写代码,并在8051微控制器上运行。那时,单片机编程不是一项简单的任务,需要用汇编语言编写程序。那时我们经常在实验室通宵调试代码。因此我曾使用过许多基于微控制器的嵌入式系统,可以说经历很丰富。有些嵌入式系统使用非常不方便,必须下载软件、下载工具链等。用我学生的话来说,得要一名博士生才能使编译器软件得以运行。代码也很复杂,需要配置寄存器和配置端口。即使生成无数行代码都不够!
令我印象最深刻的两个嵌入式系统是树莓派和Arduino。树莓派价格优惠,规格紧凑,只有信用卡那么大。这是一个很好的用于学习计算和编码的工具包,它采用的是基于Debian的、完整的Linux操作系统和图形用户界面。但是对于很多学生项目来说,并不需要一个完整的操作系统,而且缺少模数转换器和数模转换器也是很大的缺点。Arduino的价格和规格也很有优势,但令我印象最深刻的是它在硬件和软件上的简易性。我曾经读过很多所谓的“24小时”书,而Arduino是真正的你能够在24小时内就学会的东西。它就是那么简单。但是,它只有有限的存储容量,也就意味着你不能写太长的程序,10位模数转换器在诸多应用中常被证明是不够用的。
因此,当我向学生们介绍Arm? Mbed? NXP LPC1768开发板时,他们很快就喜欢上了它。他们喜欢基于网页的编译器。正是因为不需要在电脑上下载和安装任何软件就可以运行,它让生活变得简单了许多,代码也更简单和易于理解,真是太棒了。正如Arm? Mbed? 网站上所述,只需30秒即可从盒子里获取开发板,并运行一个应用,无须安装任何软件!
Arm? Mbed? NXP LPC1768是最常用的单片机开发板之一,被学生和电子爱好者广泛应用。它基于32位ARM? Cortex? -M3微控制器,拥有96 MHz主频速度,512 KB闪存,32 KB内存,而且最重要的是,它有12位数模转换器。相比于Arduino,它的功能更强大,运行速度更快。它还有很多类型的接口,包括以太网、USB、CAN、SPI、I2C、DAC、PWM,以及其他IO接口。
但是,32位ARM? Cortex? -M3微控制器已经逐渐走向了被淘汰的边缘,它将被32位ARM? Cortex? -M4微控制器取代。因此本书将重点关注新型的、令人期待的Arm? Mbed?以太物联网入门工具包,包括Arm? Mbed? NXP FRDM-K64F开发板和一个应用板。Arm? Mbed? NXP FRDM-K64F是新一代旗舰开发板,基于ARM? Cortex? -M4微控制器,CPU频率高达120 MHz,1024 KB闪存,256 KB内存,并惊人地拥有2个16位模数转换器。它比NXP LPC1768速度更快,功能更强大。它还有数模转换器和计时器,以及其他接口如以太网、非透明USB设备和串行接口。Arm? Mbed?以太物联网入门工具包是一个基于云的开发工具包,由ARM公司和IBM公司联合开发。它可为用户提供灵活的体验,用户可以顺畅地从开发板的传感器上发送数据到IBM云。它可以让用户通过IBM BlueMix平台进入IBM云应用。它尤其适合没有特定嵌入式或网页开发经验的用户,因为它提供了一种学习新理念和创建工作原型的平台。用户还可以对入门工具包硬件进行修改,以便满足个性需求。
由于拥有后向兼容性,许多示例代码也适用于NXP LPC1768开发板及其Mbed应用板。
在编写本书的时候,Arm? Mbed?刚发行了最新版本Arm? Mbed?操作系统5.7,这个版本与之前的Mbed 操作系统3.0和2.0相比,有很多变化。本书主要基于Arm? Mbed?操作系统5.7,关于该新操作系统的更多详情可参考Arm? Mbed?文档网站(https:os.mbed.comdocs)。
我非常喜欢运用Arm? Mbed?开发板,希望你们也能喜欢。
本书结构
本书旨在教授学生如何运用Arm? Mbed?开发板设计和开发嵌入式系统以及物联网应用。本书分为四个部分。
第一部分:Arm? Mbed?和物联网(第1~3章),介绍嵌入式系统、微控制器和微处理器、Arm?架构和Arm? Mbed?系统。同时对物联网进行了介绍,包括物联网应用和物联网驱动技术。
第二部分:Arm? Mbed?开发(第4~10章),介绍如何入门Arm? Mbed?开发,以及如何进行模拟输入输出、数字输入输出、通信接口、调试、在线库和项目管理。
第三部分:物联网入门工具包和物联网应用(第11~12章),介绍Arm? Mbed?以太物联网入门工具包和物联网应用实例。
第四部分:附录,包括附录A(示例代码)、附录B(HiveMQ MQTT代理)、附录C(树莓派Node-RED)、附录D(字符串和数组运算)和附录E(常用在线资源)。
读者对象
本书适合嵌入式系统开发工程师、电子工程专业本科生或研究生,以及电子爱好者阅读。读者需知晓一些基本的计算机运行原理,并能够很好地使用计算机,如打开电脑、登录、运行一些程序和从USB存储器与计算机上双向拷贝文件。
读者需曾接触过一些电子器械,如电路试验板、电线、电阻器、电源和LED。读者还需有一些编程经验(最好是CC++,不过其他语言也可以),了解基本的语法、不同类型的变量、条件选择、循环和子程序。若还拥有一些关于微控制器的知识和经验更好,不过这不是必需的。
最后,读者需了解一些关于计算机网络和互联网的基本概念,如理解IP地址和端口号码的概念,知道如何找到一台计算机的IP地址,能够使用一些常用的互联网服务,如万维网、邮箱、下载上传文件、在线音频、在线视频,甚至一些云服务。
本书既可用作核心教材,也可用作背景阅读材料。
建议先读材料
电子学
Electronics All-in-One for Dummies, 2nd edition, Doug Lowe, ISBN: 978-1-119-32079-1, March 2017.
CC++编程:
Beginning Programming with C for Dummies, Dan Gookin, ISBN: 978-1-118-73763-7, November 2013.
C++ Primer, 5th edition, Stanley B. Lippman, Josée Lajoie, Barbara E. Moo, Addison Wesley, ISBN: 978-0-321-71411-4, August 2012.
计算机网络和互联网:
Computing Fundamentals: Digital Literacy Edition, Faithe Wempen with Rosemary Hattersley, Richard Millett, Kate Shoup, ISBN: 978-1-118-97474-2, August 2014.
Understanding Data Communications: From Fundamentals to Networking, 3rd edition, Gilbert Held, ISBN: 978-0-471-62745-6, October 2000.
关于所需设备
学习本书,你需要准备:
Arm? Mbed?以太物联网入门工具包
NXP FRDM-K64F开发板
Mbed应用板
带跨接线的电路试验板
各种传感器
数字或模拟示波器(可选)
NXP LPC1768开发板及其应用板(可选)
树莓派(http:www.raspberrypi.org)(可选)
Java JDK软件(http:www.oracle.comtechnetworkjavajavasedownloadsindex.html)
Python软件(http:www.python.orgdownloads)(可选)
致谢
诚挚地感谢Wiley出版社给我这次机会,也感谢Ella Mitchell的坚持和耐心,使得本书得以面世。
配套示例
本书示例代码见华章图书官网http:www.hzbook.com。
|
|