欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    传感网应用开发(高级)课件第5章.ppt

    • 资源ID:1941056       资源大小:16.63MB        全文页数:109页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    传感网应用开发(高级)课件第5章.ppt

    ,“1+X”传感网应用开发 蓝牙技术.模块及BLE协议栈,01,蓝牙技术,02,蓝牙模块,03,BLE协议栈,目录,CONTENTS,1.蓝牙技术简介,历史,蓝牙4.0技术规格,蓝牙4.0规范,高可靠性,低成本,低功耗,高安全性,快速启动,瞬间连接。,其他几种常见的短距离无线通信技术,2.蓝牙模块简介,新大陆NewLab实验箱中蓝牙模块,外设,开发工具,3.BLE协议栈简介,什么是协议栈?,注意:虽然协议是统一的,但是协议的实现是变化的,即不同厂家提供的协议栈是有区别的。,如何使用协议栈?,如何使用协议栈?,如何使用协议栈?,如何使用协议栈?,“1+X”传感网应用开发 基于BLE协议栈的串口通信,01,任务要求,02,知识链接,03,任务实施,目录,CONTENTS,1,任务要求,任务要求,搭建蓝牙通信模块与PC机串口通信系统,要求蓝牙信模块上电时,向串口发送 Hello NEWLab!”,并在PC机的串口调试软件上显示。另外,在串口调试软件上发送信息给蓝模块时,蓝牙通信模块收到信息后,立刻原样返回串口接收到的数据给串口调试软件,并显示出来。,2,知识链接,知识链接,蓝牙4.0BLE协议栈具有很多版本,不同厂家提供的蓝牙4.0BLE协议栈有一些不同,本书选用TI公司推出的BLE-CC254x-.4.1.43908b版本,双击BlE-CC254x-1.4.1.43908BLE-cc254x-1.3.2.exe文件,即可以进行安装,默认安装在C盘。,BLE协议栈,3,任务实施,搭建蓝牙串口通信系统,打开SimpleBLEPeripheral工程,串口初始化,串口发送数据,串口接收数据,串口显示SimpleBLEPeripheral工程初始化信息,搭建蓝牙串口通信系统,01,首先把蓝牙通信模块固定在NEWLab平台上,再通过串口线把平台与PC机连接起来,并将NEWLab平台上的通讯方式旋钮转到“通讯模式”,最后给CC2541上电,将拨码开关JP2拨到J9位置。,打开SimpleBLEPeripheral工程,02,打开“bleSimpleBLEPeripheralCC2541DB 目录下的SimpleBLEPeripheral.ew工程,在 Workspace栏内选择CC2541,串口初始化,03,打开工程中NPI文件夹下的npi.c文件,串口初始化函数void NPI_InitTransport(npiCBack_t npiCBack)串口号、波特率、流控、校验位等进行配置。,串口发送数据,04,打开 simpleBLEPeripheral.c文件中的初始化函SimpleBLEPeripheral_Ini t(uint8 task_id),在此函数中添加NPI_InitTransport(NUll),在后面再加上一条上电提示 Hello NEWLab!的语句,添加头文件语句:#includenpi.h,串口接收数据,05,在simpleBLEPeripheral1.c文件声明串口回调函数NpiSerialCallback,并在 SimpleBLEPeripheral_init函数中传入串口回调函数,将NPI_InitTransport(NULL)修改为:NPI_InitTransport (NpiSerialCallback),串口显示SimpleBLEPeripheral工程初始化信息,06,打开工程目录中HALTargetCC2540EBDrivershal_lcd.c文件,在HalLcdWriteString函数中添加代码,串口显示SimpleBLEPeripheral工程初始化信息,06,在预编译中添加LCD_TO_UART, HAL_LCD=TRUE并且在hal_lcd.c文件中添加#include“npi.h”,编译无误后,下载程序,模块上电后,打开串口调试助手,可以看到图中所示结果,这样就可以把LCD上显示的内容传送到PC机端显示,极大地方便调试。,主从机建立连接与数据传输,主从机建立连接与数据传输,提纲, 原理及流程图 从机连接过程 主机连接过程 任务实施 总结,提纲, 原理及流程图 从机连接过程 主机连接过程 任务实施 总结,结合蓝牙 4.0 BLE协议,采用两块蓝牙模块,一个模块作为从机,另一个模块作为主机,使主从机建立连接,并能进行简单的无线数据传输。,原理及流程图,原理及流程图,开始,初始化,发送广播,发送广播,建立连接并作为从机,开始,初始化,按键搜索,发现设备,建立连接并作为主机,SimpleBLEPeripheral工程(节点设备),SimpleBLECentral工程(集中器设备),搜索回应,搜索请求,发起连接请求,响应连接请求,提纲, 原理及流程图 从机连接过程 主机连接过程 任务实施 总结,以 SimpleBLEPeripheral 工程作为节点设备的程序,初始化完成后,节点设备处于可发现状态,以广播的形式向外界发送数据。,从机连接过程,只有GAP服务的UUID相匹配,设备才能建立连接。,从机连接过程,集中器设备可以通过搜索来发现正在发送广播数据的节点设备。当节点设备接收到集中器设备的搜索请求时,定义了回应数据。static uint8 scanRspData 当集中器设备接收到节点设备搜索回应的数据后,向节点设备发送连接请求,节点设备接受请求并作为从机进入连接状态。,从机连接过程,提纲, 原理及流程图 从机连接过程 主机连接过程 任务实施 总结,以 SimpleBLECentral 工程作为集中器设备(主机)的程序,主机的连接过程大致可分为初始化、搜索节点设备、查看及选择从机并连接。,主机连接过程,任务初始化函数 SimpleBLECentral_Init (uint8 task_id)主要功能包括:设置最大扫描节点个数,8个 GAP服务设置,绑定管理设置, GATT初始化,注册按键服务。,主机连接过程,集中器发起搜索请求,调用GAP事件回调函数SimpleBLECentralEventCB( )在设备发现过程中,当一个设备被发现,产生一个GAP_DEVICE_INFO_EVENT 事件,发送一个OSAL消息。设备搜索完成后,集中器显示搜索到的从机,并提示主机连接。,主机连接过程,如果未连接,并且已经扫描到设备,主机向从机发起连接请求。调用GAP状态回调函数simpleBLECentralEventCB( ).回调函数中使用OSAL定时器,定时触发START_DISCOVERY_EVT事件,定时时间到达后调用事件处理函数 SimpleBLECentral_ProcessEvent( )。,主机连接过程,SimpleBLECentral 工程默认采用按键进行搜索、连接,当有按键动作时,会触发KEY_CHANGE事件,进入simpleBLECentral_HandleKeys( )函数。,主机连接过程,提纲, 原理及流程图 从机连接过程 主机连接过程 任务实施 总结,由于蓝牙模块中没有Joystick按键,所以采用串口发指令方式代替按键。串口指令1,2,3,4,5分别对应按键的UP, LEFT, RIGHT, CENTER, DOWN。需要把按键程序simpleBLECentral_HandleKeys( )中的代码移植到串口接收处理函数NpiSerialCallback( )中去。,任务实施,任务实施,任务实施,主机对应的PC机串口发送指令“1”,搜索节点设备。,任务实施,任务实施,主机对应的PC机串口发送指令“2”,查看节点设备,显示编号。发送指令“4”,进行连接,显示连接信息。,任务实施,主机对应的PC机串口发送指令“5”,周期显示RSSI信号值,再发送指令“5”则取消显示。,任务实施,当前状态下,主机对应的PC机串口发送指令“1”,执行读写char。发送指令先write char再次发送是read char每一次循环,char值加1。,任务实施,当前状态下,主机对应的PC机串口发送指令“4”,主从机断开连接,从机再次处于广播状态。,提纲, 原理及流程图 从机连接过程 主机连接过程 任务实施 总结,介绍了基于蓝牙4.0BLE协议的主从机的连接与数据传输。重点掌握 事件处理、回调函数、按键服务等操作的流程,以加深对蓝牙4.0 BLE 协议栈的机制的理解。,总结,“1+X”传感网应用开发 基于BLE协议栈的无线点灯,01,蓝牙技术与BLE协议栈,02,任务及实验准备,03,关键知识点,目录,CONTENTS,04,任务实现,05,运行测试,06,特别关注,一、蓝牙技术与BLE协议栈,蓝牙无线技术是主要应用于短距离无线通信领域,牙无线技术是全球使用范围最广的短距离无线标准之一。其最高数据传输速率1Mbps、最大传输距离为10厘米10米。 BLE( Bluetooth Low Energy,低功耗蓝牙)是蓝牙 4.0 的核心规范,其凭借超低的运行功耗、待机功耗等技术,使得其在以手机为智能终端的物联网应用中具有强有力的发展前景。,CC2541 是一款针对 低能耗及私有 2.4-GHz 应用的功率优化的片载系统 (SoC) 解决方案,是蓝牙通信模块使用的芯片,芯片内部集成增强型8051内核。 BLE协议栈是在蓝牙 4.0 的基础上推出的低功耗蓝牙通信标准,其包括一个小型操作系统(抽象层OSAL),负责系统的调度,收发双方需要共同按照这一标准进行正常数据的收发,其大部分代码被封装成库,用户通过API调用完成系统开发。,一、蓝牙技术与BLE协议栈,在NewLab实验平台上固定两块蓝牙通信模块、一块继电器模块,安放一个灯泡模块,按图示把模块连起来,在PC机上,通过BTool工具发送命令,使主、从机建立连接,控制灯泡亮和灭。,二、任务及实验准备,1. BLE协议栈的安装,双击工具包中的“BLE-CC254x-1.3.2.exe” 。 2. 开发工具的安装,解压工具包中的“IAR Embedded Workbench.rar”,双击” autorun.exe”双击安装开发工具。 3. 烧写工具的安装,双击” Setup_SmartRFProgr_1.12.7.exe”双击安装烧写工具。,二、任务及实验准备,1.profile规范是一种标准通信协议,定义了设备如何实现一种连接。 2.GATT服务:用于应用程序在两个连接设备之间的数据通信,设备连接后,主机将作为GATT Client,是从GATT服务器读/写数据的设备,从机将作为GATT Server,是包含主机需要读/写的设备。 3.特征值:主从机通信通过特征值来实现,通过特征值可以获取或写入先要的内容。 4. 统一识别码( UUID):GATT服务和特征值都有UUID。 5. 句柄( handle):GATT服务将整个服务加载到属性表中,并为每个属性分配唯一的句柄。,三、关键知识点,5. 主从机建立连接流程:(1)从机启动发送广播。(2)主机启动搜索广播节点。(3)从机回应搜索请求。(4)主机发现设备,发起连接请求。(5)从机响应连接请求。(6)主从机连接完成。,三、关键知识点,7.数据传输流程:(1)主机发送主服务UUID,从机收到主服务UUID并回应服务信息。(2)主机发送主服务UUID,从机收到特征UUID并回应特征值句柄。(3)主机发送特征句柄,从机查找特征值并回应给主机。(4)主机通过句柄,对特征值进行读/写操作。,三、关键知识点,1.主机代码:(1)打开“HostTestRelease.eww” 工程,workspace选择“CC2541EM”。(2)在 “_hal_uart_dma.c”文件中找到“HalUARTOpenDMA()”函数,新增“config-flowControl=0;”代码,关闭流控。(3)将主机拨码开关JP2拨到J9位置,编译下载程序到蓝牙模块中,按“复位”重新运行。,四、任务实现,1.从机代码(以任务2为基础):(1)打开“SimpleBLEPeripheral.eww” 工程,workspace选择“CC2541”。(2)在 “hal_board_cfg.h”文件修改LED1的定义,通过从机模块P1.2端口控制继电器的动作。,四、任务实现,(3)在“simpleBLEPeripheral.c”文件的“simpleProfileChangeCB()”函数中添加红框所示代码控制P1.2端口电平的高低,以此控制灯的亮灭,四、任务实现,(4)在“simpleBLEPeripheral.c”文件的“peripheralStateNotificationCB ()”函数中添加红框所示代码,设置P1.2端口在从机处于广播和已连接状态时为低电平。,四、任务实现,(5)将从机拨码开关JP2拨到J9位置,编译下载程序到蓝牙模块中,下载完毕,将拨码开关JP2拨到J2位置,按“复位”重新运行。,四、任务实现,(1)NewLab平台通过USB转串口线连接PC机,运行“BTool”工具,设置串口参数,通过搜索找到从机,选中从机,建立与从机的连接。,五、运行测试,(1) 利用“BTool”工具对CHAR1特征值写入“1”,点亮灯泡。,五、运行测试,(1) 利用“BTool”工具对CHAR1特征值写入“0”,熄灭灯泡。,五、运行测试,(1) 两根线的串口通信连接务必关闭流控,否则无法收发数据。(2) 修改预编译选项,添加:HAL_UART=TRUE 、LCD_TO_UART、HAL_LCD=TRUE预编译选项,删除或禁用POWER_SAVING预编译选项。(3)从机烧写完毕,拨码开关拨到J2位置,只有主机芯片与NewLab平台串口相连。(4)硬件连接,不能带电操作。,六、特别关注,基于BLE协议栈的串口透传,01,任务引入,02,相关知识点,03,任务实施,目录,CONTENTS,任务引入,同学们,你们有没有过直接用串口线连接两台电脑,然后通过串口调试助手进行聊天的经历?,任务引入,那么如果我们想通过串口调试助手实现两台电脑之间信息的发送,并且希望是通过无线而不是直接用串口线将两台电脑相连的方式,我们可以选择前面所学的蓝牙方式来实现。原理框图如下图所示,任务引入,任务要求:采用两个蓝牙通信模块,分别与PC机串口相连,一个模块作为从机(SimpleBLEPeripheral工程),另一个模块作为主机(SimpleBLECentral工程),是主从机建立连接,并进行无线串口数据透传,同时可以通过串口调试软观察到主机和从机的发送与接收信息,相关知识点,1、在Profiles中添加特征值(P237),2、特征值的定义(P238-239)注:P239代码纠错,3、特征值的相关函数与初始化(P239-P244)注:P239代码纠错,任务实施,1. 系统构成,本案例要求搭建一个基于BLE协议栈的串口透传系统,所需设备:PC机两台蓝牙模块两个串口线两条NEWLab两台,任务实施,2. 实现主从机上电自动连接,(1)添加扫描节点设备的代码(P245-P246)(2)添加连接设备代码(P246-P247)(3)给主从设备上电,实现自动连接:编辑程序并下载到主机中,在workspace栏内选择“CC2541EM”从机采用任务5.2和任务5.3的SimpleBLEPeripheral.eww,只要在LCD上显示的内容能在串口显示就可以先给从机上电,再给主机上电,主从机串口打印输出信息,任务实施,任务实施,3. 实现主机向从机单方向传输,(1)主机采用UUID方式读取CHAR6句柄(P248-P249)(2)修改主机的串口回调函数代码(P249-P250)(3)修改从机的特征值改变回调函数(P250)(4)编译、下载主从机程序,并依次复位从机、主机(P251),任务实施,3. 添加从机向主机发送数据代码,实现主从机串口透传,(1)主机打开CHAR7的通知功能(P252-P253);(2)主机响应CHAR7的通知,并得到从机发送的数据,上传给PC机(P253);(3)打开SimpleBLEPeripheral工程SimpleBLEPeripheral.c文件,从机接收串口数据,并更新CHAR7特征值数据;(P253-P254)(4)打开SimpleBLEPeripheral工程simpleGATTprofile.c文件,“1+X”传感网应用开发 蓝牙采集心率数据,目录,CONTENTS,1,任务要求,采用Android智能手机作为主机,蓝牙模块作为从机,使主从机建立连接,并能把蓝牙模块上连接的心率传感器的数值发送到手机上显示。,2,知识必备,01,MAX30102芯片,01,MAX30102芯片是一个集成脉搏血氧仪和心率监测仪生物传感器的模块,由发光LED及驱动电路、光感应电路、AD转换电路、环境光干扰消除及数字滤波电路组成。,应用于可穿戴设备进行心率和血氧采集检测。,通信接口:I2C。,02,物理拓扑,串行数据线,串行时钟线,半双工通信,02,物理拓扑,02,02,特 征,02,02,协 议,总线空闲时,总线忙,其他设备不能访问总线,总线空闲时,起始结束条件,02,协 议,数据传输过程,02,协 议,主设备向指定设备发送数据的格式,从设备地址,0:主向从写;1:主向从读。,有效数据,02,02,操 作,主设备往从设备中写,02,操 作,主设备从从设备中读,02,操 作,复合格式,3,任务实施,I2C,主从连接,安装相应显示程序的apk,下载Hex文件,传感器安装,3,任务实施,给蓝牙通信模块上电,此时连接/通讯灯不亮,说明蓝牙通信模块还未广播蓝牙信号。按下功能键持续1.5秒以上,连接/通讯灯快速闪烁,说明蓝牙通信模块正在广播蓝牙信号。,连接/通讯灯,功能键,

    注意事项

    本文(传感网应用开发(高级)课件第5章.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开