
本书根据“1+X传感网应用开发”职业技能等级标准的要求,选用16个基于无线传感网开发的实例,按照“理论够用,突出应用”的原则,采取项目化教学的方式,以作品制作为载体,采用在作品制作过程中穿插讲解基础知识和基本技能的方法,由浅入深地讲解无线传感网的开发方法,包括开发环境的搭建,用BasicRF远程控制LED灯,在BasicRF中用串口收发数据,用Basic RF远程采集开关量、模拟量传感数据,ZStack中定时器、串口、NV存储器等基本组件的应用设计,单播、广播、组播通信实现方法,无线网络的管理方法,ZStack中基于开关量传感器、模拟量传感器、逻辑量传感器的无线传感网的组建方法以及C语言程序设计技巧。本书立足于应用实践,融入了“1+X传感网应用开发”职业技能等级考证内容和近年来全国职业技能大赛物联网技术应用赛项中感知层开发的内容,摒弃了对复杂而深奥的通信协议理论知识的讲解,适用于高等职业院校物联网、电子信息、智能产品设计、网络及计算机专业作为无线组网技术课程的教材,也可作为应用型本科和“1+X传感网应用开发”职业技能等级考试培训教材,还可供参加物联网大赛和从事无线网络组建的工程技术人员学习和参考。
国发[2019]4号文件指出,“从2019年开始,在职业院校、应用型本科高校启动‘学历证书+若干职业技能等级证书’制度试点(以下称1+X证书制度试点)工作”,为了落实“1+X”证书制度,各参与“1+X”证书制度试点的职业教育培训评价组织分别编制了相关职业技能等级标准,然而“1+X”证书制度涉及诸多方面的内容,其所固有的综合性、复杂性、多样性对教学(师资力量、实践条件、教学环境等)带来了直接而现实的挑战,广大职业院校、应用型本科高校急需一套融入职业技能标准、满足书证赛融通要求的教材。鉴于这种现状,我们在人工智能双高专业群建设过程中,按照《传感网开发职业技能等级标准》的要求,结合近年来“1+X”传感网应用开发考证指导和职业院校技能大赛物联网应用技术赛项备赛指导工作,编写了这本《无线传感网组建技术》,本书具有以下特点。 1.按项目构建课程内容,用实例组织单元教学 本书分为5个项目,共16个任务,包括搭建无线传感网的开发环境、基于Basic RF的无线传感网的应用设计、ZStack中基本组件的应用设计、用ZStack组建ZigBee网络、基于ZStack无线传感网的应用设计,每个项目包含若干个任务。全书用5个项目讲解了无线传感网络的开发过程、设计方法和基本技能。全书按项目编排,组建无线传感网络所需要的基本知识和基本技能穿插在各个任务的完成过程中进行讲解,每一个任务只讲解完成本任务所需要的基本知识、基本方法和基本技能,从而将知识化整为零,降低了学习的难度。 2.融“教、学、做”于一体,突出了教材的实践性 书中的每一个项目都是按照以下方式组织编排的:①任务要求,②知识储备,③实现方法与步骤,④程序分析,⑤实践拓展,⑥实践总结。其中,任务要求主要介绍做什么和做到什么程度,是读者实践时的目标要求,后续部分都是围绕着任务的实现而展开的。知识储备部分主要介绍无线传感网中的一些基本概念、Basic RF和ZStack中所提供的有关函数及其用法、传感器的应用特性及其用法,这一部分供读者在完成任务前阅读之用,也是本任务完成后所要掌握的基本知识。实现方法与步骤主要介绍怎么做,这一部分详细地讲解了本项目的实施过程,包括电路的搭建、程序的编写、程序的编译下载等几部分,读者按照书中所介绍的方法和步骤逐步实施,就可以实现任务要求,这一部分是读者实践时必须亲手做的事情。程序分析部分主要介绍了为什么要这样做,这一部分详细地讲解了程序设计的思路、原则和方法。实践拓展和实践总结主要进行知识和技能的梳理与总结,并适当进行拓展。 3.融入职业技能标准,内容反映了“1+X”考证要求和物联网技术应用技能大赛的要求 《传感网开发职业技能等级标准》是由北京新大陆时代教育有限公司组织编写的,该公司的黄敏恒高级工程师参与了本书的规划和内容结构的制定;另一方面,本书的作者多年来一直从事无线传感网组建技术课程的教学工作、“1+X”传感网应用开发考证指导和全国物联网技术应用技能大赛辅导工作,书中许多制作任务或习题来源于考证试题或者竞赛试题,例如,项目2的任务7就是由大赛试题改编而成的。本书融入了《传感网开发职业技能等级标准》,反映了“1+X”考证要求和物联网技术应用技能大赛的要求。 4.提供了配套的实训平台,避免了教材与实训系统相互脱节 无线传感网组建技术是一门实践性非常强的课程,除了要进行课堂学习,还需要强有力的实践性环节与之配合。因此,我们研制并推出了MFIoT实训平台及相关的实训模块,包括ZigBee开发板、CCDebug仿真器、相关传感器模块及NBIOT开发板、LORA开发板、智能网关、云平台等。其中,ZigBee开发板、CCDebug仿真器和传感器模块与本书配套,避免了以往出现的教材与实训系统相互脱节的情况,真正做到课堂内外相互统一。如果使用本书的院校在准备器件时有困难,可以与作者联系(E-mail:lizhuqing_123@163.com),也可以到淘宝店(https:// shop359792577.taobao.com/)购买。 5.提供了丰富的教学资源,方便教师备课和读者学习 本书提供了7种教学资源:5个项目中各任务的源程序文件;ZigBee开发板的电路图;书中所有芯片和传感器的PDF文档;书中习题的解答;教学课件;无线传感网开发中的常用工具软件;近年来全国物联网应用技术技能大赛试题;传感网应用开发“1+X”考证试题。其中,各任务的源程序供读者学习前观察任务的实现效果之用,也作学习借鉴之用,各芯片和传感器的PDF文档供读者学习查阅之用,常用的工具软件可以节省读者收集开发工具的时间。所有资源可登录华信教育资源网(http://www.hxedu.com.cn)免费注册下载,也可以与作者联系。 在使用本书时,建议采用“教、学、做”一体化的方式组织教学,最好是在具有实物投影的实训室内组织教学。教学时,建议先将书中提供的程序下载至开发板中运行,让学生观看实际效果并体会任务要求的真实含义,激发学生的学习兴趣。然后引导学生边做边学,直至任务的完成,让学生在做中体会和总结无线传感网的开发技术。 本书是浙江工贸职业技术学院人工智能双高专业群建设成果之一。在本书成稿的过程中,曾得到许多同人和朋友的帮助与支持。北京新大陆时代教育科技有限公司的黄敏恒高级工程师参与了本书的规划和内容结构的制定,湖北第二师范学院的焦启民教授、广东科技职业技术学院的余爱民教授、武汉铁道职业技术学院的郑毛祥教授、温州职业技术学院的张佐理副教授、浙江工贸职业技术学院的金慧峰副教授、戚伟业老师、沈德明老师、长江职业技术学院的邓柳副教授等多位老师对本书的编写提出了许多积极宝贵的意见,并给予极大的关心和支持。感谢电子工业出版社的编辑为本书出版所做的辛勤工作,没有他们就没有这本书的出版,谨在此表示感谢﹗ 尽管我们在本书的编写方面做了许多努力,但由于作者的水平有限,加之时间紧迫,错误不当之处难免,恳请各位读者批评指正,并将意见和建议及时反馈给我们,以便下次修订时改进。 编 者
项目1 搭建无线传感网的开发环境 任务1 准备开发工具 任务要求 实现方法与步骤 1.准备工具软件 2.准备开发板和仿真器 3.准备传感器模块 实践总结 任务2 安装工具软件 任务要求 实现方法与步骤 1.解压工具软件 2.安装IAR集成开发工具 3.安装SmartRF Flash Programmer和ZStack 4.安装USB转串口的驱动程序 5.安装仿真器驱动程序 6.检查驱动程序安装的结果 实践总结 任务3 建立传感网开发环境 任务要求 实现方法与步骤 1.新建工程 2.配置工程 3.编译、连接程序 4.调试程序 5.下载程序 实践总结 习题 项目2 基于Basic RF的无线传感网的应用设计 任务4 用Basic RF远程控制LED灯 任务要求 知识储备 1.Basic RF软件包 2.basicRfInit()函数 3.basicRfSendPacket()函数 4.数据接收中的相关函数 5.接收数据的方法 6.halButtonPushed()函数 7.发光二极管控制函数 8.延时函数 实现方法与步骤 1.准备文件 2.编制开关发送程序文件switch.c 3.编制点灯程序文件light.c 4.编译下载程序 程序分析 1.light.c文件中的代码分析 2.switch.c文件中的代码分析 实践拓展 实践总结 习题 任务5 在Basic RF中用串口收发数据 任务要求 知识储备 1.新大陆公司的Basic RF软件包 2.新大陆软件包中有关串口的API函数 3.CC2530单片机的串口 实现方法与步骤 1.新建工程 2.配置工程 3.编制程序文件uartRF.c 4.编译下载程序 5.运行程序 程序分析 实践拓展 实践总结 习题 任务6 用Basic RF远程采集声音传感数据 任务要求 知识储备 1.声音传感器的应用特性 2.CC2530单片机中的I/O口 3.声音传感器的驱动程序 4.在Basic RF中添加传感器驱动程序的方法 5.CC2530单片机中的定时器 6.新大陆Basic RF资源包中有关定时器的API函数 实现方法与步骤 1.搭建声音传感器的控制电路 2.新建工程 3.编制声音传感器驱动程序文件 4.编制节点的程序文件 5.修改Basic RF软件包中的定时时长 6.新建节点设备 7.下载运行程序 程序分析 1.SoundSensor.c文件中的代码分析 2.SoundSensor.h文件中的代码分析 3.Sensor.c文件中的代码分析 4.Collector.c文件中的代码分析 实践拓展 实践总结 习题 任务7 用Basic RF远程采集气体传感数据 任务要求 知识储备 1.气体传感器的应用特性 2.CC2530单片机中的ADC 3.ADC的寄存器 4.ADC应用程序的编写方法 5.Basic RF软件包中的ADC函数 实现方法与步骤 1.搭建气体传感器的控制电路 2.编制气体传感器驱动程序文件 3.编制节点的程序文件 4.下载运行程序 程序分析 1.Collector.c文件中的代码分析 2.Sensor.c文件中的代码分析 实践拓展 实践总结 习题 项目3 ZStack中基本组件的应用设计 任务8 在ZStack中控制LED闪烁 任务要求 知识储备 1.协议与协议栈 2.ZigBee网络中的设备 3.系统事件与用户事件 4.osal_msg_receive()函数 5.osal_msg_deallocate()函数 6.osal_start_timerEx()函数 7.HalLedSet()函数 8.HalLedBlink()函数 实现方法与步骤 1.准备文件 2.编写协调器程序 3.编制头文件Coordinator.h 4.修改OSAL_SampleApp.c文件 5.移除App组中的多余文件 6.编译下载程序 程序分析 1.App组中的文件 2.Coordinator.c文件中的代码分析 3.Coordinator.h文件中的代码分析 实践拓展 1.在无协调器的条件下运行程序 2.在有协调器的条件下运行程序 实践总结 习题 任务9 在ZStack中用串口收发数据 任务要求 知识储备 1.端口的概念 2.HalUARTOpen()函数 3.HalUARTRead()函数 4.HalUARTWrite()函数 5.osal_set_event()函数 6.osal_memcmp()函数 7.osal_strlen()函数 8.osal_memset()函数 实现方法与步骤 1.编制协调器的程序文件Coordinator.c 2.编制程序接口文件Coordinator.h 3.修改OSAL_SampleApp.c文件 4.程序编译与下载运行 程序分析 1.Coordinator.c文件中的代码分析 2.OSAL_SampleApp.c文件中的代码分析 3.OSAL工作原理分析 实践拓展 用新任务处理串口数据 实践总结 习题 任务10 在ZStack中用NV存储器保存数据 任务要求 知识储备 1.NV存储器 2.osal_nv_item_init()函数 3.osal_nv_read()函数 4.osal_nv_write()函数 实现方法与步骤 1.定义用户条目 2.编制协调器的程序文件 程序分析 实践拓展 读取节点的MAC地址 实践总结 习题 项目4 用ZStack组建ZigBee网络 任务11 用计算机控制远程节点上的灯 任务要求 知识储备 1.数据包与消息 2.数据通信的3种方式 3.设备的地址 4.AF_DataRequest()函数 实现方法与步骤 1.编制协调器的程序文件 2.编制终端节点的程序文件 3.程序编译与下载运行 程序分析 1.Coordinator.c文件中的代码分析 2.EndDevice.c文件中的代码分析 实践拓展 修改ZStack中LED的配置 实践总结 习题 任务12 分组传输数据 任务要求 知识储备 1.信道 2.PANID 3.组播通信的相关函数 4.组播通信的实现方法 实现方法与步骤 1.编程思路 2.编制节点的程序文件 3.设置PANID和信道 4.程序编译与下载运行 程序分析 实践总结 习题 任务13 显示网络节点的地址 任务要求 知识储备 1.协议栈中地址的分配机制 2.获取地址的相关函数 实现方法与步骤 1.编制节点的程序文件 2.编制数值转换的程序文件 3.新建User组 4.程序的编译与下载运行 程序分析 实践拓展 绘制网络拓扑图 实践总结 习题 项目5 基于ZStack无线传感网的应用设计 任务14 用ZStack制作远程防盗监测器 任务要求 知识储备 1.热释电红外传感器的应用特性 2.在协议栈中添加传感器驱动程序的方法 实现方法与步骤 1.编制传感器驱动程序文件 2.编制协调器的程序文件 3.编制终端节点的程序文件 4.程序编译与下载运行 程序分析 实践总结 习题 任务15 用ZStack制作远程光照信息采集器 任务要求 知识储备 1.光敏电阻的特性 2.ZStack中的ADC函数 3.ZStack中ADC的使用方法 实现方法与步骤 1.编制节点的程序文件 2.程序编译与下载运行 程序分析 实践总结 习题 任务16 用ZStack制作远程温湿度 采集器 任务要求 知识储备 1.MicroWait宏 2.DHT11的工作特性 3.DHT11的访问操作 实现方法与步骤 1.搭建DHT11的控制电路 2.编制DHT11的驱动程序文件 3.编制节点的程序文件 4.程序编译与下载运行 程序分析 实践总结 习题 附录A MFTOT-Z型开发板电路图