首页>参考读物>电子电工>电子工程

例说XBee无线模块开发
作者 : (美)Jonathan A. Titus 著
译者 : 程晨 译
出版日期 : 2014-03-20
ISBN : 978-7-111-45681-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 265
开本 : 16
原书名 : The Hands-on XBEE Lab Manual: Experiments that Teach you XBEE Wirelesss Communications
原出版社: Elsevier (Singapore) Pte Ltd
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

这是一本XBee模块的入门及深入的实战型图书;它教会工程师如何在自己的设计中采用Xbee模块。
和其他书不一样的地方是作者采用了22个实验,让读者由浅入深,在动手过程中理解XBee模块的使用。每一个实验都包含,模块的配置,模块的相应功能参数介绍,应用背景,需要的控制器和软件。实验都包含了配置,建立,验证以及接口设计等完整过程。

图书特色

首本针对业界最流行的ZigBee无线模块开发的书。
22个实例引导读者快速掌握XBee系列无线模块的开发。
提供详细的设备清单和程序代码,可操作性极强。

例说XBee无线模块开发
The Hands-on XBee Lab Manual
Experiments that Teach you XBee
Wireless Communications
[美] Jonathan A. Titus 著 程晨 译

要获取实践知识,你需要亲自动手,一步一步地完成XBee模块实验。
本书主要特点
唯一一本以实践方式讲述XBee的书,分步指导你快速掌握XBee。
深入解读数据手册,快速获取所需信息,节省时间。
包含调试及测试信息,还有可下载的配置文件和完整的源代码解释实验操作。

本书利用分步讲解的方式,带领读者学习大量的XBee应用实验。
每一章都包含模块的搭建、配置信息,探讨了模块的功能和容量,并介绍了模块控制通信相关的微控制器和软件使用方式。实验介绍了模块网络的搭建、网络中模块的识别和一些传感器接口设计。
本书以实践的方式讲述了XBee模块基本的功能和潜在应用,并指导工程师们在其网络和嵌入式系统中加入这一技术。

作者简介
Jonathan A. Titus 是一位自由技术撰稿人、编辑和设计者。目前居住于美国犹他州。曾担任《测试与测量世界》和《EDN》杂志的编辑主任。他是世界上第一台个人电脑DIY套件(Mark-8)的发明者,这个套件目前收藏于斯密森学会。

前:
XBee模块是美国Digi公司的ZigBee模块产品,XBee是系列产品的名称。XBee模块是一种远距离低功耗的无线模块,频段包含2.4G、900M、868M三种,同时可兼容802.15.4的协议。XBee模块可用于组建Mesh网络,每个模块都可以作为路由节点、协调器,以及终端节点。XBee模块内置协议栈,可通过X-CTU以及ZigBee Operator这两款软件进行调试。XBee模块的配置方式有两种,分别是AP和ATI命令。XBee模块分为嵌入式和贴片式两种,可即插即用自组网,使用起来非常方便。XBee模块的应用范围非常广泛,包括智能家居、远程控制、无线抄表、传感器、无线检测、资产管理等,同时还有对应的iDigi平台,提供各种常用的接入方式,更加方便远程控制。现在XBee模块几乎是创客们进行无线控制系统和无线传感器网络开发的首选模块。本书用22个实验引导读者掌握XBee无线模块的开发。

程晨 首本Arduino本土著作《Arduino开发实战指南:AVR篇》作者,C2D2社区的发起人,北京创客空间最受新创客欢迎的资深讲师。他是国内较早接触Arduino的单片机系统工程师,拥有丰富的Arduino应用开发和单片机系统开发实战经验,对于Arduino的架构和实现原理有着非常深入的理解和认识。他的著译作还包括:《Arduino电子设计实战指南:零基础篇》、《解析3D打印机:3D打印机的科学与艺术》、《Arduino奇妙之旅》、《AVR单片机实战:Arduino方法》。

图书前言

本书会面向那些不想深入了解无线电工程和复杂通信协议,而又想要学习如何使用迪进国际公司的热门XBee无线通信模块的读者,比如工程师、产品设计者、企业家、教师、实验室人员和学生。你可以在几分钟内给一个XBee模块上电,并让它与其他XBee模块通信。通常,在调试过程中会出现各种各样的问题,因此实验以如何使用迪进国际公司的X-CTU软件作为起始,X-CTU软件简化了XBee模块的安装和使用。你将学习如何使用单向通信从远程模块上发送模拟和数字信息。实验还解释了如何设置独立的模块之间或小型无线网中的双向通信。
  在你学习通信时,你还会学到其他书籍或应用注释里没有解释的一些知识,其中包括:使用休眠模式,让远程设备立即唤醒,如何使用脉宽调制等。后面的实验介绍了Arduino Uno和ARM mbed微控制器(MCU)模块,并提供了在PC机和远程MCU模块之间进行双向通信的代码。操作指南说明了如何使用ARM mbed或Arduino Uno。软件实验还展示了在一个小型网络里如何识别未知数量的XBee模块,以及如何获取远程的数字和模拟信息,并以有用格式呈现。记住,本书不讨论一系列工程问题,相反,它讨论关于XBee模块如何传输数字和模拟信息、如何理解这些信息、如何配置模块、如何建立模块之间的网络等。然后,你以在本书中学到的知识为基础,把你的创意应用于产品设计或搭建的项目中。
  当我开始研究如何使用XBee模块时,我在迪进网站上下载了技术手册,并且重新查看了详细说明和设置。我还在论坛和技术支持页面查找了关于如何使用XBee模块的信息。遗憾的是,技术手册描述了很多命令和操作条件,但是没有解释如何使用那些信息来做有用的东西。论坛或技术支持网站常常处理一些特殊的问题,比如“我有一个让某东西工作的问题……”、“我该如何在XBee上连接一个压力传感器?”这种类型的信息只能帮助很少的人去解决特定的问题。
  所以我决定投入XBee的“实验”里来学习模块能做什么,以及如何在没有预备知识的情况下使用它们。因此,实验解释了如何使用XBee模块与其他模块相互通信,同时把怎么通信的细节保留给每个读者。一些读者可能需要传输来自传感器的模拟信号,另外一些读者可能需要监控门或窗户上的报警开关。怎样使用模块取决于你,在经过本书的实验之后,你会知道如何来使用XBee模块。本书的这些实验不涉及ZigBee网络协议。如有需要,请查阅其他相关书籍。
  实验使用标准的XBee模块,它易于获取,而且需要的支持组件便宜。你可以在没有任何电子或编程知识的情况下进行大多数实验,不过有几个实验可能会需要编程经验,比如BASIC或C。当然,使用数字逻辑或基于面包板搭建电路的经验对这些实验也是很有帮助的。你必须阅读原理图,在面包板上安插元器件,并做出相应的连接。这在正文里会做详细的说明。
  有些描述可能看来比较基础,不过我觉得它对不熟悉电子学的人更有帮助,而且专家可以跳过那些基本信息。尽管每个单元可以作为单独的实验,但我还是建议读者从实验1开始,挨个进行后续实验。
  我推荐使用的迪进模块型号是XB24-ACI-001,它工作在2.4GHz,是工业、医疗、科学的频段,不需要许可证,遵循IEEE 802.15.4国际标准。你可以从迪进国际或遍及全球的经销商处直接购买模块。
  在某些情况下,我的XBee模块会出现意外情况,这可能是因为XBee模块的配置有错误。如果发生这种情况,你可以快速地复位模块到其出厂默认配置使它恢复正常。
  XBee模块可以响应68条命令,其中很多我从没有使用过,我怀疑大多数用户也都不会使用这些命令。一本实验书不可能涵盖每条命令,所以你可以实验你认为合适的那些命令。因为我在一个小楼房的实验室里工作,所以我没有更改“输出射频功率等级(PL)”的默认出厂设置。也没有用到相应的7条诊断命令。
  在开始实验之前,从迪进国际网站(www.digi.com)下载并打印最新的手册“XBee/XBee-PRO RF Modules”。我的手册版本是90000982_B。这个文档描述了控制命令、命令需要的参数以及参数的具体含义。
  你的装有Windows操作系统的PC机上必须装有免费的迪进X-CTU软件。该软件能够让你轻松监控XBee的状态、向XBee模块发送命令、测试与远程XBee模块的通信以及配置调试解调器设置。迪进把XBee模块的控制部分称为“调制解调器”,不过本书中将其简称为XBee设备模块。我的模块固件版本是10E6。迪进采用十六进制值表示版本号,你可以通过X-CTU软件来检查版本号。
  值得一提的是,我在使用X-CTU软件的过程中碰到了一些问题。第一个,在运行X-CTU软件之前通过USB数据线把USB转XBee适配器连接到PC机上。当我启动软件时,软件没有识别USB转XBee适配器。第二个,当我用鼠标轨迹球或滚轮在X-CTU窗口里上下移动时,X-CTU软件会意外退出。如果这时你已输入了很长的命令包,则它们会丢失。第三个,你不能在X-CTU软件里保存信息包,所以要把它们写下来。最后,如果你在X-CTU的“调制解调器”配置窗口中打开了文本框,使用鼠标轨迹球或滚轮滚动时,文本框里的选项会上下滚动而不是整个配置窗口上下滚动。
  下面是实验里的一些特殊信息。
代码下载
  可以下载实验中用到的所有代码并自由使用它们,网址如下:
  http://www.elsevierdirect.com/companion.jsp ISBN=9780123914040
  每个实验都有一个文件夹,其中包含了所需的代码或XBee配置信息,命名为“None”的文件夹表明这个实验没有相应的软件。为了节约时间,每个实验的文件夹里都包含了调制解调器配置文件,以.pro为扩展名,在X-CTU软件里可以用它来配置XBee模块的参数。如果你束手无策或模块不工作了,向X-CTU软件加载给出的配置文件,并保存到模块中。
  我的代码是开源的,我也希望读者能够修改它并与他人共享。代码包含了Excel电子表格——Packet Creator 2,它能在某些实验或微控制器代码里帮助你建立十六进制消息或数据包。你应当购买一台能够计算十六进制值的计算器,德州仪器和卡西欧有几款这样便宜的计算器。
  我会在http://www.elsevierdirect.com/companion.jsp ISBN=9780123914040上发表注释、修改、新代码和其他信息,读者也可以通过 jontitus@comcast.net直接联系我。我会尽我所能来回答问题,但是不能保证每个人都回复。在你联系我或在论坛上发表问题之前,请先在互联网、迪进技术支持页面、ARM mbed和Arduino Uno的产品支持页面上找一找与XBee相关的有用信息。
代码风格和错误检查
  我尽量保持程序和流程图的简明性,以便没有太多经验的人也能理解它们的操作。你可以按照自己的需要来随意更改软件。你可以随时把XBee模块的配置恢复为出厂设置,即使运行了一个包含错误的程序,也不可能损坏你的微控制器。C编译器能捕获语法错误,但不能捕获逻辑错误;逻辑错误一般发生在你使用了不正确的值,执行了一段错误的操作等情况下。
某些情况下我提供的正常运行代码中缺少像职业程序员那样包含错误探测和执行特定动作的步骤。
  在大多数情况下,错误探测代码会占用工作代码中很大的存储空间。我将在程序的恰当位置处放置一个“位置标识符”,并包含探测错误的注释。在彻底测试之前绝不要以为你的代码会正常运行,也绝不要假设不存在错误。我声明自己没有特别专业的编程知识,欢迎提出宝贵的建议,以帮助大家编辑更好、更高效的代码。
  我使用垂直对齐代码段和子段的编程风格,这样更容易阅读程序:

  而不是像下面格式的代码:

  这里很难识别代码段中定义的一对大括号。当然,你可以使用你想要的任意格式。
调试代码
  你可以通过在微控制器(MCU)的输出引脚上驱动LED的方法来做一些调试工作。当MCU运行到某个特定位置时,它可以点亮或熄灭LED,也可以以预设的频率闪烁。你也可以在你的代码里轻松跟踪变量,并在检查点上输出消息。ARM mbed模块提供独立的USB虚拟串口,它能将调试或测试的信息发送到你的电脑。对于ARM mbed模块,我使用Windows超级终端(Hyper Terminal)来输出这些信息。
  Arduino Uno模块有一个和主机PC连接的USB端口,但是它和板子上的串口TX和RX引脚共用,这将引起冲突,除非你在Uno串口引脚上没有连接任何设备。最新的Arduino Mega2560模块和Digilent chipKIT Uno32模块都具有额外的串口,不过我还没有使用过这些模块。
数字逻辑符号
  实验中使用的数字信号是以逻辑0或逻辑1来表示的。根据惯例,工程师通常在相应信号名称的上边采用“上横线”表示逻辑0会触发某些动作,如使能另一个数字设备、触发重启等。在文档编辑器中,字符上加上横线很不方便,因此在信号名前用前置斜线(/)表示逻辑0并触发相应的动作。例如,当/RESET信号转变为逻辑0时,将重启信号所连接的设备。又如,当输入信号LOAD转变为逻辑1时才能触发载入动作。有些作者在信号名前使用星号来代替斜线。
电路原理图
  实验和附录中的电路原理图都使用了标准的电气符号。有时,当人们画完电路然后转换为计算机绘图时会发生错误。如图I.1a所示,信号都汇集到一点,你可能会疑惑这两条信号线是相连于这一点还是一条信号线仅仅从另一条信号线上经过。为了避免混乱,实验中的电路图不使用4点连接。而是采用如图I.1b所示的3线连接。这样就避免了歧义。

图I.1  a)本书中,两条独立的线交叉并不是真正的交叉,而是“飞过”的意思,而不是4路信号连接
b)线上的点表明在A点和B点连接了3个信号。为了避免歧义,本书的原理图中只使用3线连接
Arduino Uno的间歇性问题
  在使用Arduino Uno模块的过程中我遇到了间歇性问题,因为引脚0(RX)和引脚1(TX)与串口共用了,既用来连接外部串行设备,比如XBee模块,又和主机PC上的USB接口相连用来下载程序。通常我的Arduino编译器窗口下边的文本消息窗会显示如下信息:

  Arduino Uno的故障处理向导推荐了几个解决办法,包括移除引脚0和引脚1上连接的任何设备。我觉得这一步很麻烦,因此在下载程序时我使用一个开关来断开引脚0和引脚1与外部设备的连接。我不知道Arduino希望实验人员、业余爱好者和其他人怎样重复地接通和断开引脚0、引脚1与电路之间的连接。Arduino Mega和Digilent chipKIT Uno32模块提供了额外的串口引脚,没有和PC USB接口共用。
  有时Arduino Uno编译器会“找”不到连接的Uno模块,而报告只找到COM1端口。重新连接Uno模块、按复位按钮或重新启动Uno软件都没有用。
  在后边的实验里我还偶然碰到了其他问题,例如,从Arduino Uno模块发送到主机PC串口监视器窗口中的消息在Uno编程框架里也是可见的。传送到串口监视器里的数据也会传输到任何已连接的XBee模块。这种“双重连接”意味着XBee模块“看到了”进入到“串口监视器”里的数据,这些字符串格式的数据可能无意间包含了有效但不必要的命令,或者这些字节可能会导致XBee模块返回一个错误信息包。在某些情况下,当Uno模块向主机PC发送信息后,连接到Uno上的XBee模块会出现意想不到的工作方式。那些使用Uno模块的实验包括了解决这些问题的步骤,不过稍后,重复断开和连接串口线还是变得非常麻烦。因此,建议像有关实验里描述的那样使用一个开关。
  Arduino Uno的Web站点上提供关于如何利用其他I/O引脚在MCU的代码里而不是在硬件里实现串行通信的一些信息。这些软件串行通信的限制阻止了XBee模块在这些实验中的应用。坦白地说,如果我重新写作,我会放弃Arduino Uno而使用提供有多个串口的新控制板。接下来就是关于新的32位Uno板的一些信息。
新32位Uno板
  在我完成Arduino Uno实验不久,Digilent和Microchip Technology就发布了chipKIT Uno32板,该板与Arduino Uno模块软件和硬件相互兼容。chipKIT Uno32板具有80MHz 32位处理器(PIC32MX320F128H),提供多种类型的I/O设备、128KB的FLASH存储器和16KB静态存储器。这款MCU包含两个UART,一个用来与主机PC进行USB连接,另外一个用来连接你自己的设备,比如显示器、XBee模块、微型打印机等。因此你不会再遇到串口冲突的问题了。PIC32MX320F128H MCU通过Uno32 SPI连接器(J8)上的SDI2(串行输入)和SDO2(串行输出)引脚连接到额外的UART2,#2。JP5和JP7上的主从跳线帽能够让你改变SDO2与SDI2引脚上的信号方向。遗憾的是,Digilent Uno32模块的原理图上没有显示出主机模式和从机模式的差别,它仅仅交换了SPI连接器引脚1和4之间的串行线。引脚6接地。
  我会及时发布一些关于chipKIT Uno32的代码,来展示如何使用SDI2和SDO2的UART。
逻辑电平转换
  由于XBee模块运行在3.3V电源供电情况下,因此它不能直接连接到5V的逻辑信号上。附录包含了如何设计两种逻辑电平转换电路以解决这个问题。如果你使用的是3.3V的MCU或者像ARM mbed的MCU板,你不需要进行逻辑电平转换。
器件
  附录F里的元件清单列出了实验所需的最少和推荐数量的元器件。这个附录还包含了电子设备及供应商的信息。
免费软件代码许可
  读者在同意Massachusetts Institute of Technology免费软件许可的条件下有权使用本书中所使用的软件。

致谢
  感谢迪进国际的技术支持者,感谢他们彬彬有礼、及时地帮助我解答问题,并指引我了解那些克服问题的应用手册。我还在一些网页和高度技术性的网站上找到了很多用于实验的有用信息。
  XBee和XBee-PRO为迪进国际公司的商标。其他商标属于其各自的所有者。我对本书中所提到的任何公司或产品都没有财务权益。
  我还要感谢Bradely J. Thompson、 Alex Mendelsohn、 Ken Gracey和 Dr. Michael Batcheldre对本书的提议。所有的评注和提议对本书的完善颇有裨益。

Jonathan A. Titus

上架指导

电子与电气工程

封底文字

这是一本XBee模块的入门及深入的实战型图书;它教会工程师如何在自己的设计中采用Xbee模块。
和其他书不一样的地方是作者采用了22个实验,让读者由浅入深,在动手过程中理解XBee模块的使用。每一个实验都包含,模块的配置,模块的相应功能参数介绍,应用背景,需要的控制器和软件。实验都包含了配置,建立,验证以及接口设计等完整过程。
本书特点:
(1)唯一一本介绍XBee模块实战书籍;有步步清晰的操作指南,上手快。
(2)深入理解产品的Datasheet,节省开发者的时间,并帮助开发者迅速获得想要的知识。
(3)包含了调试和测试信息,有已经配置好的下载文件和具有详细注释源代码供开发者学习使用。

图书序言

20世纪后期人们见证了互联网的诞生。从简单的计算机网络“阿帕网”(Arpanet)发展到今天的互联网(Internet)。最初,网络是一个学术研究领域,到现在网络几乎连接了每个人,每个人又通过网络进而连接所有其他人和海量的数据信息。
  21世纪已初现无线时代的曙光。手机不再是简单的通信设备,它还是庞大互联网的一部分。现在我们可以随时随地接入互联网,无论是在办公室工作还是在海边旅游。有些人已经开始使用智能手机,使用智能手机更多的是为了数据通信而不是语音传输。实际上,你的手机可能拥有4种或多种天线:一种与太空中的人造卫星连接,用于导航;一种用于3G网络连接;还有一种用于Wi-Fi连接;再有一种用于蓝牙耳机或其他相似设备的近场通信。
  无线数据通信时刻围绕着我们。这些通信包括从发送到高速公路智能信号牌的消息,到遥远北极区的科学仪器,通过人造卫星上行链路,将科学发现传输到坐落于田园里的实验室。
  电话和耳机之间为什么会采用蓝牙连接呢?因为有线的方法非常麻烦。它笨重而且有时还很碍事。电子器件很便宜,而连接器却不便宜,因此无线的方式可能更省钱而且更可靠。实验室里或者个人电脑上乱作一团的连线都会使人烦躁不安。不过,不久的将来它们都会消失。
  相对于有线,通过射频(Radio Frequency,RF)来建立一个连接可能更复杂,但是现在的智能硬件成本很低,而且现成的软件越来越唾手可得。一个普遍的选择就是迪进国际公司(Digi International)封装了的无线模块XBee系列产品。你不需要懂太多它所使用的技术细节,比如“直接序列扩频编码(Direct Sequence Spread Spectrum Coding,DSSSC)”或者“正交相移键控补偿(Offset Quadrature Phase Shift Keying,OQPSK)”,因为这些细节都已经由模块来处理了。
  但是你却需要知道如何使用模块和调用模块的接口。关于这一点,那些充满了高度提炼的专业术语和密码般描述的用户手册恐怕无济于事。况且XBee还使用了旧的AT命令集,关于这些命令集的信息已经越来越难找到了。从这个角度来说,Jon Titus的这本书就显得非常珍贵了。
  学习的方法有很多种。对于我们中的大多数人来说,直接动手实验要比乱翻书有效多了。Jon正是把这种方法融入一系列设计好的教你动手做的实验里。本书一开始就要求把器件放到一起让它们看起来更整洁。最早的实验仿真了一个单向的无线连接:接收器模块的输出引脚与发送器的输入引脚对应连接上了。看!无线连接耶!
  书中的每个实验课程都会逐步地变得更复杂和实用。通过空中传输模拟数据,控制多个XBee模块,跟其他嵌入式组件连接,比如Arduino Uno或ARM mbed板连接XBee模块。当然,这些都是嵌入式无线网络最基础的部分。
  搜索个人局域网。这是一个自组网的通信连接,在运行时网络会发现哪个XBee模块正在运行。Jon展示了如何做到这一点,并把网络互联到一起。接下来你还会学到如何处理中断,这是在嵌入式系统领域里非常重要的一个概念。
  复杂的实验来了,但是不用怕:Jon会在每个实验里向你展示每一个步骤。丰富的图例不会让你有任何混淆的机会。不论是通信工具的屏幕截图还是如何连接LED的图示,应有尽有。
  欢迎来到21世纪第二个十年,这是无线数据通信的时代。这本书是你用XBee模块来摆脱有线连接束缚的必备指南。

Jack Ganssle

作者简介

(美)Jonathan A. Titus 著:暂无简介

译者简介

程晨 译:暂无简介

译者序

众所周知,无线通信技术是信息科学近几十年来发展最为迅速的研究领域之一,而XBee模块正是其重要组成部分。该模块是由美国迪进公司推出的ZigBee模块,是为满足低电流损耗,尤其是低成本需求而开发的。随着无线通信的大规模应用,XBee对人们生活和学习的影响日渐深入,而这种影响必将在这一领域引起深刻的变革。本书的主旨就是讲述如何应用XBee模块实现无线通信。
  与大多数技术书籍相比,本书摒弃了传统的说教方法,不过于纠结技术细节,更注重从实践的角度介绍如何使用XBee实现通信,并致力于找到解决问题最合适的途径。本书给出了22个实验项目,并且通过丰富的图例详细地展示了实验的每一个步骤。即使是缺少相关技术背景的读者也可以参照本书,自己动手完成这些实验项目,从而了解并初步掌握XBee模块实现无线通信的方法。
  鉴于XBee是一项较新的技术,国内相应的中文资料少之又少,本书希望能抛砖引玉,对读者学习、了解和掌握XBee实现无线通信起到一定作用。由于译者水平有限,书中难免有不妥之处,恳请读者批评指正。

图书目录

译者序
序言
前言
实验1 X-CTU软件简介 1
实验要求 1
简介 1
实验2 如何修改XBee模块的配置 6
实验要求 6
简介 6
实验3 单向数字输入通信 11
实验要求 11
简介 11
实验4 用XBee模块实现远程控制 20
实验要求 20
简介 20
实验5 XBee模块传输和控制模拟信号 25
实验要求 25
简介 25
实验6 模拟设备和数字设备的远程控制 36
实验要求 36
简介 36
可选步骤 43
第六步答案 44
实验7 如何在逻辑电平跳变时传输数据 45
实验要求 45
简介 45
制作准确的逻辑电平转换电路 51
实验8 如何处理多个来自模拟输入的数据 53
实验要求 53
简介 53
关于采样率的提示 56
第八步答案 57
实验9 休眠模式和休眠模式定时的研究 58
实验要求 58
简介 58
实验10 如何使用API数据包控制本地XBee模块 65
实验要求 65
简介 65
第八步答案 71
实验11 如何使用API数据包控制远程XBee模块 72
实验要求 72
简介 72
即时命令动作 79
实验12 如何使用API数据包控制远程模块I/O接口 80
实验要求 80
简介 80
实验答案 85
实验13 PWM输出的远程控制 86
实验要求 86
简介 86
更好的方法 92
参考资料 92
实验14 解析数字引脚及模拟引脚输出的数据以及控制独立的数字输出 93
实验要求 93
简介 93
实验答案 99
实验15 使用广播命令控制多个XBee模块 100
实验要求 100
简介 100
实验答案 105
实验16 MCU和XBee模块间如何通信 107
实验要求 107
简介 107
如何使用UART 109
终端模拟器软件 110
使用Arduino Uno模块 111
使用ARM mbed模块 113
实验17 XBee模块间的双向通信 117
实验要求 117
简介 117
软件 119
终端模拟器软件 120
使用Arduino Uno模块 121
使用ARM mbed模块 126
通过MCU的AT命令远程控制XBee模块 130
实验18 如何发现附近的XBee模块 133
实验目的 133
实验要求 133
简介 133
实验18软件流程图 139
使用Arduino Uno模块 139
使用ARM mbed模块 147
最终步骤 152
重要注释 153
实验19 如何建立一个小型XBee网络 154
实验目的 154
实验要求 154
简介 154
为什么要关联网络中的XBee模块 160
结论 162
实验20 测量网络中的数字和模拟信号 163
实验要求 163
简介 163
使用ARM mbed模块 171
使用Arduino Uno模块 179
实验21 如何运用未知数量的XBee模块 188
实验要求 188
简介 188
MCU软件 192
程序描述 192
使用ARM mbed模块 196
使用Arduino Uno模块 202
结论 208
实验22 探索周期操作 209
实验要求 209
简介 209
带有I/O报告的周期性唤醒 210
带协调器轮询的周期性唤醒 216
附录A 逻辑电平转换电路 221
附录B 十六进制数和校验和 224
附录C XBee(XB24)模块默认的调制解调器配置设置 227
附录D 电子与XBee资源 230
附录E Excel电子表格包生成工具 233
附录F XBee实验材料清单 235
附录G 美国标准信息交换码(ASCII) 237
附录H 故障诊断与处理 239
附录I 空白表 242
附录J XBee连接信息 244
术语 245

教学资源推荐
作者: [美] 查尔斯 L.菲利普斯(Charles L. Phillips) H. 特洛伊?内格尔(H.Troy Nagle) 阿兰尼亚?查克拉博蒂(Aranya Chakrabortty)  著
作者: 吉建华
作者: 胡全连 主编
参考读物推荐
作者: 叶国阳 刘铮 徐科军 编著
作者: 杨柳 编著
作者: [西]胡安·何塞·罗德里格斯·安蒂纳(Juan Jose Rodriguez Andina) 爱德华多·德拉托雷·阿南兹(Eduardo de la Torre Arnanz) 玛丽亚·多洛雷斯·巴尔德斯·佩纳(Maria Dolores Valdes Pena) 著