1项目五物联网通信技术应用项目开发项目五物联网通信技术应用项目开发5.1任务一:蓝牙技术应用与实践5.2任务二:GPRS技术应用开发5.3任务三:ZigBee技术应用开发5.4任务四:Wi-Fi技术5.5任务五:无线网的综合实践2项目五物联网通信技术应用项目开发5.1任务一:蓝牙技术应用与实践5.1.1蓝牙技术的背景知识蓝牙(Bluetooth)技术是由爱立信、诺基亚、Intel、IBM和东芝五家公司于1998年5月共同提出开发的。蓝牙技术的本质是设备间的无线联接,主要用于通信与信息设备。近年来,在电声行业中也开始使用蓝牙技术。3项目五物联网通信技术应用项目开发1.蓝牙模块的种类1)蓝牙模块的种类蓝牙模块可以从应用、芯片、技术、性能等多个角度区分。(1)从应用角度划区有:手机蓝牙模块、蓝牙耳机模块、蓝牙语音模块、蓝牙串口模块、蓝牙电力模块和蓝牙HID模块等。(2)从技术角度看可分为三种:蓝牙数据模块、蓝牙语音模块和蓝牙远程控制模块。(3)从芯片采用的角度看可分为ROM版模块、EXT模块及FLASH版模块。4项目五物联网通信技术应用项目开发(4)从功率角度来看,标准通信距离有100 m、10 m等蓝牙模块。(5)按所采用的芯片厂家来分,市场上有CSR、Brandcom、爱立信、Philip等,市场上大部分解决方案是前两家公司的方案,爱立信等主要为自己手机等产品配套。公司采用CSR的芯片开发模块及应用软件。5项目五物联网通信技术应用项目开发2)蓝牙模块的选择大规模民用产品一般选用ROM版模块,如市场上的USB蓝牙适配器,由于大部分协议运行在PC内部,对芯片处理能力要求很低,芯片厂家会推出价格很低的产品;工业蓝牙应用一般应采用FLASH版的芯片生产的模块,运行速度快,具备高集成度、高可靠性、高性能指标等特点。6项目五物联网通信技术应用项目开发2.蓝牙模块的通信频率1)蓝牙的工作频段2)蓝牙模块的跳频与工作模式7项目五物联网通信技术应用项目开发3.蓝牙模块的协议蓝牙协议是由蓝牙兴趣小组SIG(BluetoothSpecialInterestGroup)开发的无线通信协议,主要面向近距离的无线数据语音传输,完成电缆替代的核心应用,蓝牙技术发展中主要经历了V1.1、V1.2、V2.0、V2.1、V3.0、V4.0等版本。8项目五物联网通信技术应用项目开发4.蓝牙模块的外围接口蓝牙模块的外围接口种类很多,不同的蓝牙模块配置不同,主要有UART串口、USB接口、双向数字PIO、数模转换输出DAC、模拟输入ADC、模拟音频接口AUDIO、数字音频接口PCM和编程口SPI。另外还有电源、复位、天线等。9项目五物联网通信技术应用项目开发5.蓝牙模块的功率与距离1)蓝牙模块的发射功率2)蓝牙模块的接收灵敏度3)蓝牙模块的通信距离10项目五物联网通信技术应用项目开发5.1.2蓝牙网关1.蓝牙网关的功能蓝牙网关用于办公网络或物联网内部的蓝牙移动终端,通过无线方式访问局域网以及Internet;跟踪、定位办公网络内的所有蓝牙设备,在两个属于不同匹配网的蓝牙设备之间建立路由连接,并在设备之间交换路由信息。11项目五物联网通信技术应用项目开发2.蓝牙移动终端(MT)蓝牙移动终端是普通的蓝牙设备,能够与蓝牙网关以及其他蓝牙设备进行通信,实现办公网络内部移动终端的无线上网以及网络内部文件、资源的共享。各个功能模块关系如图5.1所示。12项目五物联网通信技术应用项目开发图5.1功能模块关系13项目五物联网通信技术应用项目开发5.1.3蓝牙系统的结构及组成1.蓝牙网络的结构微微网是实现蓝牙无线通信的最基本方式。每个微微网只有一个主设备,一个主设备最多可以同时与七个从设备同时进行通信,多个蓝牙设备组成微微网如图5.2所示。14项目五物联网通信技术应用项目开发图5.2多个蓝牙设备组成微微网(Piconet)15项目五物联网通信技术应用项目开发散射网是多个微微网相互连接所形成的比微微网覆盖范围更大的蓝牙网络,其特点是不同的微微网之间有互联的蓝牙设备,如图5.3所示。16项目五物联网通信技术应用项目开发图5.3多个微微网组成散射网(Scatternet)17项目五物联网通信技术应用项目开发2.蓝牙系统的组成1)无线单元蓝牙是以无线LAN的IEEE802.11标准技术为基础的,使用2.45 GHzISM全球通自由波段。2)链路控制单元(1)建立物理链路。(2)差错控制。(3)验证和加密。18项目五物联网通信技术应用项目开发3)链路管理器链路管理器(LM)软件模块设计了链路的数据设置、鉴权、链路硬件配置和其他一些协议。链路管理器能够发现其他蓝牙设备的链路管理器,并通过链路管理协议(LMP)建立通信联系。19项目五物联网通信技术应用项目开发5.1.4实践一:Bluetooth模块的应用实践1.实践内容本节将在IOT-L01-05型物联网综合实验箱的应用网关上开发一个小程序,控制实验箱内的蓝牙模块,与智能手机中的客户端程序相配合实现利用蓝牙的数据通信。20项目五物联网通信技术应用项目开发2.硬件接口原理Bluetooth模块硬件原理图如图5.4所示。21项目五物联网通信技术应用项目开发图5.4Bluetooth模块硬件原理图22项目五物联网通信技术应用项目开发3.实践原理蓝牙模块控制常用AT命令行如表5.1所示。23项目五物联网通信技术应用项目开发表5.1蓝牙模块控制常用AT命令行命令用途返回信息AT测试连接命令OKAT+VERSION查看蓝牙模块固件版本号+Version=ParaAT+NAME查询蓝牙模块名称+NAME=ParaAT+NAMEPara设置蓝牙模块名称成功返回OK失败返回ERROR=Error_CodeAT+DEFAULT恢复默认设置OKAT+RESET软件复位/重启OKAT+PIN查询配对码+PIN=ParaAT+PINPara设置配对码成功返回+PIN=ParaOK失败返回ERROR=Error_CodeAT+BAUD查询波特率+BAUD=ParaAT+BAUDPara设置波特率成功返回+BAUD=ParaOK失败返回ERROR=Error_CodeAT+ROLE查询模块主从模式+ROLE=ParaAT+ROLEPara设置模块主从模式成功返回+ROLE=ParaOK失败返回ERROR=Error_CodeAT+RNAMEPara查询远端蓝牙设备名称成功返回OK失败返回ERROR=Error_CodeAT+BIND查询绑定蓝牙地址+BIND=ParaAT+BINDPara设置绑定蓝牙地址成功返回+BIND=ParaOK失败返回ERROR=Error_CodeAT+CLEAR清楚记忆地址OKAT+UARTMODE查询串口通信模式+UARTMODE=Para1,Para2AT+UARTMODEPara设置串口通信模式成功返回+UARTMODE=Para1,Para2OK失败返回ERROR=Error_CodeAT+LADDR查询本地蓝牙地址+LADDR=Para24项目五物联网通信技术应用项目开发4.软件设计实验箱内的蓝牙模块默认情况下工作在从机模式,串口通信的波特率为9600-8-N-1。为了简单起见,网关上的应用程序只通过AT命令行来修改蓝牙模块的名称(也就是广播名称)。25项目五物联网通信技术应用项目开发5.实践步骤(1)建立BlueToothTest工程,完成源码设计,并将程序烧写到Android网关上。(2)为自己的智能手机安装“蓝牙串口通信助手”软件,该软件的apk安装包位于本书配套资源的应用程序目录下,名为“安卓手机串口调试助手A.apk”。安装完毕后,打开该软件,在菜单中选择“连接设备”,此时手机会自动搜索周边的蓝牙设备,找到之前设置好名称的蓝牙模块,与之配对,配对密码是“1234”,完成配对后,在手机软件的发送框内发送数据,可以在Android网关程序上显示出来,同理,在Android网关上发送的数据也可以在手机上显示出来。26项目五物联网通信技术应用项目开发5.1.5实践二:基于Bluetooth的传感器网络实践1.蓝牙模块BF10-A详解1)产品概述BF10蓝牙通信模块是智能型无线数据传输蓝牙模块,支持4800~1 382 400 b/s等多种接口波特率,支持从模式,支持64通道蓝牙替代串口线。27项目五物联网通信技术应用项目开发2)使用方法BF10模块的TXD需要和外部单片机或ARM的RXD相连,BF10模块的RXD需要和外部单片机的TXD相连。模块供电是3.3 V,可以用AMS1117供电。其BF10模块原理图如图5.5所示。28项目五物联网通信技术应用项目开发图5.5BF10模块原理图29项目五物联网通信技术应用项目开发3)替代串口线透明数据模式应用原理框图如图5.6所示。30项目五物联网通信技术应用项目开发图5.6应用原理框图31项目五物联网通信技术应用项目开发4)从客户端模式从客户端模式是用在被电脑的蓝牙适配器、PDA、手机等通用蓝牙设备连接进行数据传输的情况。32项目五物联网通信技术应用项目开发5)设置串口通信波特率串口通信数据格式为:8个数据位,无校验位,1 bit停止位,TTL电平为3.3 V。其波特率选择如表5.2所示。33项目五物联网通信技术应用项目开发表5.2串口通信波特率表PIO5PIO4PIO3PIO2波特率(b/s)00009600000114400001019200001128800010038400010157600011011520001112304001000460800100192160010101382400101148001100960011019600111096001111960034项目五物联网通信技术应用项目开发6)设置模块通道模块通道如表5.3所示。35项目五物联网通信技术应用项目开发表5.3模块通道表PIO11PIO10PIO9PIO8PIO7PIO6通道描述0000001000001200001030000114……………………………………11110162111110631~63通道可以用来作为替代串口线的操作通道11111164该通道只能用来作为从模式,不推荐用来作为替代串口线的操作通道36项目五物联网通信技术应用项目开发7)应用实例(1)替代串口线应用。(2)作为蓝牙从端,与PC机蓝牙适配器、手机形成透明串口线应用。37项目五物联网通信技术应用项目开发2. Bluetooth的传感器网络的实现1)实践内容通过Bluetooth硬件模块与STM32F103处理器的连接。使用KeilMDK开发环境设计程序,实现Bluetooth模块之间的组网配置。38项目五物联网通信技术应用项目开发2)实践原理(1)硬件接口原理。蓝牙组网原理:实验使用配套蓝牙模块是由STM32F103处理器与BF10蓝牙模块连接构成,通过对应用处理器IO的设置,可以配置BF10蓝牙模块的通信接口、工作模式、工作通道等网络参数,进行形成基于蓝牙网络的传输系统。39项目五物联网通信技术应用项目开发图5.7蓝牙组网工作原理图40项目五物联网通信技术应用项目开发(2)软件接口原理。①设置蓝牙串口工作波特率。串口通信数据格式为:8个数据位,无校验位,1 bit停止位。其波特率选择参照表5.2所示。②模块通道设置参照表5.3所示的模块通道。③操作方式。④蓝牙串口通信协议。41项目五物联网通信技术应用项目开发⑤传感器说明。传感器说明如表5.4所示。42项目五物联网通信技术应用项目开发表5.4传感器说明传感器名称传感器类型编号传感器输出数据说明磁检测传感器0x011-有磁场;0-无磁场光照传感器0x021-有光照;0-无光照红外对射传感器0x031-有障碍;0-无障碍红外反射传感器0x041-有障碍;0-无障碍结露传感器0x051-有结露;0-无结露酒精传感器0x061-有酒精;0-无酒精人体检测传感器0