版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《物联网组网技术及应用》项目1基于工业总线的机床温度管理项目2基于ZigBee的智能家居系统项目3基于Wi-Fi的智能家居联动项目4基于LoRa的厂区环境监测系统项目5基于蓝牙4.0的温度计系统全套可编辑PPT课件
项目一基于工业总线的机床温度管理全套可编辑PPT课件
01项目概述项目背景机器温度管理在工业生产中,机器温度管理是非常重要的。如果机器温度过高,会导致设备损坏,影响生产效率。因此,需要实现对机器温度的实时监控和管理。RS-485总线通信RS-485总线通信是工业生产中常用的通信协议之一,具有传输距离远、传输速度快的特点。本项目将基于RS-485总线通信来实现机床的温度信息检测功能。工业自动化随着工业生产的自动化程度不断提高,对生产设备的监控和管理要求也越来越高。本项目的研究背景是工业自动化,旨在解决工业生产中的实际问题。030201通过本项目的学习和实践,掌握总线的基础知识,包括数据总线、地址总线和控制总线等。掌握总线基础知识通过本项目的学习和实践,掌握RS-485标准的特性,包括电气特性、协议特性等。掌握RS-485标准特性通过本项目的学习和实践,了解Modbus协议的基础知识,包括协议结构、数据格式等。了解Modbus协议基础知识项目目标01020302任务描述与需求任务实施计划本节课我们计划完成项目的需求分析和设计,并完成项目的实施和测试。任务目标本任务的目标是开发一种基于RS-485总线通信的机床温度管理系统,以监测和控制机床的温度,确保机床的正常运行。任务内容车间生产设备因为摩擦会产生热量,工作时间的增加会导致机床高温,从而发生异常,本任务将采集机床温度,并通过RS-485总线进行数据传输。任务一:建立RS-485通信协议掌握总线的基础知识包括总线的基本概念、总线的分类、总线的特点等。掌握RS-485标准的特性包括RS-485标准的电气特性、信号特性、传输特性等。了解Modbus通信协议的基础知识包括Modbus通信协议的基本概念、协议结构、通信过程等。职业技能目标需求分析可靠性需求本项目的应用场合是工业现场,因此需要保证系统的可靠性和稳定性。数据分析需求本项目需要对接收到的数据进行分析和处理,因此需要对数据分析的方法和算法进行研究。数据传输需求本项目需要实现数据的发送和接收,因此需要对RS-485总线通信协议进行详细的分析和研究。03知识梳理串行通信是一种数据通信方式,它按位(bit)进行数据传输,每次传输一位数据,通过一定的时间间隔,将多位数据依次传输到目的地。串行通信总线是计算机各种功能部件之间传送信息的公共通信干线,由导线组成的传输线束。总线按功能和规范可分为数据总线、地址总线、控制总线、扩展总线和局部总线五大类型。总线总线与串行通信基础知识总线与串行通信基础知识RS-485通信属于串行通信范畴,是计算机与外设或其它计算机按位传输数据的通信方式。串行通信串行通信具有传输线少、成本低的特点,主要适用于近距离的人机交换、实时监控等系统通信工作。在计算机网络和分布式工业控制系统中,设备之间通常通过标准串行通信接口和通信电缆实现数据与信息交换。通信特点串行通信可通过电话网实现远距离传输,因此串行通信接口是计算机系统中的常用接口。远距离传输01020403数据交换RS-232接口标准接口信号电平高:RS-232接口标准出现较早,存在不足之处,主要问题是接口信号电平值较高,容易损坏接口电路芯片。逻辑关系与噪声容限:RS-232接口为负逻辑关系,逻辑“1”为-15~-3V,逻辑“0”为3~15V,噪声容限为2V。数据传输速率低:RS-232接口在异步传输时,数据传输速率为20000bps,51CPLD开发板中综合程序的数据传输速率只能采用19200bps。共地传输与抗噪声干扰性:RS-232接口使用共地传输形式,容易产生共模干扰,抗噪声干扰性弱。传输距离有限:RS-232接口标准的最大传输距离约为15m,无法满足长距离通信的需求。0102030405RS-485工作方式RS-485接口可以联网构成分布式系统,允许最多并联32个驱动器和32个接收器。RS-485接口特点RS-485电气特性RS-485的电气特性表现为逻辑“1”以两线间的电压差(2~6V)表示,逻辑“0”以两线间的电压差(-6~-2V)表示。RS-485采用半双工工作方式,发送电路须由使能信号加以控制,可以省掉许多信号线。RS-485串行总线RS-485接口特性RS-485多站能力RS-232-C接口在总线上仅允许连接一个收发器,具有单站能力;而RS-485接口在总线上允许连接多达128个收发器,具有多站能力。RS-485接口优势RS-485接口信号电平低,不易损坏接口电路芯片,且与TTL电平兼容。RS-485传输速率数据的最高传输速率为10Mbps,采用平衡驱动器和差分接收器的组合,抗共模干扰能力强。RS-485最大传输距离RS-485接口的最大传输距离的标准值约为1219m,实际上可达3000m。04任务实施开发板资源Cortex-M3内核开发板引出了STM32F103C8T6单片机的大部分I/O端口资源,用户可在此基础上根据需求开发完整的系统。Cortex-M3内核单片机的主频可达72MHz,是最早的一款32位单片机,对用户而言,便于开发,难度系数较低。硬件选型RS-485模块电路项目中开发板引出了RS-485模块电路,并预留出串口2,方便用户使用工业总线控制,并提供参考示例。串口2与RS-485需要注意的是,串口2和RS-485的功能不可以同时使用,因为只有一路串口。在使用时需要进行选择。RS485_Init函数RS485_Init(u32bound)函数用于实现RS-485接口的初始化,相关代码如下。RS485发函数和接收函数voidRS485_Send_Data(u8*buf,u8len)函数和voidUSART2_IRQHandler(void)函数通过RS-485实现了串口收发功能。main函数main函数首先对所有需要的硬件进行初始化,包含LED(发光二极管)、串口1、RS-485接口等,通过板载RS-485与计算机端RS-232接口实现数据收发。代码解析05任务二:搭建机床数据监控系统任务描述任务描述与需求车间生产设备因摩擦产生热量,工作时间增加导致机床高温异常,需要采集机床温度数据并通过Modbus通信协议进行传输。掌握传输方式需要掌握Modbus通信协议的传输方式,包括串口通信、网络通信和无线通信等,以确保数据的有效传输。0201Modbus通信协议Modbus概述Modbus通信协议由Modicon于1979年开发,是全球第一个真正用于工业现场的总线协议。目前施耐德电气公司已将所有权移交给Modbus-IDA组织,该组织的成立为Modbus通信协议的发展奠定了基础。Modbus通讯协议02电子控制器通用协议Modbus通信协议是应用于电子控制器上的一种通用协议,目前已成为通用工业标准。控制器之间或控制器与其他设备之间可通过此协议经由网络(如以太网)通信。工业网络集中监控Modbus通信协议使不同厂商生产的控制设备可以构成工业网络,进行集中监控。协议定义了消息帧结构,描述了控制器请求访问其他设备的过程、如何响应请求,以及如何侦测并记录错误。Modbus通讯协议02控制器识别消息在Modbus网络上通信时,每个控制器必须知道其设备地址,按地址识别发来的消息,决定要做何种动作。如果需要响应,那么控制器将按Modbus消息帧格式生成反馈信息并发送。应用层通信协议RS-485标准只对接口的电气特性做出相关规定,并未对接插件、电缆和通信协议等进行标准化,因此用户需要在RS-485总线网络的基础上制定应用层通信协议。一般来说,各应用领域的RS-485通信协议都是指应用层通信协议。通讯模型02Modbus是一种单主或多从的通信协议,在同一时间内总线上只能有一个主设备,但可以有一个或多个从设备。Modbus通信协议通信总是由主设备发起,从设备没有收到来自主设备的请求时,不会主动发送数据。通信模型主设备发送的请求报文包括设备地址、功能码、数据段、差错检测区。请求报文响应信息从设备的响应信息也包含设备地址、功能码、数据段和差错检测区,其中设备地址为本机地址。设备地址设备地址是被选中的从设备的地址,功能码用于告知被选中的从设备要执行何种功能。数据段数据段包含从设备要执行的功能的附加信息,差错检测区为从设备提供数据校验方法。通信模型在Modbus网络中,主设备向从设备发送Modbus请求报文的模式有单播模式和广播模式两种。主设备模式通信模型主设备寻址单个从设备,从设备接收并处理完毕后向主设备返回一个响应报文。单播模式主设备向Modbus网络中的所有从设备发送请求报文,从设备接收并处理完毕后不要求返回响应报文。广播模式Modbus通信协议基于不同的物理链路存在不同的通信模式,如串行链路的RTU和ASCII模式,以太网链路的TCP模式。modbus通信模式三种通信模式的数据模型与功能调用是相同的,唯一的不同之处在于传输报文的封装方式。通信模式的数据模型通信模式寄存器寄存器是CPU内部的一种存储单元,用于存储数据和指令。寄存器概述表1-2-1
Modbus寄存器的分类与特性寄存器种类特性说明实际应用线圈(Coil)状态输出端口(可读可写),相当于PLC的数字量输出(DO)LED显示、电磁阀输出等离散输入(DiscreteInput)状态输入端口(只读),相当于PLC的数字量输入(DI)接近开关、拨码开关等保持寄存器(HoldingRegister)输出参数或保持参数(可读可写),相当于PLC的模拟量输出(AO)模拟量输出设定值、PID运行参数、传感器报警阈值等输入寄存器(InputRegister)输入参数(只读),相当于PLC的模拟量输入(AI)模拟量输入值Modbus通信协议在不同物理链路上的消息帧是有差异的,此处主要介绍串行链路RTU模式的Modbus消息帧格式。在RTU模式中,消息的发送与接收以至少3.5个字符时间的停顿间隔为标志。消息帧格式表1-2-2典型的ModbusRTU消息帧格式起始位地址功能码数据CRC结束符≥3.58位8位n个8位16位≥3.5个字符消息帧格式表1-2-2典型的ModbusRTU消息帧格式起始位地址功能码数据CRC结束符≥3.58位8位n个8位16位≥3.5个字符消息帧各组成部分及其功能如下。(1)地址域。地址域存储了Modbus通信帧中的从设备地址,ModbusRTU消息帧的地址域长度为1字节。在Modbus网络中,主设备没有地址,每个从设备都具有唯一的地址。从设备的地址范围为0~247,其中,地址0作为广播地址,因此从设备实际的地址范围是1~247。在下行帧中,地址域表明只有符合地址范围的从设备才能接收由主设备发送的消息。上行帧中的地址域指明了该消息帧来自哪一设备。(2)功能码域。功能码域指明了消息帧的功能,其取值范围为1~255(十进制)。(3)数据域。数据域与功能码紧密相关,是存储功能码需要操作的具体数据。数据以字节为单位,长度是可变的。(4)CRC(CyclicalRedundancyCheck,循环冗余校验)域。ModbusRTU消息帧的CRC域由2字节构成,其值是通过对全部报文内容进行CRC计算得到的,计算对象包括CRC域之前的所有字节。在CRC域中添加消息帧时,先添加低字节再添加高字节,因此最后1字节是CRC域的高字节。添加代码包添加湿度传感器驱动代码包添加RS-485总线数据收发的相关代码包添加Modbus通信协议的相关代码包核心代码解析0102u8ModBus_ReadTemp(void){
RS485_Send_Data(readtemp,8);
}u8ModBus_ReadHumi(void){ RS485_Send_Data(readhumi,8);}voidModBus_RecData(void)//表示从设备发来的数据{ if(recflag==1) { if(RS485_RX_BUF[0]==0x01)//地址为1 { switch(RS485_RX_BUF[1])//判断功能码 { case4://读数据寄存器 calCRC=CRC_Compute(RS485_RX_BUF,RS485_RX_CNT-2);recCRC=((u16)RS485_RX_BUF[RS485_RX_CNT-2]<<8)|RS485_RX_BUF[RS485_RX_CNT-1];//读取CRC if(calCRC==recCRC)//表明CRC正确 { if(RS485_RX_BUF[2]==0x02)//读取2字节 { if(count%2)//湿度humi=(float)((u16)(RS485_RX_BUF[3]<<8)|RS485_RX_BUF[4])/10.0; else//温度temp=(float)((u16)(RS485_RX_BUF[3]<<8)|RS485_RX_BUF[4])/10.0; } } break; } }项目二基于ZigBee的智能家居系统01建立ZigBee硬件环境智能家居系统介绍智能家居利用物联网技术将家居设备互联互通,实现智能化控制、远程监控等功能。智能家居定义智能家居系统能提升家居安全性、健康性、舒适性和智能化水平。智能家居生活场景,包括智能窗帘、智能照明、智能安防等。系统带来的变革智能家居系统能在日常生活中带来许多便利,如早晨自动播放音乐唤醒,晚上自动调节灯光和温度,远程监控家中安全等。日常生活示例01020403场景设计并实现一个基于ZigBee技术的智能家居控制系统。项目目标实现家居设备的自动化控制、远程监控、数据收集与分析等功能。预期成果完成CC2530的I/O端口控制实验、完成CC2530的串口通信实验、完成CC2530的温湿度采集和串口发送实验。任务需求项目概述010203ZigBee技术简介技术应用领域智能家居、工业自动化、健康监测等。ZigBee技术特点低功耗、高安全性、自组织网络、短距离通信等。CC2530芯片概述CC2530芯片是一种片上系统(SoC),支持ZigBee/IEEE802.15.4协议,包括8051CPU、RF收发器、内存等。ZigBee模块采用的CC2530是由德州仪器(TI)公司生产的可支持IEEE802.15.4、ZigBee和RF4CE标准的片上系统(SoC)解决方案。CC2530集成了业界领先的射频收发器和增强型8051单片机,运行内存为8KB,配备了32KB、64KB、128KB、256KB的闪存块,还集成了一系列功能强大的外设。在软件方面,CC2530支持RemoTI、Z-Stack、SimpliciTI等协议栈和BasicRF通信协议,极大地简化了使用者的开发流程。CC2530能够以非常低的总材料清单成本构建健壮的网络节点。CC2530芯片特性IAREmbeddedWorkbenchfor8051TI
公司提供的BasicRF软件包中的示例程序是基于IARSystems公司开发的IAREmbeddedWorkbenchfor8051集成开发环境(IntegratedDevelopmentEnvironment,IDE)建立的。IARSystems公司是全球领先的嵌入式系统开发工具和服务的提供商,成立于1983年,其提供的产品和服务涉及嵌入式系统的设计、开发和测试的每个阶段,包括C/C++编译器、调试器的IDE、实时操作系统、中间件、开发套件、硬件仿真器及状态机建模工具,最著名的产品是IAREmbeddedWorkbenchfor8051,支持ARM、AVR、MSP430等众多芯片内核平台。安装与配置步骤(略)安装IAREmbeddedWorkbenchfor8051CCDebugger调试器CCDebugger是用于TI公司的低功耗射频片上系统的小型编程器和调试器,支持TI公司的多个CC系列产品线。CCDebugger可以与IAREmbeddedWorkbenchfor8051(7.51A
或更高版本)一起使用以进行调试,还可与SmartRFFlashProgrammer(闪存编程器)一起使用以进行闪存编程。另外,CCDebugger还可用于控制SmartRFStudio中的所选器件。开发环境与工具I/O端口控制实验实验目的掌握GPIO(通用输入/输出)配置和LED(发光二极管)控制方法。由于LED具有单向导电特性,即只有在正向电压(正极接正,负极接负)下才能导通发光。P1.0接LED(VD1)的负极,所以当P1.0输出低电平时,VD1点亮;当P1.0输出高电平时,VD1熄灭。P1.0的相关寄存器如表2-1-1所示。I/O端口控制实验P1.0的配置:按照表2-1-1,对P1.0进行配置,当P1.0输出低电平时,VD1点亮,所以配置如下。I/O端口控制实验核心代码讲解:下面为核心代码讲解。main函数作为程序入口,首先实现了LED的初始化,然后进入一个死循环,通过对LED的高、低电平转换和延时实现了LED的闪烁。CC2530的串口通信实验实验功能:使用P0_2作为RX(接收端),使用P0_3作为TX(发送端),将P0_2、P0_3配置为外设功能。USART0和USART1是串行通信接口,它们能够分别运行于异步UART(通用异步收发器)模式或者同步SPI(串行外设接口)模式,两个USART(通用同步/异步收发器)具有同样的功能.通过实验掌握CC2530串口的配置与使用,并通过串口调试助手实现字符串的数据收发。U0CSR(USART0控制和状态寄存器)、U0GCR(USART0通用控制寄存器)、U0BAUD(USART0
波特率控制寄存器)、U0DBUF(USART0接收/发送数据缓存寄存器)、UTX0IF(发送中断标志寄存器)、CLKCONCMD(时钟控制命令寄存器)、CLKCONSTA是一个只读寄存器,用于获得当前时钟状态寄存器:CC2530的串口通信实验CC2530配置串口的步骤:配置I/O,使用外设功能,此处将P0_2和P0_3作为串口UART0。配置相应串口的控制和状态寄存器。12配置串口工作的波特率。3CC2530的温湿度采集和串口发送实验实验功能:接收温湿度传感器DHT11采集的温湿度数据,并通过串口向串口调试助手发送数据。实验相关的寄存器中用到了串口和P0_7,前面已详细讲解了串口相关寄存器的配置与使用,此处不再赘述。DHT11程序采用模块化编程的思想,仅需调用温度读取函数即可,移植到其他平台也非常容易。02ZigBee的原理及协议栈通信IEEE802.15.4IEEE802.15.4是一种技术标准,由IEEE802.15工作组开发2003年发布针对物联网领域定义了低速无线个域网(LR-WPAN)的物理层和MAC层应用于家庭自动化、工业控制等ZigBee近距离、低功耗、低成本无线通信技术适用于传输速率和距离要求不高的场景,工作频段:2.4GHz、868MHz、915MHz传输速率:最高250kbps,距离10~80mBasicRF由TI公司为CC2530提供,基于IEEE802.15.4或ZigBee包含硬件抽象层、BasicRF层和应用层提供简单的双向无线收发协议和数据安全认识IEEE802.15.4、ZigBee和BasicRF三者之间关系IEEE802.15.4为基础,定义物理层和MAC层ZigBee构建于IEEE802.15.4之上,包含网络层和应用层BasicRF基于IEEE802.15.4,功能相对简单,主要用于演示,限制和特点:不自动加入网络,无组网指示;仅支持点对点通信,无网络角色定义;传输时不完全遵循CSMA-CA协议;缺少数据包重传机制高安全性数据完整性检查与鉴权AES加密算法保护灵活的安全属性配置低成本简化的协议减少了对控制器的要求免协议专利费用内存占用小:主节点32KB,子节点4KB低时延快速设备搜索与激活适用于高时延要求的控制领域网络容量大高可靠性物理层扩频技术抵抗干扰MAC层应答重传与CSMA机制动态信道切换能力低功耗低传输速率与发射功率支持休眠模式,延长电池寿命设备续航可达6个月至2年支持多种网络结构:星形、簇树形、网状可组成包含65000个节点的大型网络ZigBee的特点ZigBee与其他短距离无线通信技术在物联网技术的应用领域中,常见的短距离无线通信技术除ZigBee外,还有Wi-Fi和蓝牙,下面从工作频率、传输速率、典型应用等方面对三种通信技术进行简单的比较,特征对比下表所示。特征Wi-Fi蓝牙ZigBee工作频率2.4GHz价格贵便宜较便宜通信距离100~300m2~30m50~300m传输速率300Mbps3Mbps250kbps功耗高低低设备连接能力中弱强安全性低高高组网能力较弱节点多、稳定性稍逊于ZigBee节点多、稳定性高典型应用无线局域网可穿戴设备家居智能化Zigbee技术多领域应用在数字家庭中的应用Zigbee技术可用于智能家居系统,实现家电设备的无线控制和互联互通。在工业领域的应用Zigbee技术可用于工业自动化控制系统,实现设备间的无线通信和数据传输。在农业领域的应用Zigbee技术可用于农业物联网系统,监测环境参数和控制农业设备。在医疗领域的应用Zigbee技术可用于医疗监护系统,实时监测患者的生理参数并传输数据。任务实施BasicRF无线点灯实验:通过BasicRF实现无线通信功能,以无线控制LED开关。1)BasicRF的启动确保外设没有问题。创建一个basicRfCfg_t的数据结构,并初始化其中的成员。1. typedefstruct{2. uint16myAddr; //16位的短地址(就是节点的地址)3. uint16panId; //节点的PAN_ID4. uint8channel; //RF通道(必须在11~26)5. uint8ackRequest; //目标确认时设置为true6. #ifdefSECURITY_CCM //是否加密,预定义中取消了加密uint8*securityKey;7. uint8*securityNonce;8. #endif9. }basicRfCfg_t;调用basicRfInit函数进行协议的初始化,具体代码可以在“basic_rf.h”文件中找到,即uint8basicRfInit(basicRfCfg_t*pRfConfig)。任务实施2)BasicRF的发送(1)创建一个buffer,把payload放入其中。payload的最大字节数为103。(2)调用basicRfSendPacket函数发送数据,并查看其返回值,具体代码可以在“basic_rf.c”文件中找到,即uint8basicRfSendPacket(uint16destAddr,uint8*pPayload,uint8length)。其中,destAddr表示目的地址;pPayload表示指向发送缓冲区的指针;length表示发送数据长度。函数功能:向短地址发送指定长度的数据,若发送成功,则返回SUCCESS;若发送失败,则返回FAILED。BasicRF发送的代码如图2-2-4所示。3)BasicRF的接收(1)上层通过basicRfPacketIsReady函数来检查是否接收到一个新数据包,具体代码可以在“basic_rf.c”文件中找到,即uint8basicRfPacketIsReady(void)。函数功能:检查模块是否已经可以接收下一个数据,若准备就绪,则返回TRUE。(2)调用basicRfReceive函数,把接收到的数据复制到buffer中,具体代码可以在“basic_rf.c”文件中找到,即uint8basicRfReceive(uint8*pRxData,uint8len,int16*pRssi)。函数功能:接收来自BasicRF层的数据包,并为接收的数据和RSSI(接收信号强度指示)值配置缓冲区。任务实施03设计Zigbee智能家居的应用功能了解智能家居场景的功能了解智能家居场景的功能,包括照明控制、电器控制、安全防范等方面的应用,能够根据需求设计出符合实际的智能家居场景。熟悉协议栈并通过协议栈搭建应用系统熟悉ZigBee协议栈的结构和特点,掌握通过协议栈搭建应用系统的方法,包括定义应用层、创建绑定表、建立安全机制等。职业技能目标智能家居系统设计通过协议栈完成智能家居系统的设计,实现智能家居功能的场景。无线通信搭建场景通过ZigBee协议栈完成ZigBee无线组网,通过无线通信搭建智能家居场景。任务描述利用ZigBee技术实现智能家居系统的无线组网,构建起一个全新的网络结构。ZigBee无线组网通过无线通信技术,将智能家居场景中的各个设备连接起来,形成一个完整的系统。无线通信搭建场景任务需求ZigBee的定义无线传感器网络无线传感器网络是大规模、无线、自组织、多跳、无分区、无基础设施支持的网络,其中的节点同构且成本较低、体积较小,大部分节点不移动,随意分布在工作区域。ZigBee的定义ZigBee是IEEE802.15.4协议的代名词,是一种短距离、低功耗的无线通信技术,特点在于近距离、低复杂度、自组织、低功耗、低传输速率、低成本,主要适用于自动控制和远程控制领域。物联网的定义物联网是通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,将任何物体与互联网连接,进行信息交换和通信。030201ZigBee的特点ZigBee的特点使其成为嵌入式设备的理想选择,可以嵌入各种设备中实现无线通信功能,为设备提供更灵活的连接方式,并降低设备的功耗和成本。ZigBee与其它技术无线传感器网络可以采用ZigBee、蓝牙、Wi-Fi和红外线等技术,而ZigBee是一种双向无线通信技术,基于IEEE802.15.4无线标准研制和开发。ZigBee的定义ZigBee协议栈建立在IEEE802.15.4的物理层和介质访问控制层的规范之上,实现了网络层和应用层。在应用层内提供了应用程序支持子层(APS)和ZigBee设备对象(ZDO)。ZigBee协议栈建立规范ZigBee协议的体系结构ZigBee设备对象是特殊的应用程序对象,在端点0上实现。远程设备通过ZigBee设备对象请求描述符信息,接收到请求时,会调用配置对象获取相应的描述符值。ZigBee的设备对象ZigBee应用层包括应用程序支持子层、ZigBee设备对象和制造商定义的应用程序对象。应用程序支持子层的功能包括维持绑定表、在绑定的设备之间传送消息。ZigBee应用层功能ZigBee设备对象功能ZigBee设备对象的功能包括定义设备在网络中的角色,发起和响应绑定请求,在网络设备之间建立安全机制。ZigBee设备对象还负责发现网络中的设备,并提供应用服务。ZigBee应用层服务接口ZigBee应用层除提供一些必要的函数及为网络层提供合适的服务接口外,还有一个重要的功能是定义应用程序对象。运行在ZigBee协议栈上的应用程序实际上就是厂商自定义的应用程序对象,并且遵循规范运行在端点1~240上。ZigBee协议的体系结构ZigBee协议栈的安装协议栈目录协议栈目录包括“Components”、“Documents”、“Projects”和“Tools”等文件夹,分别用于存储库代码、开发文档、例子程序和工具。工程文件平台注意事项从软件开发专业角度建议复制工程至非中文目录,避免有些开发环境不支持中文路径的问题。如果文件目录太长,打开工程时IAR可能会关闭,只需将工程上移几层即可。安装协议栈双击“ZStack-CC2530-2.5.1a.exe”文件进行安装,可以选择默认路径或自定义安装路径。030201ZigBee协议栈驱动的温湿度传感器温湿度传感器移植我们在基础实验中已经完成了温湿度传感器的驱动,现在需要将温湿度传感器移植到协议栈ZStack上。无线温湿度采集协议栈应用与组网在ZStack点播实验中,使用点播终端设备针对性地向指定设备发送数据,而广播和组播可能会造成数据的冗余。打开ZigBee协议栈,将基础实验中的“DHT11.c”和“DHT11.h”文件复制至“SampleApp”下的“Source”文件夹中。App是应用层目录,是用户创建各种不同工程的区域。HAL是硬件层目录,包含与硬件相关的配置、驱动及操作函数。协议栈文件结构NWK是网络层目录,包含网络层参数配置文件、网络层库的函数接口文件及应用程序支持子层库的函数接口文件。网络层与安全层OSAL是协议栈的操作系统。Profile是应用框架层目录,包含应用框架层处理函数文件。协议栈操作系统ZigBee协议栈驱动的温湿度传感器ZigBee实现家居灯光控制系统家居灯光控制系统首先需要检测家内是否有人和家内的光照情况,根据检测结果判断是开灯还是关灯,然后控制灯的开关,仅在家内有人且光照度较低的情况下开灯。整个系统由光照度检测子系统、人员检测子系统、数据处理节点和灯开关控制子系统组成。光照度检测节点光照度检测子系统作为家居光照度信息监测的信息采集发送部分,由光照度检测节点完成功能。传感器获取数据判断照明条件光照度检测子系统通过光照度传感器获得光照度数据,并以ADC(模数转换器)的方式得到2字节的光照度数据。将处理结果发送至数据处理节点,由该节点判断光照度是否满足照明条件,确保家居环境的舒适与安全。人员检测子系统负责周期性检测家内是否有人,并将检测结果发送至数据处理节点。人体红外传感器通过判断人体红外传感器输出的电平高低得到检测结果,有人时返回值为“1”,无人时返回值为“0”。电平判断根据读取的结果,向数据处理节点发送检测结果,确保系统能够及时处理数据。发送检测结果数据处理节点的工作原理如图2-3-10所示,数据处理节点通过接收其他节点的数据,综合判断得到控制命令,并发送给灯开关控制节点。数据处理节点的职责接收光照度检测节点和人员检测节点的数据,通过综合判断得到开灯或关灯的控制命令,并将控制命令发送至灯开关控制节点。数据处理节点的实现由ZigBee网络中的协调器节点完成,负责询问网络中的节点角色并记录地址,接收处理函数负责接收数据并记录传感器状态。灯开关控制节点的职责根据数据处理节点的控制命令,负责执行开灯或关灯的操作,以确保照明设备的正常运行和能源的有效管理。数据处理节点灯开关控制子系统:灯开关控制子系统是智能家居中的重要组成部分,负责接收并执行数据处理节点发送的控制命令,完成对灯开关的控制。01继电器控制灯开关:灯开关控制子系统上有4个可控的继电器,可以通过发送1字节的控制命令来控制这些继电器,每位对应一个继电器。02灯开关控制子系统THANKS感谢观看项目三基于Wi-Fi的智能家居联动01智能家居项目通过项目二,我们已经完成了ZigBee的无线组网,实现了底层的传感器、控制器、报警器等相关设备的无线组网,搭建了本地局域网络,实现了智能家居项目中的底层数据汇聚和传输。本项目将实现底层数据的远程传输和云端传输功能,以及数据的应用层开发和应用。项目介绍基于wifi的智能家居联动02任务一Wi-Fi控制通信了解Wi-Fi无线通信了解Wi-Fi的无线通信原理、特点以及应用,熟悉Wi-Fi模块的AT指令手册。配置AT指令根据需求配置AT指令,实现Wi-Fi的配置。职业技能目标任务描述与需求通信距离与速度掌握如何通过AT指令设置Wi-Fi模块的通信距离和速度,以确保稳定的网络连接。了解Wi-Fi模块了解Wi-Fi模块及其通信时的AT指令,能够通过AT指令实现Wi-Fi模块通信。知识梳理了解IEEE802.11系列标准的发展与演变,包括IEEE802.11-1997、IEEE802.11b、IEEE802.11a等。Wi-Fi标准与特性WLAN是设备利用射频技术在免授权频段中进行无线连接,在局部范围内建立的网络。WLAN通常由站点、接入点、无线介质和分布式系统等部分组成,实现无线网络的通信和连接。WLAN与IEEE802.11Wi-Fi技术是世界上最热门的WLAN标准,早期专门指代IEEE802.11b,后成为IEEE802.11家族的代名词。Wi-Fi的发展01020403WLAN的组成及拓扑结构03Wi-Fi模块及相关AT指令ESP8266ESP8266是一款超低功耗的UART-Wi-Fi透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术。封装方式ESP8266有多种封装方式,天线可支持板载PCB天线、IPEX接口和邮票孔接口三种形式。应用领域ESP8266可广泛应用于智能电网、智能交通、智能家居、手持设备、工业控制等领域。产品特性支持IEEE802.11b/g/n标准,三种工作模式,内置TCP或IP协议栈,支持多路TCPClient连接。硬件介绍ESP8266硬件接口丰富,可支持UART、I2C、PWM、GPIO、ADC等,适用于各种物联网的应用场合。工作模式ESP8266支持STA、AP、STA+AP三种工作模式,可兼作应用处理器,超低能耗,适合为电池供电。Wi-Fi模块及相关AT指令010402050306测试AT语法规则如表3-1-1所示,确保AT指令能够正确执行。测试ATAT+CWMODE,用于选择Wi-Fi的应用模式选择Wi-Fi应用模式AT+CWLAP,用于列出当前可用的接入点列出当前可用接入点Wi-Fi的AT指令配置Wi-Fi的AT指令配置设置AP模式下的参数AT+CWSAP,用于设置AP模式下的相关参数。退出接入点AT+CWQAP,用于退出当前接入的接入点。加入接入点AT+CWJAP,用于加入指定的接入点。AT+CIPSTART,用于建立TCP或UDP连接。建立TCP/UDP连接AT+CIPSTATUS,用于获取TCP或UDP连接的当前状态。获得TCP/UDP连接状态AT+CIPMUX,用于启动多路连接模式。启动多路连接模式Wi-Fi的AT指令配置发送数据AT+CIPCLOSE,用于关闭TCP或UDP连接。关闭TCP/UDP连接获取本地IP地址AT+CIFSR,用于获取本地IP地址,。AT+CIPSEND,用于发送数据。Wi-Fi的AT指令配置Wi-Fi的AT指令配置选择TCP/IP应用模式AT+CIPMODE,用于选择TCP或IP的应用模式。设置服务器主动断开连接的超时时间AT+CIPSTO,用于设置服务器主动断开连接的超时时间。设置波特率AT+CIOBAUD,用于设置波特率。发送AT指令开启服务器模式设置AP模式收发数据发送AT指令,若使用带Wi-Fi模块的接口,则不会有硬件连接错误的情况,所以可以不发送AT指令。开启服务器模式。发送“AT+CIPMUX=1”和“AT+CIPSERVER=1,6666”指令,因为在开启多路连接模式时才能开启服务器模式。发送“AT+CWMODE=2”或者“AT+CWMODE=3”指令。指令格式为AT+CWMODE=<mode>,其中,<mode>为1(STA模式)、2(AP模式)、3(STA+AP模式)。响应返回数据:OK。设置AP模式。通过网络调试助手在TCPClient模式,下添加“IP:(模块默认的IP地址),端口6666(上一步设置的)”来收发数据。AT指令操作说明04Wi-Fi接收温度任务描述与需求职业技能目标能够根据项目需求设计项目流程。能够完成CC2530单片机与Wi-Fi模块的接口程序,并组建Wi-Fi网络。任务描述与需求能够通过微处理器采集温度数据,并将数据通过Wi-Fi传输至检测终端。项目实施项目相关电路图DS18B20输出引线:红色(VCC)、白色(DATA)、黑色(GND)或者为红色(VCC)、绿色(DATA)、黄色(GND),焊接时DS18B20的白色或绿色引线在接插件3只引脚的中间,将DS18B20的红色引线插入开发板P10的3.3V就可以使用了。实验中用到了串口和P0_7,前面已详细讲解了串口相关寄存器的配置与使用,此处不再赘述。DS18B20程序采用模块化编程思想,仅需调用温度读取函数,移植到其他平台也非常容易。DS18B20接线和实物如图3-2-1所示。main函数作为程序的主入口,实现了串口、Wi-Fi模块、LED、温度传感器的初始化,采集数据后通过计算机或者手机的Wi-Fi连接至网络中运行的服务器来接收程序,并进行数据采集和控制。voidmain(void)Get_DS18B20函数为温度传感器驱动函数,相关代码如下。.charGet_DS18B20(void)向Wi-Fi模块发送AT指令来控制Wi-Fi模块charSendDataToWifi(char*str,intlen)向Wi-Fi模块发送AT指令来控制Wi-Fi模块,检测Wi-Fi模块返回的数据中有无“OK”。如果没有“OK”,那么LED1灯闪烁以提示用户检查硬件连接。charSendAT(char*string)核心代码介绍05Wi-Fi环境采集目标任务描述职业技能目标能够基于协议栈进行环境采集。能够使用Wi-Fi模块接收协调器采集的终端环境数据。任务描述与需求能够通过协调器和终端进行ZigBee无线组网,通过无线组网将ZigBee终端数据发送给协调器,协调器和Wi-Fi模块通过串口进行数据通信,ZigBee终端与Wi-Fi模块连接,并接收Wi-Fi模块发送的数据。CC2530串口功能介绍CC2530芯片具有两个多功能串口:USART0和USART1。每个串口支持异步UART和同步SPI模式。串口功能可配置在备用I/O引脚上USART0:USART0:位置1:P0_2(RX),P0_3(TX)位置2:P1_4(RX),P1_5(TX)USART1:位置1:P0_5(RX),P0_4(TX)位置2:P1_7(RX),P1_6(TX)数据位:支持8位或9位数据传输。校验方式:可配置奇校验、偶校验或无校验。起始位和停止位:可配置电平。数据发送顺序:可选择最低有效位或最高有效位优先。中断和DMA:支持独立接收中断和DMA触发。USART模式的功能特性PERCFG:控制外设功能。P2DIR:控制端口方向和外设优先级。IEN0:使能中断。IRCON2:中断标志。UxCSR/UxUCR/UxGCR:控制USART的工作状态。UxBUF:数据缓冲。UxBAUD:控制波特率。关键寄存器及其作用1.配置串口备用位置和外设控制寄存器。2.配置I/O端口,如P0_2和P0_3用于USART0。3.设置端口外设优先级。4.配置USART0的控制和状态寄存器。5.设置波特率为115200bps。6.清零中断标志位,配置中断使能。串口配置流程ESP8266初始化staticuint8InitESP8266(void)函数用于初始化ESP8266模块,为其配置相关的参数和模式,以确保其能够正常工作。接收协调器数据voidSerialApp_SendPeriodicMessage(void)函数用于接收协调器数据。Wi-Fi数据发送staticvoidSerialApp_Send(void)函数用于发送Wi-Fi数据,将数据通过串口接收并处理,然后通过Wi-Fi网络进行传输。协议栈采集数据通过Wi-Fi进行传输THANKS感谢观看项目四基于LoRa的厂区环境监测系统项目四基于LoRa的厂区环境监测系统01搭建LoRa的厂区环境监测系统任务一:搭建LoRa认知及环境职业技能目标:任务需求:了解低功耗广域技术和LoRa协议的相关内容。能够搭建开发环境并完成程序的移植、配置、调试与下载。任务描述:城市的发展对工厂的生产环境提出了更高的要求,为了满足这一要求,需要采集大型工厂不同区域的环境,实现对工厂环境的管控。任务需求:通过本任务了解低功耗广域技术,并且能够搭建开发环境,测试开发功能。低功耗广域技术(LPWA)概述LPWA定义:实现低功耗下的远距离无线信号传输技术对比:BLE、ZigBee、Wi-Fi:短距离、高功耗LPWA:千米级传输,链路预算高达160dBm优势:低功耗、长寿命电池使用,推动物联网技术革命应用前景:适用于广泛的物联网部署,实现物物互联短距离ZigBeeBluetoothWi-Fi长距离蜂窝移动通信技术低功耗广域技术LPWA物联网通信技术LPWAN技术LPWAN概念:利用LPWA技术构建的无线通信网络技术分类:非授权频段技术:LoRa:由Semtech公司提出,全球LoRa联盟支持SigFox:法国SigFox公司提出,但在中国未应用授权频段技术:NB-IoT:基于蜂窝网络的物联网技术eMTC(LTEEnhancedMTO):基于LTE的优化物联网技术特点:广覆盖、低功耗、低成本运营维护支持高速率数据传输,适应多样化物联网应用Lora定义与特点Lora是一种基于扩频技术的长距离无线通信协议,具有低功耗、广覆盖、大连接等特性。Lora技术创建及推广背景随着物联网的快速发展,对于低功耗、长距离、大规模的无线通信需求日益增长,Lora技术应运而生并得到广泛推广。Lora主要运行频段Lora主要在非授权的Sub-GHz频段运行,如433MHz、863-870MHz等,这些频段具有较好的传播特性和较低的功耗。030201Lora技术简介2013年8月,Semtech公司发布LoRa芯片,使用Sub-GHz频段,具备超长距离和低功耗数据传输技术。LoRa芯片的接收灵敏度达到-148dBm,比业界其他同类产品高20dBm以上,极大提高网络连接的可靠性。LoRa芯片使用线性扩频调制技术,既保持低功耗特性,又增加通信距离,增强抗干扰性能。LoRa网络中的集中器或网关可并行接收并处理多个LoRa节点的数据,因此系统容量大大提高。LoRa的技术背景LoRa芯片发布接收灵敏度线性扩频调制并行处理传输距离远LoRa技术具有远距离传输的特点,在市区城镇内可达2km~5km,在郊区可达15km及以上。传输速率低LoRa技术的传输速率较低,数千比特/秒到数万比特/秒,适用于低速率数据传输的应用场景。工作频段免授权LoRa技术工作在免授权的ISM频段,无需申请频率使用权,方便快捷。成本低LoRa网关价格低,企业可自行组网,降低了运营成本,提高了经济效益。低功耗LoRa技术的功耗较低,电池寿命可达10年,降低了设备运营成本,提高了设备的使用寿命。容量大LoRa网关可连接上万个节点,满足了物联网设备海量连接的需求,提高了网络覆盖和稳定性。LoRa的技术特点010402050306适合的物联网应用智慧农业智慧城市智慧消防研发LoRa模块的企业应用领域LoRa的技术特点决定了其适合部署在传输距离远、功耗低及容量大的物联网应用场景,可满足定位跟踪的应用需求。LoRa可应用于智慧城市、智慧消防、智慧农业、智慧医疗、智慧油田等领域,我国已开展了LoRa网络的建设。据统计,我国有多家企业已开展了LoRa模块的研发工作,如AUGTEK、普天通达、锐捷网络等。利用LoRa技术,可以实时监测土壤湿度、温度、光照等环境因素,以及动植物的生长情况,为农业生产提供科学依据,实现精准养殖和灌溉,提高农业生产效率。通过部署LoRa网络,可以有效地解决城市管理中的问题,如人工抄表、井盖监控和垃圾桶管理,提高城市管理的效率和安全性。通过部署智能、无线、独立式烟感探测器等设备,监测异常情况并上报数据至网关,解决消防安全监控盲点问题。LoRa的应用场景02任务实施硬件选型LoRa终端节点架构LoRa终端节点负责将传感器数据上传至LoRa网关,由传感器模块、微处理器模块、LoRa射频模块和电源模块构成。微处理器模块选型微控制器性能对比微处理器需要能运行LoRaWAN协议栈,并且具有低功耗、大容量、碰撞处理合理和数据使用安全等优点。通过对比S78S、STM32L152RET6和ATMEGA328P,最终选取了搭载ATMEGA328P的Arduino开发板。硬件选型电源模块ArduinoUNO的电源模块可以通过计算机的USB接口或直流电源座供电,使用UARTTTL(5V)串行通信与计算机通信。LoRa射频模块选型DraginoLoRaShield是一个支持无线LoRa协议的、用于Arduino的扩展板,可以作为LoRa射频模块的选择之一。ArduinoUNO模块ArduinoUNO是搭载ATMEGA328P微处理器的Arduino开发板,有14个输入/输出引脚、6个模拟输入引脚、16MHz晶体滤波器等。030201下载ArduinoIDE选择BoardsManager添加DraginoBoards信息选择LoRa模块添加URL安装ArduinoIDE从Arduino官方网站下载最新版本的ArduinoIDE,双击安装程序进行安装。打开ArduinoIDE,选择“File”→“Preferences”选项,弹出“Preferences”对话框。在“AdditionalBoardsManagerURLs”文本框中添加URL,单击“OK”按钮确认。选择“Tools”→“Boards”→“BoardsManager”选项,弹出“BoardsManager”对话框。在“BoardsManager”对话框中,添加DraginoBoards信息。在ArduinoIDE中添加DraginoBoards信息后,可以看到来自IDEBoard的信息。对于LoRa模块,应该选择“ArduinoUno-DraginoYun”选项。开发环境的搭建——ArduinoIDE库文件引入程序中定义了一个RH_RF95对象rf95,用于控制RF95无线通信模块。还定义了一个浮点型变量frequency,用于设置通信频率。定义变量定义宏程序通过#define指令定义了BAUDRATE宏,用于设置串口通信波特率。如果使用DraginoYun网络固件,可以取消注释第15行代码,将BAUDRATE设置为250000。程序开始部分通过include指令引入所需的库文件,如<OneWire.h>、<SPI.h>、<RH_RF95.h>和<Console.h>。实验核心代码讲解初始化设置在setup()函数中,程序首先调用Bridge.begin()初始化串口通信,然后调用Console.begin()启动控制台输出。初始化rf95如果rf95初始化失败,Console.println("initfailed")将打印错误消息。成功初始化后,设置发射功率为20dBm,工作频率为868MHz。主循环函数在loop()函数中,程序将不断循环执行各种操作,如读取温度、湿度等传感器数据,并通过串口或无线方式将数据发送给上位机或其它设备。实验核心代码讲解010203终端节点网关终端节点通常是各类传感器,用于数据采集、开关控制等。网关是LoRaWAN网络中的重要实体,负责收集节点数据并进行封装、转发。LoRaWAN的网络实体网络服务器网络服务器主要负责上、下行数据包的完整性校验,确保数据的准确性和完整性。应用服务器应用服务器负责OTAA设备的入网激活及应用数据的加密和解密,提供API供用户发送数据。03LoRa与云服务器通信硬件实现任务二:LoRa与云服务器通信硬件实现职业技能目标:任务需求:了解HTTP、RESTfulAPI、MQTT协议。能够通过源代码在HTTP中调用RESTfulAPI。能够通过MQTT协议上传数据。任务描述:任务一实现了场景搭建,本任务对需要采集的温湿度及光照度数据进行汇聚并且实现数据的存储、发送和控制。任务需求:基于Arduino开发板采集传感器数据,通过源代码在HTTP中调用RESTfulAPI,以实现通过MQTT协议上传数据。前端与后端分离RESTful规范RESTfulAPI作为中间接口可以实现不同开发语言、微处理器、架构的标准化转换。多种语言协同后端负责数据采集,前端负责数据渲染和呈现,调用指定API获取数据并展示,呈现动态过程。RESTfulAPI使用HTTP请求GET、PUT、POST、DELETE数据,用于传感器与上行平台通信,后面的设计通过RESTfulAPI与云服务器通信,上传或下载数据,适用于智能设备移动端。HTTP与RESTfulAPI下位机通信协议JSON格式数据MQTT协议运行环境MQTT协议优势下位机使用MQTT协议和JSON格式与上位机通信,MQTT是为硬件性能低、网络条件差的远程设备设计的发布/订阅消息协议。JSON是一种轻量级的数据交换格式,便于解析和生成,使用sprintf函数上传JSON格式的数据,使用MQTT_PUBLISH函数为发布的信息添加主题。MQTT协议运行在TCP/IP或WebSocket协议上,并可使用SSL保护传输的数据,LoRa终端节点为数据发布者,云服务器为数据订阅者。MQTT协议具有低开销、低功耗、适应频繁网络中断等特点,可以显著降低网络成本,并节约功耗。MQTT协议选择云服务器云服务器具有简单、高效、安全、可靠的特点,相比传统线下服务器,在成本和可扩展性上具有明显优势。如果需要增加服务器配置,云服务器可以按需扩展和升级,而传统的物理服务器只能重新购买,成本很高。本任务使用的云服务器为乐为物联云服务器,它是一个迅速实现物联网应用的平台,用户可以在该平台上存储、查询和分析数据,还可以创建一个设备控制器和增加一个传感器并输入信息。导入DHT库在ArduinoIDE中添加DHT库(dht.h),源代码基本为Arduino官网提供的开源头文件。设置最大超时时间为100s,而且DHTLIB_TIMEOUT的循环至少需要使用4个时钟周期,因此最多要执行400个循环导入头文件DHT库在HTTP中调用RESTfulAPI首先将LoRa终端节点的ArduinoUNO与光照度传感器Risym、温湿度传感器DHT11连接,编写的程序包括LoRa终端节点从ArduinoUNO读取传感器数据,并打包发送给LoRa网关的MCU(微控制单元)部分,LoRa网关部分获取传感器数据,并把数据发送给网关的内置Linux端。随后,LoRa网关中的Linux部分将传感器数据以RESTfulAPI格式发送至云服务器。LoRa终端节点设计LoRa终端节点的传输流程如下图所示。该流程图充分体现了数据采集节点程序设计的思路,将温湿度、光照度传感器检测和采集到的信号转换为数字信号并发送至LoRa网关。LoRa网关节点设计LoRa网关节点的传输流程如图4-2-3所示。该流程图展示的是LoRa网关中的Linux部分将传感器数据以RESTfulAPI格式发送至云服务器并向终端节点回应的基本流程。通过MQTT协议上传数据
基本流程为LoRa终端节点的Arduino开发板从传感器接收数据并利用LoRa技术将数据发送至LoRa网关。为使网关的内置Linux部分可以分析环境数据,LoRa网关的单片机和无线射频模块将从终端节点发送来的数据通过Bridge库发送至Linux部分。Linux部分对发送来的数据进行检验,检验通过后将数据封装为JSON格式,并通过MQTT协议发送至乐为物联云服务器,至此便完成了数据的上传。04LoRa与云服务器通信任务三:LoRa与云服务器通信职业技能目标:任务需求:了解云服务器及其相关配置。能够通过云端配置实现LoRa与云服务器通信。任务描述:将某工厂采集的数据汇聚到云服务器上,并能通过云服务器实现环境管理。任务需求:根据任务二中的Arduino硬件搭建,通过LoRa与云服务器进行数据通信,测试预警提示,实现智能化管控。硬件部分的准备首先进行硬件配置,LoRa终端节点将从温湿度传感器DHT11和光照度传感器Risym获取数据,这些数据将通过LoRa终端节点无线传输至LoRa网关。LoRa终端节点如图所示。LoRa终端节点网关的配置LoRa网关接入互联网通过DHCP获取IP地址。修改RX频率和测试互联网接入如图4-3-4所示。云服务器的配置首先,设定LoRa网关的频率与终端节点的LoRaShield频率相同,均为433MHz;然后,登录SSH控制台来连接LoRa网关的Linux端,检查ping通结果。云服务器的设备配置如图所示。通过HTTP接入云服务器通过HTTP接入云服务器的整体流程通过MQTT协议接入云服务器数据流及处理过程如下。(1)LoRa终端节点将从传感器获取到的数据通过LoRa无线发送至LoRa网关。(2)LoRa网关中的LoRa/MCU部分可以获取到传感器数据,并通过LoRa无线将数据发送至Linux端。(3)LoRa网关的Linux端通过MQTT协议将传感器数据上传至乐为物联云服务器。预警提示功能测试如果当前监测的传感器数值超过设定的阈值,那么乐为物联云服务器便通过微信公众号平台向绑定的微信账户发送预警信息,也可以以短信方式向指定联系人发送预警信息,方便工作人员及时查看并处理。预警提示功能效果如图所示。THANKS感谢观看项目五基于蓝牙4.0的温度计系统01任务一:建立蓝牙4.0硬件环境智能穿戴设备的应用智能可穿戴设备在医疗健康领域的应用场景也日趋丰富,如实时采集人体温度信息等。数字健康产业受关注随着物联网、人工智能等技术的快速发展,以智能可穿戴设备为代表的数字健康产业备受关注。老龄化进程与养生需求我国老龄化进程加快,人民群众的养生需求与日俱增,对医疗健康领域的需求也越来越高。项目背景能够搭建BLE(BluetoothLowEnergy,低功耗蓝牙)协议栈的开发环境并完成工程建立、配置、调试与下载。能够根据应用需求修改BLE协议栈,组建BLE通信网络。职业技能目标本任务要求设计一个BLE技术的温度监测仪,并建立BLE通信网络,完成外设与集中器的设备发现、请求连接、建立连接和终止连接等操作。任务描述与需求任务一:建立蓝牙4.0硬件环境蓝牙的定义蓝牙是爱立信、诺基亚、东芝、国际商业机器公司以及英特尔等5家公司于1998年5月联合发布的一种无线通信新技术,可以实现固定设备与移动设备之间的数据交换。蓝牙技术主要包含两种技术:基本速率(BasicRate,BR)和低功耗(LowEnergy,LE),它们之间是不能互相通信的。BasicRate是传统蓝牙技术,包括可选的增强数据速率(EnhancedDataRate,EDR)技术,以及交替使用的MAC层和PHY层扩展(简称AMP)。知识梳理蓝牙系统的组成知识梳理根据蓝牙核心规范,蓝牙系统的组成如图所示,蓝牙协议由蓝牙核心协议和蓝牙应用层协议构成。蓝牙核心由两部分构成,分别是主机和控制器。控制器包括主控制器和多个辅助控制器,负责定义射频、基带等硬件规范,并在此基础上抽象出通信的逻辑链路(LogicalLink)。知识梳理蓝牙核心的构成蓝牙核心由两部分构成,分别是主机和控制器。控制器包括主控制器和多个辅助控制器,负责定义射频、基带等硬件规范,并在此基础上抽象出通信的逻辑链路(LogicalLink)。蓝牙技术的应用主机在逻辑链路的基础上封装蓝牙技术的细节,以便实现蓝牙的应用、开发。在一个蓝牙系统中,蓝牙核心只能有一个主机,但可以存在一个或多个控制器。蓝牙技术的演练历程目前,蓝牙共发布了11个版本,从1.1到5.2。每个版本都在前一个版本的基础上进行了改进和优化,以提供更好的性能和更广泛的应用场景。蓝牙5.0:2016年发布,更高速率,更远距离,大容量广播,无需配对接收信标数据蓝牙技术概览蓝牙1.1/1.2:基础版,1Mbit/s速率,易受干扰蓝牙2.1+EDR:里程碑,2.1Mbit/s速率,多设备连接,低功耗高速与低功耗蓝牙3.0+HS:24Mbit/s速率,802.11PAL集成,Wi-Fi级传输蓝牙4.x+LE:转向低功耗,4.0版本2010年发布,4.1/4.2增强安全性与连接性物联网优化蓝牙技术的演练历程目前,蓝牙共发布了11个版本,从1.1到5.2。每个版本都在前一个版本的基础上进行了改进和优化,以提供更好的性能和更广泛的应用场景。低功耗蓝牙技术概述低功耗蓝牙的应用领域主要应用于医疗保健、运动健身、信标、安防、家庭娱乐等领域。低功耗蓝牙的核心特点低功耗、低成本、快速连接、长距离通信等。蓝牙4.0与低功耗蓝牙蓝牙4.0是蓝牙技术的一个重要版本,其中就包含了低功耗蓝牙(BLE)技术。ble技术的特点详解低功耗蓝牙技术提供了稳定的数据传输,能够保证数据的高可靠性,使得在医疗保健、安防等领域的应用更加可信赖。高可靠性与数据传输相较于经典蓝牙,低功耗蓝牙显著降低了功耗和成本,使得更多的设备能够采用这项技术,拓宽了其应用范围。低功耗蓝牙技术不仅支持远距离的数据传输,还具有良好的抗干扰能力,确保了数据传输的稳定性和准确性。低成本、低功耗的优势低功耗蓝牙技术能够快速启动并瞬间完成设备间的连接,为用户提供了流畅的使用体验。快速启动与瞬间连接体验01020403远距离传输与抗干扰能力任务实施CC2541模块介绍蓝牙4.0模块采用的CC2541是一款针对低功耗及私有2.4GHz频段应用的功率优化的真正片上系统解决方案,结合了射频收发器的出色性能、业界标准的增强型8051MCU、系统内可编程闪存、8KBRAM及很多其他强大功能器件。CC2541提供的外设CC2541提供了多种外设,包括21个通用I/O引脚、闪存控制器、5个通道的DMA控制器、6个通用定时器、2个串口和1个随机数发生器。硬件选型本项目实现基于蓝牙4.0的温度计系统的设计,通过蓝牙传输采集到的温度数据,在应用开发之前可以根据应用需求进行硬件选型。030201温度模块DS18B20接线方便,封装后可应用于多种场合,如管道式、螺纹式、磁铁吸附式、不锈钢封装式,型号多种多样。DS18B20的应用场合开发环境搭建CC2541和CC2530采用的开发环境都为IAREmbeddedWorkbenchfor8051,具体开发环境搭建可以参考项目二的任务一。温度模块采用常用的数字温度传感器DS18B20,其输出的是数字信号,具有体积小、硬件开销低、抗干扰能力强、精度高的特点。任务实施BLE协议栈版本选择根据应用需求及硬件选型方案,选用TI公司提供的BLE协议栈,版本号为1.3.2,安装包名为BLE-CC254x-1.3.2。BLE协议栈文件结构从TI官方网站下载蓝牙安装包BLE-CC254x-1.3.2后,双击即可进行安装,默认安装路径是“C:\TexasInstruments\BLE-CC254x-1.3.2”。任务实施BLE协议栈工程文件BLE协议栈软件包的文件结构BLE协议栈软件包的各文件夹内容如下。(1)Accessories:附件,如USB驱动、Hex文件。(2)Components:组件,此文件夹下有4个二级文件夹,“ble”存储协议栈源代码,“hal”存储硬件驱动,“osal”存储操作系统抽象层源代码、“services”存储系统服务的相关文件。(3)Documents:说明文档,如协议栈API、示例工程说明文档等。(4)Projects:工程文件。协议栈示例工程的结构分析工程结构分析以SimpleBLEPeripheral示例工程为例,分析工程结构。在路径“C:TexasInstrumentsBLE-CC254x-1.3.2ProjectsbleSimpleBLEPeripheralCC2541DB”下双击“SimpleBLEPeripheral.eww”,系统将自动使用IAREmbeddedWorkbench软件打开该示例工程。示例工程分析图5-1-3中的“Projects/ble”文件夹中可以看到多个示例工程,涉及传感器的实际应用和蓝牙系统的角色。协议栈示例工程的结构分析工程文件夹分组工程文件夹的分组情况如下。(1)APP:包含应用程序源代码和头文件。(2)HAL:包含硬件抽象层源代码和头文件。协议栈库文件LIB:包含协议栈库文件。NPI:包含网络处理器接口文件。OSAL:包含操作系统抽象层源代码和头文件。GAP角色与安全PROFILES:包含GAP角色、GAP安全、GATT的源代码和头文件。TOOLS:包含buildConfig.cfg、buildComponents.cfg、OnBoard.c和OnBoard.h,用于处理用户接口。编译输出结果OUTPUT:IAR集成开发环境编译输出的结果,如目标文件、库文件等,便于用户查看和管理编译输出。按照路径“C:TexasInstrumentsBLE-CC254x-1.3.2ProjectsbleSimpleBLEPeripheralCC2540DB”打开SimpleBLEPeripheral.eww工程。打开工程任务基于协议栈的SimpleBLEPeripheral工程进行,打开工程后选择“CC2540”选项。协议栈工程打开SimpleBLEPeripheral工程串口初始化配置串口初始化添加串口初始化函数,串口初始化其实就是配置串口号、波特率、流控、校验位等,具体代码如下。配置波特率和流控代码中通过配置uartConfig.baudRate和uartConfig.flowControl来设置串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学信息技术学习心得体会
- 农田水利建设合同协议书
- IT项目外包分包合同指南
- 新材料在环保领域的应用
- 零售企业线上线下融合营销策略研究及实施计划
- 中国古诗词诵读感受
- 世界历史之有趣小故事解读
- 信用保险费率表
- 无人驾驶汽车技术研发作业指导书
- 电子商务农村电商发展及物流配送优化策略
- 养老院家具采购安装协议
- 实验室安全准入学习通超星期末考试答案章节答案2024年
- 华东师大版(2024新版)七年级上册数学期末素养评估测试卷(含答案)
- 中考二次函数应用题(含答案)
- 车辆运营合伙合同模板
- 画说学习通超星期末考试答案章节答案2024年
- 2024年河南省郑州市高考物理一模试卷(含解析)
- 重庆市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 剑指CET-4:大学生英语能力基础学习通超星期末考试答案章节答案2024年
- 《七律二首 送瘟神》教案- 2023-2024学年高教版(2023)中职语文职业模块
- 第五、六、七单元试卷-2024-2025学年统编版九年级历史上册
评论
0/150
提交评论