无线传感器数据通信实验报告

合集下载

无线传感器网络实验报告

无线传感器网络实验报告

一、实验背景随着物联网技术的飞速发展,无线传感器网络(Wireless Sensor Networks,WSN)作为一种重要的信息获取和传输手段,在军事、环境监测、智能交通、智能家居等领域得到了广泛应用。

为了深入了解无线传感器网络的工作原理和关键技术,我们进行了本次实验。

二、实验目的1. 熟悉无线传感器网络的基本概念和组成;2. 掌握无线传感器网络的通信协议和拓扑结构;3. 熟悉无线传感器网络的编程与调试方法;4. 通过实验,提高动手能力和实践能力。

三、实验内容1. 无线传感器网络概述无线传感器网络由传感器节点、汇聚节点和终端节点组成。

传感器节点负责感知环境信息,汇聚节点负责收集和转发数据,终端节点负责处理和显示数据。

传感器节点通常由微控制器、传感器、无线通信模块和电源模块组成。

2. 无线传感器网络通信协议无线传感器网络的通信协议主要包括物理层、数据链路层和网络层。

物理层负责无线信号的传输,数据链路层负责数据的可靠传输,网络层负责数据路由和传输。

3. 无线传感器网络拓扑结构无线传感器网络的拓扑结构主要有星形、树形、网状和混合形等。

星形拓扑结构简单,但易受中心节点故障影响;树形拓扑结构具有较高的路由效率,但节点间距离较长;网状拓扑结构具有较高的可靠性和路由效率,但节点间距离较远。

4. 无线传感器网络编程与调试本实验采用ZigBee模块作为无线通信模块,利用IAR Embedded WorkBench开发环境进行编程。

实验内容如下:(1)编写传感器节点程序,实现数据的采集和发送;(2)编写汇聚节点程序,实现数据的收集、处理和转发;(3)编写终端节点程序,实现数据的接收和显示。

5. 实验步骤(1)搭建实验平台,包括传感器节点、汇聚节点和终端节点;(2)编写传感器节点程序,实现数据的采集和发送;(3)编写汇聚节点程序,实现数据的收集、处理和转发;(4)编写终端节点程序,实现数据的接收和显示;(5)调试程序,确保各节点间通信正常;(6)观察实验结果,分析实验现象。

无线传感实验报告

无线传感实验报告

无线传感实验报告无线传感实验报告引言无线传感技术是一种基于无线通信的传感器网络技术,它可以实时地感知、采集和传输环境中的各种信息。

本实验旨在通过搭建一个简单的无线传感网络,探索其在实际应用中的潜力和限制。

实验目的1.了解无线传感技术的基本原理和应用领域。

2.学习搭建无线传感网络的基本步骤和方法。

3.研究无线传感网络在环境监测、智能家居等方面的实际应用。

实验步骤1.硬件准备:准备一台主控节点和多个从属节点,主控节点负责接收和处理从属节点发送的数据。

2.网络搭建:通过无线通信模块将主控节点和从属节点连接起来,形成一个无线传感网络。

3.传感器连接:将各个从属节点上的传感器与主控节点相连接,实现数据的采集和传输。

4.数据采集:设置从属节点的采样频率和采样范围,开始采集环境中的各种数据。

5.数据传输:从属节点将采集到的数据通过无线通信模块发送给主控节点。

6.数据处理:主控节点接收到数据后,进行数据处理和分析,得出有用的信息。

实验结果通过本实验,我们成功搭建了一个简单的无线传感网络,并实现了环境数据的采集和传输。

在实际应用中,无线传感技术可以广泛应用于环境监测、智能家居、农业等领域。

例如,在环境监测方面,我们可以通过无线传感网络实时监测空气质量、温湿度等参数,并及时采取相应措施保障人们的健康。

在智能家居方面,无线传感技术可以实现家庭设备的自动控制和远程监控,提高生活的便利性和舒适度。

在农业方面,无线传感技术可以监测土壤湿度、光照强度等参数,帮助农民科学种植,提高农作物的产量和质量。

实验总结通过本次实验,我们深入了解了无线传感技术的原理和应用。

无线传感网络可以实现分布式的数据采集和传输,具有灵活性和可扩展性。

然而,在实际应用中,我们也发现了一些问题和挑战。

首先,无线传感网络的能耗问题仍然存在,如何延长节点的电池寿命是一个需要解决的关键问题。

其次,无线传感网络的安全性也需要重视,如何保护数据的隐私和防止网络攻击是一个亟待解决的问题。

无限传感网络实验报告

无限传感网络实验报告

一、实验目的1. 了解无线传感网络的基本概念、组成和结构。

2. 掌握无线传感网络的基本操作和实验方法。

3. 通过实验,验证无线传感网络在实际应用中的可靠性和有效性。

二、实验内容1. 无线传感网络基本概念及组成无线传感网络(Wireless Sensor Network,WSN)是一种由大量传感器节点组成的分布式网络系统,用于感知、采集和处理环境信息。

传感器节点负责采集环境信息,并通过无线通信方式将信息传输给其他节点或中心节点。

无线传感网络主要由以下几部分组成:(1)传感器节点:负责感知环境信息,如温度、湿度、光照等。

(2)汇聚节点:负责将多个传感器节点的信息进行融合、压缩,然后传输给中心节点。

(3)中心节点:负责收集各个汇聚节点的信息,进行处理和分析,并将结果传输给用户。

2. 无线传感网络实验(1)实验环境硬件平台:ZigBee模块、ZB-LINK调试器、USB3.0数据线、USB方口线两根、RJ11连接线;软件平台:WinXP/Win7、IAR开发环境、SmartRFFlashProgrammer、ZigBeeSensorMonitor。

(2)实验步骤① 连接硬件设备,搭建无线传感网络实验平台;② 编写传感器节点程序,实现环境信息的采集;③ 编写汇聚节点程序,实现信息融合和压缩;④ 编写中心节点程序,实现信息收集和处理;⑤ 测试无线传感网络性能,包括数据采集、传输、处理等。

(3)实验结果分析① 数据采集:传感器节点能够准确采集环境信息,如温度、湿度等;② 传输:汇聚节点将多个传感器节点的信息进行融合和压缩,传输给中心节点;③ 处理:中心节点对采集到的信息进行处理和分析,生成用户所需的结果;④ 性能:无线传感网络在实际应用中表现出较高的可靠性和有效性。

三、实验总结1. 无线传感网络是一种新型的网络技术,具有广泛的应用前景;2. 通过实验,我们掌握了无线传感网络的基本操作和实验方法;3. 无线传感网络在实际应用中具有较高的可靠性和有效性,能够满足各种环境监测需求。

无线传感器实验报告

无线传感器实验报告

无线传感器网络实验报告Contiki mac协议与xmac协议的比较1.简介无线传感器网络(wireless sensor networks,WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。

因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。

WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。

同时,研究表明节点通信时Radio模块在数据收发和空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。

传统的无线网络中,主要考虑到问题是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。

现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。

X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。

接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导和接收节点过度侦听。

X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。

优点:X-MAC最大的优点是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时和收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。

缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。

无线传感网络实验报告

无线传感网络实验报告

无线传感网络实验报告无线传感网络实验报告引言:无线传感网络(Wireless Sensor Network,WSN)是一种由大量分布式的传感器节点组成的网络系统,用于收集、处理和传输环境信息。

WSN具有低成本、低功耗、自组织等特点,广泛应用于环境监测、智能交通、农业等领域。

本实验旨在通过搭建一个简单的无线传感网络,探索其工作原理和性能特点。

一、实验环境搭建1. 硬件准备:选用多个传感器节点和一个基站节点。

传感器节点包括传感器、微处理器、无线通信模块等;基站节点负责接收和处理传感器节点发送的数据。

2. 软件准备:选择适合的操作系统和开发工具,例如TinyOS、Contiki等。

编写传感器节点和基站节点的程序代码。

二、传感器节点部署1. 部署传感器节点:根据实验需求,在待监测区域内合理布置传感器节点。

节点之间的距离和布置密度需根据具体应用场景进行调整。

2. 传感器节点初始化:节点启动后,进行初始化工作,包括自身身份注册、与周围节点建立通信连接等。

三、无线传感网络通信1. 数据采集:传感器节点根据预设的采样频率,采集环境信息,并将数据存储到本地缓存中。

2. 数据传输:传感器节点通过无线通信模块将采集到的数据传输给基站节点。

传输方式可以是单跳或多跳,根据节点之间的距离和网络拓扑结构进行选择。

3. 数据处理:基站节点接收到传感器节点发送的数据后,进行数据处理和分析。

可以根据具体需求,对数据进行滤波、聚合等操作,提取有用信息。

四、无线传感网络能耗管理1. 能耗模型:根据传感器节点的工作状态和通信负载,建立能耗模型,评估节点的能耗情况。

2. 能耗优化:通过调整传感器节点的工作模式、通信协议等方式,降低节点的能耗。

例如,采用睡眠唤醒机制、自适应调整通信距离等。

五、实验结果与分析1. 数据传输性能:通过实验测试,评估无线传感网络的数据传输性能,包括数据传输延迟、传输成功率等指标。

2. 能耗分析:根据实验结果,分析传感器节点的能耗情况,探讨能耗优化策略的有效性和可行性。

无线传感网实验报告

无线传感网实验报告

无线传感网实验报告一、实验目的本实验的主要目的是了解无线传感网(Wireless Sensor Network,WSN)的基本原理和特点,以及进行一些简单的WSN实验,掌握其基本应用方法。

二、实验器材1.电脑2. 无线传感器节点(如Arduino)3. 无线通信模块(如XBee)4.传感器(如温度传感器、光照传感器等)三、实验步骤和内容1.了解无线传感网的基本概念和特点。

2.搭建无线传感网实验平台。

将无线传感器节点和无线通信模块进行连接。

3.编程控制无线传感器节点,收集传感器数据并通过无线通信模块进行传输。

4.在电脑上设置接收数据的接口,并接收传感器数据。

5.对传感器数据进行分析和处理。

四、实验结果和讨论在实验中,我们成功搭建了一个简单的无线传感网实验平台,并通过无线通信模块进行数据传输。

通过编程控制,我们能够收集到传感器节点上的温度数据,并通过无线通信模块将数据传输到电脑上进行接收。

在实验过程中,我们发现无线传感网的优点是具有灵活性和扩展性。

通过无线通信模块,传感器节点之间可以进行无线通信,灵活地传输数据。

同时,我们还可以通过添加更多的传感器节点来扩展整个无线传感网的功能和覆盖范围。

然而,无线传感网也存在一些限制和挑战。

首先,无线通信模块的传输距离和传输速率有限,可能会受到环境因素的影响。

其次,无线传感器节点的能耗问题需要考虑,因为它们通常是使用电池供电的,而且在实际应用中通常需要长时间连续工作。

五、结论通过本次实验,我们对无线传感网的基本原理和特点有了一定的了解,并掌握了一些简单的无线传感网应用方法。

我们成功搭建了一个实验平台,并通过无线通信模块和传感器节点进行数据传输和接收。

实验结果表明,无线传感网具有一定的灵活性和扩展性,但同时也面临着一些挑战。

对于以后的无线传感网应用和研究,我们需要进一步探索和解决这些挑战。

无线传感器网络实验报告

无线传感器网络实验报告

无线传感器网络实验报告实验报告:无线传感器网络的应用与优化探究一、实验目的本次实验旨在探究无线传感器网络的应用与优化,具体包括传感器网络的组网方式、数据传输协议的选择与优化等。

二、实验原理及工具1.传感器网络组网方式传感器网络通常采用星型、树型、网状三种组网方式。

星型组网结构简单,但单点故障时整个系统会瘫痪;树型组网结构便于数据的传输与管理,但在拓扑结构发生变化时需要重新组网;网状组网结构形式多样,具有较强的灵活性,但网络维护复杂。

本实验将分别对比三种组网方式的性能差异。

2.数据传输协议的选择与优化实验将分别采用无线传感器网络中常用的LEACH、BCP、SPIN协议进行数据传输。

并通过测试比较它们在不同条件下的性能表现,优化协议选择与参数设置,提高网络的传输效率和能耗。

3.实验工具实验中将使用Contiki操作系统,该操作系统是专门为无线传感器网络设计的,支持多种协议,并提供了实验所需的模拟环境。

三、实验内容及步骤1.组网方式的测试(1)搭建星型、树型、网状三种不同的传感器网络拓扑结构。

(2)分别记录每种网络结构在传输运行时的稳定性、延迟、能耗等性能指标,并进行对比分析。

2.数据传输协议的测试及优化(1) 安装Contiki操作系统,选择LEACH、BCP、SPIN协议,并设置相应的参数进行数据传输实验。

(2)改变实验条件(如节点密度、网络负载等),测试和比较三种协议在不同条件下的性能表现。

(3)根据实验结果,优化协议的参数设置,并比较优化后的协议和原始协议的性能差异。

四、实验结果及讨论1.组网方式的测试实验结果显示,星型组网方式具有简单易实现、维护成本低的特点,但存在单点故障的风险,一旦发生节点故障,整个系统将瘫痪。

树型组网方式在数据传输和管理方面具有一定的优势,但拓扑结构变化时需要重新组网。

网状组网方式相对灵活,但也增加了网络维护的复杂性。

根据实验结果,可以根据具体应用场景的要求选择最适合的组网方式。

安徽工业大学WSN无线传感器网络实验报告

安徽工业大学WSN无线传感器网络实验报告

《无线传感器网络实验报告》指导教师:卫琳娜班级:物联网131班实验箱序号:3,13等组员姓名学号:程少锋(注:报告中有部分实验截图)实验日期:2016年4月28日3,4节实验一、软硬件平台使用[1]感知 RF2 实验箱-WSN 系统结构该系统根据不同的情况可以由一台计算机,一套网关,一个或多个网络节点组成。

系统大小只受PC 软件观测数量,路由深度,网络最大负载量限制。

感知 RF2 实验箱无线传感器实验平台内配置ZigBee2007/PRO 协议栈在没有进行网络拓补修改之前支持 5 级路由,31101个网络节点。

传感器网络系统结构图如下图所示。

[2]感知 RF2 实验箱-WSN 系统工作流程基于ZigBee2007/PRO协议栈无线网络,在网络设备安装过程,架设过程中自动完成。

完成网络的架设后用户便可以由PC 机发出命令读取网络中任何设备上挂接的传感器的数据,以及测试其电压。

[3]感知RF2 实验箱-WSN 硬件介绍感知 RF2物联网实验箱的无线传感器网络开发平台主要硬件包括:C51RF-CC2530-WSN 仿真器、ZigBee 无线高频模块、节点底板、传感器模块以及其它配套线缆等。

网关节点由节点底板+ZigBee 无线高频模块组成。

传感器节点由节点底板+ZigBee 无线高频模块组成+传感器模块组成。

路由节点硬件组成与传感器节点相同,软件实现功能不同。

[4]实验目的:熟悉实验平台前期架构,便于后面程序的烧写。

[5]实验步骤:1安装必要软件(实际实验室中软件已经下载安装完毕,只要通过仿真器C51RF-3进行程序在线下载、调试、仿真即可)1)在实验室机器E盘的《无线龙实验箱相关资料/无线传感器实验资料201604》中安装 Zi gBee开发集成环境IAR7.51A,详细请参考“\C51RF-CC2530-WSN 使用说明书\”目录下的“IAR安装与使用”。

2)安装传感器网络PC 显示软件环境,软件位于“\C51RF-CC2530-WSN 开发软件\C51RF-CC2530-WSN 监控软件”目录下的“Framework Version 2.0.exe”3)安装网关与计算机 USB连接驱动,驱动位于“\C51RF-CC2530-WSN 开发软件\”目录下的“CP2102”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二:无线传感器数据通信实验一、实验目的:在无线传感器节点的单片机驱动代码的基础上,编写无线通信程序,实现多个传感器节点之间的双向数据传输。

二、实验原理:温湿度传感器和单片机采用的是类似IIC的串行通信,和单片机相连如图1-8所示VDD和GND是传感器供电引脚。

SCK是时钟引脚,在通信这个过程中,SCK信号都是有单片机控制的。

DATA是数据线,和单片机IO口相连。

用于向传感器发送指令和从单片机读走数据。

数据在时钟的上升沿生效在时钟是高电平时保持不变。

在时钟是低电平时准备数据。

接口如图所示。

图1-8 温湿度接口单片机先向传感器发送开始命令,然后开始通信,开始命令时序图如图所示。

在SCK高电平时,将数据线拉低,在下一个时钟高电平期间,将数据线拉高。

开始信号发送完毕。

图1-9 开始信号再开始信号后是命令信号,命令信号包含3位地址位(只支持000)和5位命令位组成。

传感器在接收到1byte数据时(即第八个时钟下降沿)将数据线拉低,表示数据正确接收。

在九个下降沿被释放。

命令如下表。

单片机在发送完命令信号后,等待温湿度传感器测量完成。

传感器在转换完成后将数据线拉低。

单片机产生时钟信号,从温湿度传感器读数据。

数据包含2bytes的测量结果和1bytes的校验。

单片机在收到每字节数据都要将数据线拉低给出应答信号。

数据高位在前,低位在后。

传感器在测量结束和通信完毕后自动进入休眠。

具体操作见数据手册。

时序图如图1-10所示。

图1-10 传感器工作时序图8、 计算公式温度计算公式:湿度计算公式:三、实验设备:ZIGBEE无线空气温湿度传感器一个、装有实验软件的计算机。

四、实验内容:1、建立开发工程;用MDK打开工程模板。

2、把similar_i2C.c和similar_i2C.h加入到工程。

将similar_i2c文件夹拷贝到工程模板目录中。

调用similar_i2C.c中函数,编写温度采集和湿度采集代码在工程模板根目录下建立sht1xx_sensor,在里面新建sht1xx.c和sht1xx.h空文件,将c加入到工程,将h文件加入到工程设置中编写main()调用温度采集和湿度采集函数,并对原始数据进行处理。

在原有的程序的基础上,添加代码使程序能够根据数据计算出湿度,并显示出来。

计算湿度的公式:代码:(主函数部分)#include "arch_include.h"#include "sht1xx.h"#include "similar_i2c.h"uint16_t temp_value;uint16_t rh_value;float g_temp;float g_rh;int main(void){system_init_from_reset();SENSOR_VBAT_ON();SI32_PBSTD_A_enable_pullup_resistors(SI32_PBSTD_1);delay_us(100000);while (1){temp_value=SHT15_temp_samp();g_temp=-39.7+0.04*temp_value; //计算温度公式rh_value=SHT15_rh_samp();g_rh=-4+0.0405*rh_value+rh_value*rh_value*(-2.8)/1000000+ (g_temp-25)*(0.01+0.00008*rh_value); //计算湿度公式delay_us(1000000);}}(SHT15_rh_samp函数部分)float SHT15_rh_samp(){uint8_t RH_data[3];float rh=0;simliar_i2c_transstart(); //transmission startsimilar_i2c_write_byte(0x06); //send command to sensorsimilar_i2c_write_byte(0x00); //send value of status registersimliar_i2c_transstart();similar_i2c_write_byte(0x05);SIMILAR_I2C_DATA_IN;delay_us(100000);SIMILAR_I2C_DATA_OUT;RH_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK); //read the first byte (MSB)RH_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK); //read the second byte (LSB)RH_data[2] =similar_i2c_read_byte(SIMILAR_I2C_NOACK); //read checksumrh=RH_data[0]*256+RH_data[1];return rh;}调试结果:运行后可得到温度为28.42℃,湿度为68.68%rh,与现实相符,表示测量结果正确。

五、实验心得:这次实验是在第一次熟悉传感器的基础上进行的。

在实验中第一次接触到了Keil uVision4这个软件。

与其他相关的编译软件差不多,一些基本的头文件导入,分步调试的功能我也能较快的进行。

只是在调试前仍需在Options中设置许多的参数,以保证能够正确地驱动传感器并调取传感器的数据。

有些参数的设置或选项在张老师的讲解下能够清楚明白,但是也有部分的设置不知道是为何要那样设置,因此在之后的一些不停调试中,有时需要机械性地记住哪些地方是需要改动的。

在这一点上,我觉得我应该再去清楚的了解,真正了解了每一步的意义才能一直记住如何去做。

除设置外,实验的进行也比较顺利,利用资料中的公式与程序中已有的温度查询的基础上,将湿度的计算公式添入进去即可,基本都比较容易,数据在运行后都及时地显示了。

这一次实验也对传感器有了更深的理解,传感器不仅仅是一各仪器,它仍需一些程序才能正常地使用,并激发更多的功能。

实验三:无线传感器设计实验一、实验目的:在之前实验的基础上,根据物联网网关数据接收协议,编写无线传感器代码,实现无线传感器节点上的数据采集向物联网网关的无线上传。

二、实验原理:1.发包和收包是有射频芯片完成:节点上的处理器和射频模块的连接如下图所示,MCU和RF212之间是通过SPI通信的。

2.射频协议:里面我们要关心的是目的PANID,目的地址,源PANID,源地址,MAC荷载。

3.射频模块的初始化:射频模块在使用前要进行初始化,主要是配置本机PANID和ID,通信速率,通信频段等信息。

4.发包过程:1)填写发包数据结构体。

发包要知道通信节点的ID、组号、数据、是否需要应答。

这些信息封装在以发包结构体里。

发包结构体定义如下:2)通过SPI总线写入视频芯片缓冲区。

3)启动发包步骤2)和步骤3)都是通过完成。

产生发包完成中断。

(射频发包和射频收包用的是同一个终端标志,必须设置终端标志位判断是发包中断,还是收包终端)。

5.收包过程:1)射频芯片接受到完整数据包2)产生接收中断( 第1)和2)都是有射频芯片完成。

3)MCU从射频芯片都走数据包这一步是有完成。

数据储存在rx_frame结构体中。

三、实验设备:ZIGBEE无线空气温湿度传感器一个、装有实验软件的计算机。

四、实验内容:1.对节点进行射频初始化:填写本机ID、本机panid、设置信道7820,设置速率是250kB/s、调用Mac初始化2.发包:填写发包内容,调用发包函数,屏蔽收包代码,编译烧写,开机。

3.收包:修改本机ID,PANID,屏蔽发包代码,编译,进入到调试界面,在收包函数后面设置断点,将rx_frame加入watch1.观看数据。

代码:(主函数部分)#include "arch_include.h"#include "rf2xx_include.h"#include "test_send.h"#include "sht1xx.h"#include "similar_i2c.h"float g_temp;float g_RH;uint8_t rec_flag=0;uint8_t data_temp[2]={0,0};uint8_t data_rh[2]={0,0};extern node_addr_t node_addr;extern node_addr_t dest_addr;extern rf_settings_t rf2xx_settings;extern hal_rx_frame_t rx_frame;void sent_fram_2_getway(void){uint8_t len = 0;rfTxInfo.pPayload[len++] = 0x03;rfTxInfo.pPayload[len++] = 1;rfTxInfo.pPayload[len++] = 1;rfTxInfo.pPayload[len++] = 0x00;//PANIDrfTxInfo.pPayload[len++] = 0x01;//PANIDrfTxInfo.pPayload[len++] = 0x0;rfTxInfo.pPayload[len++] = 0x0;rfTxInfo.pPayload[len++] = 0x01;//IDrfTxInfo.pPayload[len++] = 0x11;//IDrfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = data_rh[1];//humi//rfTxInfo.pPayload[len++] = data_temp[1];//humi rfTxInfo.pPayload[len++] =data_temp[1];//temprfTxInfo.pPayload[len++] =((data_rh[0]&0x0F)<<4)+(data_temp[0]&0x0F);rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0;rfTxInfo.pPayload[len++] = 0x7F;//quality of powerrfTxInfo.pPayload[len++] = 0x0B;rfTxInfo.ackRequest = 0;rfTxInfo.destAddr = 0x1801; //修改发送与接收的地址rfTxInfo.destPanId = 0x22;rfTxInfo.length = len;mac_send_packet_extend(&rfTxInfo, 0, 0);return;}int main(void){uint8_t w=3;system_init_from_reset();SENSOR_VBAT_ON();SI32_PBSTD_A_enable_pullup_resistors(SI32_PBSTD_1);SI32_PBGP_A_set_pins_push_pull_output(SI32_PBGP_4, 0X0003);SI32_PBGP_A_write_pins_low(SI32_PBGP_4, 0X0003);delay_us(100000);node_addr.id = 0x1001;//send node:0x1001, rev node :0x1801 node_addr.panid = 0x22;rf2xx_settings.rf212_band_set = 7820;rf2xx_settings.rf212_bitrate = OQPSK_SIN_250;mac_init();while (1){SHT15_temp_samp(data_temp);SHT15_rh_samp(data_rh);sent_fram_2_getway();delay_us(1000000);}}(SHT15_rh_samp函数)void SHT15_rh_samp(uint8_t* data){uint8_t RH_data[3];float rh=0;simliar_i2c_transstart(); //transmission startsimilar_i2c_write_byte(0x06);//send command to sensorsimilar_i2c_write_byte(0x00); //send value of status registersimliar_i2c_transstart();similar_i2c_write_byte(0x05);SIMILAR_I2C_DATA_IN;delay_us(100000);SIMILAR_I2C_DATA_OUT;RH_data[0]=similar_i2c_read_byte(SIMILAR_I2C_ACK); //read the first byte (MSB)RH_data[1]=similar_i2c_read_byte(SIMILAR_I2C_ACK);//read the second byte (LSB)RH_data[2] =similar_i2c_read_byte(SIMILAR_I2C_NOACK); //read checksumrh=RH_data[0]*256+RH_data[1];rh=-4+0.0405*rh+rh*rh*(-2.8)/1000000+(g_temp-25)*(0.01+0.00008*rh);*data = RH_data[0];*(data+1) = RH_data[1];}5、 实验心得:这次实验的目的是将从传感器获得温度与湿度的数据通过蓝牙发送给另外一组,并接收另一组发送的数据。

相关文档
最新文档