无线传感网-基于协议栈的网络管理-第六个工程

合集下载

无线传感器网络技术概论课件:无线传感器网络体系结构

无线传感器网络技术概论课件:无线传感器网络体系结构

无线传感器网络体系结构
2.通信能力的约束 传感器节点的通信能力关系到传感器网络监测区域内节
点部署数量,而制约其通信能力主要有两个参数,即能量损 耗和通信距离,二者之间的关系为
E = kdn
(2-1)
式中,E为传感器节点的通信能量损耗;k为一个常数,
与传感器节点的系统构成有关;d为传感器节点的通信距离;
分别接入TD-SCDMA、GSM核心网、Internet主干网及无线 局域网络等多种类型异构网络,再通过各网络下的基站或主 控设备将传感器信息分发至各终端,以实现针对无线传感器 网络的多网远程监控与调度。同时,处于TD-SCDMA、 GSM、Internet等多类型网络终端的各种应用与业务实体也 将通过各自网络连接相应的无线传感器网络网关,并由此对 相应无线传感器网络节点开展数据查询、任务派发、业务扩 展等多种功能,最终实现无线传感器网络与以移动通信网络、 Internet网络为主的各类型网络的无缝的、泛在的交互。
(2) 汇聚节点:用于连接传感器节点与Internet 等外部网 络的网关,可实现两种协议间的转换;同时能向传感器节点 发布来自管理节点的监测任务,并把WSN收集到的数据转 发到外部网络上。与传感器节点相比,汇聚节点的处理能力、 存储能力和通信能力相对较强。
(3) 管理节点:用于动态地管理整个无线传感器网络, 直接面向用户。所有者通过管理节点访问无线传感器网络的 资源,配置和管理网络,发布监测任务以及收集监测数据。
锁相回路(PLL)、解调器和功率放大器组成,所有的这些组
件都会消耗能量。对于一对收发机来说,数据通信带来的功
耗PC的组成部分可简单地用模型描述为
PC = PO + PTX + PRX
(2-2)

无线传感器网络的协议再工程与方法研究

无线传感器网络的协议再工程与方法研究

无线传感器网络的协议再工程与方法研究近年来,随着新技术的出现,无线传感器网络(WSN)已经成为一个具有广泛应用潜力的技术。

它是由一组无线传感器节点组成的网络,旨在收集环境传感器的信息,以便使用者做出相应的反应。

WSN 的应用范围越来越广,包括环境监测、社会安全、空间实时测量和遥感监测等。

WSN协议再工程是WSN最重要的研究课题之一,也是在WSN中最具挑战性的研究领域之一。

在WSN中,协议再工程包括协议栈的设计、优化和实施,这些再工程可以使网络更加稳定、可靠、安全。

为了实现WSN协议再工程,各种协议技术被用于实现高效的无线传感器网络。

在WSN中,采用的协议主要包括碰撞检测协议(CD)、信道建模协议(CM)、节点失效容错机制(FT)、可靠性机制(RME)、拓扑收集机制(TM)和路由协议(RP)等。

碰撞检测协议是WSN中最重要的协议之一,它的主要目的是检测和预测单节点的发送报文的路径信息,从而防止碰撞。

信道建模协议可以有效地模拟信道干扰,从而使网络能够更好地抗干扰。

节点失效容错机制可以使WSN系统在节点失效时仍能有效运行。

可靠性机制是WSN中最重要的协议之一,它非常重要,可以帮助解决WSN中出现的各种可靠性问题。

拓扑收集机制根据节点位置和失效信息收集拓扑信息,这可以帮助WSN系统更好地运行。

最后,路由协议可以按照指定的路由策略,确定报文的源和目标节点之间的可用路径,从而帮助WSN系统实现报文传输。

WSN协议再工程还可以采用各种方法来实现,如哈希表、动态规划、数据流网络和贪婪算法等。

使用这些方法可以帮助WSN系统实现协议再工程中的目标。

WSN协议再工程的研究有助于改进WSN的性能和有效性。

为了更好地实施WSN协议再工程,有必要进行深入的研究,探索更先进的协议技术与实现技术,以及有效的计算机工具的开发,以实现可靠、有效的WSN协议再工程。

总而言之,WSN协议再工程是一项重要且具有挑战性的研究,它需要充分理解和认识WSN协议,并利用各种方法来实现。

无线传感器网络智慧树知到答案章节测试2023年四川邮电职业技术学院

无线传感器网络智慧树知到答案章节测试2023年四川邮电职业技术学院

绪论单元测试1.无线传感器网络技术可以在智能家居、智慧城市、智慧农业等场景下应用。

A:错B:对答案:B第一章测试1.高服务质量是传感器网络首要的设计目标。

()A:错B:对答案:A2.物理层的特性包括()。

A:规程特性B:电气特性C:机械特性D:功能特性答案:ABCD3.洪泛路由协议(Flooding Protocol)是一种最早的路由协议,接收到消息的节点以广播的方式转发报文给所有的邻居节点。

()A:错B:对答案:B4.下列定位方法中不属于基于测距的定位方法的是()。

A:ToAB:DV-HopC:DToAD:Min-Max答案:B5.物理层面临的主要问题是无线通信的干扰和节点的沦陷,遭受的主要攻击包括拥塞攻击和物理破坏。

()A:错B:对答案:B第二章测试2530有()种不同的运行模式(供电模式)。

A:8B:5C:3D:6答案:B2.实验板上LED1和LED2与CC2530的连接如下图所示,LED1和LED2的负极端分别通过一个限流电阻连接到地(低电平),它们的正极端分别连接到CC2530的( )端口。

A:P1_0与P1_2B:P1_1与P1_C:P1_1与1_2D:P1_0与P1_1答案:D3.P0DIR|=0X80的作用是()。

A:P0.6设置为输入B:P0.7设置为输入C:P0.7设置为输出D:P0.6设置为输出答案:C2530中断源有 ( )个.A:21B:19C:24D:18答案:D2530具有几个串行通信接口()。

A:3B:2C:5D:4答案:B第三章测试1.PROJ D IR/../inc表示()。

A:PROJ D IR目录inc目录B:Workspace目录上一层inc目录C:Workspace目录下一层inc目录D:Workspace目录的inc目录答案:B2.写入TXFIFO的帧数据格式如下图,此时AUTOCRC=()。

A:0B:8C:1D:2答案:A3.uint8 basicRfSendPacket(uint16 destAddr, uint8* pPayload, uint8 length)中,destAddr是()。

基于IEEE802.15.4无线传感矗网络的IPv6协议栈

基于IEEE802.15.4无线传感矗网络的IPv6协议栈
维普资讯

基于 IE 8 21 .无 线 E0 . 4 E 5 传感 嚣 网络 的 Iv 6协议 栈 P
■ 北 京 交 通 大 学 吴 德 伦 张 宏 科
关键词
无 线 传 感 器 网络
Iv P 6协 议 栈 I E 0 . 5 4 6 wP n E E8 2 1 . I o a
方 面 , 线 传 感 器 网络 具 有 “ 处 不 在 ” 无 无 和节 点 数 量
庞 大 等 特 点 , 署 无 线 传 感 器 网络 需 要 数 量 巨 大 的 I 部 P地
址资源 ; 一方面 , 另 由于 无 线 传 感 器 网络 的 应 用 领 域 往 往
组 成 网络 。 图 1 出 了无 线 传 感 器 网络 的工 作 原 理 , 中 给 图 分 散 的无 线 传 感 器 节 点 通 过 自组 织 方 式 形 成 传 感 器 网 络 。
可 以满足无线传感器 网络在 地址 和安全方 面 的需求 。所
以 I F于 2 0 ET 0 4年 l 月 成 立 了 一 个 6 o a (P 6o e 1 L wP n I v v r
I E 0 . 5 4 Iv v r R P N) 作 组 。它 规 定 E E 8 2 1 . 或 P 6o e — A 工 L
越 来 越 巨 大 , 将 继 续 在 未 来 的 各 领 域 持 续 发 挥 其 影 响 并 力 。集 成 了 网络 技 术 、 入 式 技 术 、 机 电 系 统 ( MS 嵌 微 ME ) 及 传 感器 技 术 的 无 线 传 感 器 网 络 将 Itre 从 虚 拟 世 界 nent 延 伸 到物 理 世 界 , 而 将 逻 辑 上 的信 息 世 界 与真 实 物 理 世 从

无线传感器网络的网络划分与资源管理技术

无线传感器网络的网络划分与资源管理技术

无线传感器网络的网络划分与资源管理技术无线传感器网络(Wireless Sensor Network,WSN)是一种由大量分布在空间中的无线传感器节点组成的网络系统。

这些节点可以感知环境中的各种参数,并将数据通过无线通信传输到基站或其他节点。

WSN具有广泛的应用领域,如环境监测、农业、医疗、交通等。

然而,由于节点数量众多、网络拓扑复杂、资源有限等特点,WSN的网络划分与资源管理成为了一个重要的研究课题。

一、网络划分技术网络划分是将整个WSN划分为若干个子网络的过程,每个子网络由一组节点组成,可以独立运行。

网络划分技术的目标是提高网络的可扩展性、降低能耗、增加网络的生存时间。

常见的网络划分技术有以下几种:1. 基于地理位置的划分:将节点根据其地理位置进行划分,距离较近的节点组成一个子网络。

这种划分方法可以减少节点之间的通信距离,降低能耗,并且利于数据的局部处理和分析。

2. 基于拓扑结构的划分:根据节点之间的拓扑关系进行划分,将相邻节点组成一个子网络。

这种划分方法可以减少节点之间的通信开销,提高网络的传输效率。

3. 基于功能的划分:将节点根据其功能进行划分,不同功能的节点组成不同的子网络。

例如,将负责数据采集的节点组成一个子网络,将负责数据传输的节点组成另一个子网络。

这种划分方法可以提高网络的灵活性和可靠性。

二、资源管理技术资源管理是指对WSN中的各种资源进行有效的分配和利用,以提高网络的性能和生存时间。

常见的资源管理技术有以下几种:1. 能量管理:由于节点的能源有限,能量管理是WSN中最重要的资源管理技术之一。

通过对节点的能量消耗进行监测和调度,可以延长网络的生存时间。

常用的能量管理策略包括能量均衡、能量分级和能量回收等。

2. 带宽管理:WSN中的带宽资源也是有限的,带宽管理技术可以合理分配带宽资源,提高网络的传输效率。

常用的带宽管理策略包括带宽分配、带宽预留和带宽调度等。

3. 存储管理:节点的存储空间也是有限的,存储管理技术可以有效地利用节点的存储资源,提高网络的数据存储能力。

通信工程毕业设计

通信工程毕业设计

通信工程毕业设计
通信工程毕业设计的主题可以包括以下方面:
1. 无线通信系统设计:设计一个无线通信系统,如4G LTE、
5G等,包括基站布置、频谱规划、网络优化等。

2. 网络安全设计:设计一个网络安全系统,包括防火墙、入侵检测系统、虚拟专用网络等,以保护通信网络安全。

3. 物联网应用设计:设计一个物联网应用系统,如智能家居、智能交通等,包括传感器选择与布置、通信协议设计与实现等。

4. 通信网络优化:对现有的通信网络进行优化,如信号覆盖优化、容量增强、网络拥塞控制等。

5. 光通信系统设计:设计一个光通信系统,包括光纤布线设计、光模块选择与设计等。

6. 通信协议设计:设计一个新的通信协议,如基于TCP/IP协
议栈的改进、物联网通信协议等。

7. 无线传感网络设计:设计一个无线传感网络系统,如环境监测系统、农业物联网等,包括节点布置、数据传输协议设计等。

8. 移动通信应用设计:设计一个移动通信应用,如移动社交应用、移动支付等,包括前端设计与开发、后台系统设计与开发等。

以上仅是一些通信工程毕业设计的主题示例,具体的设计内容应根据自身兴趣与能力以及导师的指导进行选择。

《无线传感器网络技术》课程标准

《无线传感器网络技术》课程标准

《无线传感器网络技术》课程标准————————————————————————————————作者:————————————————————————————————日期:《无线传感网络技术》课程标准课程名称:无线传感网络技术课程代码:1501030 建议课时数: 128 学分:8适用专业:物联网应用技术专业1前言1.1课程的性质关键词:课程地位、主要功能、与其他课程关系该课程是物联网应用技术专业的一门重要的专业课程,主要讲述无线传感网络的基本概念,常见的微型传感器,传感网络的通信技术、支撑技术、应用开发基础,传感器网络协议的应用开发等内容。

目标是让学生了解基于Zigbee技术的无线传感网络应用开发调试方法,并能进行简单基于Zigbee协议栈的无线组网项目的应用开发。

该课程具有一定的综合性和实践性,其前继课程为《SoC片上系统开发》,无后继课程。

后继的SPT实训中会有些项目需用到本课程的知识。

1.2设计思路关键词:课程设置依据、课程目标定位、课程内容选择标准、项目设计思路、学习程度用语说明、课程学时和学分物联网,是继计算机、互联网和移动通信之后新一轮信息技术革命,是信息产业领域未来竞争的制高点和产业升级的核心驱动力,是加速推进工业化、信息化融合的催化剂。

随着物联网产业的蓬勃发展,社会信息化智能化程度的不断提高,物联网已经逐渐融入到工作生活的各个方面。

物联网是通过信息传感设备,按约定的协议实现人与人、人与物、物与物全面互联的网络,其主要特征是通过信息传感设备等方式获取物理世界的各种信息,结合互联网、通信网等网络进行信息传送与交互,采用智能计算技术对信息进行分析处理,从而提高对物质世界的感知能力,实现智能化的决策和控制。

物联网主要由感知层、网络层和应用层组成,其中感知层包括传感器、二维码、RFID(射频识别)、多媒体设备等数据采集和自组织网络系统;网络层包括各种网关和接入网络以及异构网融合、云计算等承载网支撑系统;应用层包括信息管理、业务分析管理、服务管理、目录管理等物联网业务中间件和物联网应用子集系统。

无线传感器网络路由协议分析

无线传感器网络路由协议分析

南京邮电大学硕士研究生学位论文术语表术语表Adaptive Threshold sensitive Energy APTEEN 自适应敏感阀值节能型传感网络协议CDMA码分多址Code Division Multiple AccessCSMA 载波侦听多路访问Carrier Sense Multiple AccessDD 定向扩散Directed DiffusionGEAR 地理和能量感知路由Geographic and Energy Routing LEACH 低功耗自适应分簇协议介质访问控制Media Access ControlMCU 微控制单元Micro-Controller UnitPEGASIS Po-Efficient Gathering in SensorInformation System服务质量Quality of Service信息协商传感协议Sensor Protocol for Information viaNegotiationTCP 传输控制协议Transfer Control ProtocolTDMA 时分多址Time Division Multiple AccessTEEN 敏感阀值节能型传感网络协议Threshold sensitive Energy Efficient sensorNetwork protocol用户数据包协议User Datagram ProtocolWSN 无线传感器网络Wireless Sensor Network南京邮电大学学位论文原创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。

尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材料。

与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

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

suogr@教学群号:31696867教9楼C 区181号信箱西北师范大学计算机科学与工程学院 无线传感器网络技术基于ZigBee 协议栈的网络管理索国瑞2013秋选课班2013年11月28日星期四2西北师大计算机学院索国瑞:suogr @ 基于ZigBee 协议栈的网络管理⏹目的描述⏹基础设定与预备知识⏹网络管理基础实验⏹网络管理扩展实验无线传感器网络技术Q Q 群号:316968672013年11月28日星期四3西北师大计算机学院索国瑞:suogr @ 目的描述⏹验证基于ZigBee 2007协议栈的网络管理⏹要求设定一个ZigBee 协调器,负责创建网络,并接收加入网内的路由器发来的数据,再通过串口转发到上位机设定若干个ZigBee 路由器,获取自身的网络地址信息,发送给协调器;也可以查询网络中其它节点的地址信息并发给协调器利用ZigBee 2007协议栈完成2013年11月28日星期四4西北师大计算机学院索国瑞:suogr @ 基础设定与预备知识⏹利用前述第一到第五个工程中的相关知识⏹实验反映的意义如何查询本节点的地址信息※ 通过协议栈中函数去完成※ 返回某节点的网络地址:uint16 NLME_GetShortAddr(void)※ 返回指向某节点MAC地址的指针:byte *NLME_GetExtAddr(void)※ 返回父节点的网络地址:uint162013年11月28日星期四5西北师大计算机学院索国瑞:suogr @ NLME_GetCoordShortAddr(void)※ 查询父节点的MAC地址:voidNLME_GetCoordExtAddr(byte* buf),其中参数是指向存放父节点MAC地址的缓冲区的指针 查询网络中其它节点相关的地址信息※ 已知节点的16位网络地址查询节点的IEEE地址※ 已知节点的IEEE地址查询其网络地址※ 也是通过函数等完成2013年11月28日星期四6西北师大计算机学院索国瑞:suogr @ 网络基础管理过程⏹基本过程ZigBee无线网络是由协调器建立后,路由器可以自动加入到网络中,然后路由器可以调用前述函数获取本身和父节点的地址信息以上信息可由路由器通过串口转发给上位机2013年11月28日星期四7西北师大计算机学院索国瑞:suogr @ 协调器代码文件Coordinator.c⏹将前述工程中的Coordinator.c文件中进行修改⏹关键代码如下:/*SUOGR 20131113 要求注释所有修改*//* * INCLUDES */#include "OSAL.h"#include "AF.h"#include "ZDApp.h"#include "ZDObject.h"#include "ZDProfile.h"#include <string.h>#include "Coordinator.h"#include "DebugTrace.h"2013年11月28日星期四8西北师大计算机学院索国瑞:suogr @ #if !defined( WIN32 ) #include "OnBoard.h"#endif#include "hal_lcd.h"#include "hal_led.h"#include "hal_key.h"#include "hal_uart.h"#include "OSAL_Nv.h" //为可能的存储过程准备#include "aps_groups.h" //为组播等做准备define SEND_TO_ALL_EVENT 0x01 //定义发送事件2013年11月28日星期四9西北师大计算机学院索国瑞:suogr @ const cId_tGenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS] ={GENERICAPP_CLUSTERID };const SimpleDescriptionFormat_t GenericApp_SimpleDesc ={GENERICAPP_ENDPOINT, // int Endpoint;GENERICAPP_PROFID, // uint16 AppProfId[2]; GENERICAPP_DEVICEID, // uint16 AppDeviceId[2]; GENERICAPP_DEVICE_VERSION, // int AppDevVer:4;2013年11月28日星期四10西北师大计算机学院索国瑞:suogr @ GENERICAPP_FLAGS, // int AppFlags:4; GENERICAPP_MAX_CLUSTERS,// byte AppNumInClusters;(cId_t *)GenericApp_ClusterList,// byte *pAppInClusterList;0,// old = GENERICAPP_MAX_CLUSTERS,// byte AppNumInClusters;(cId_t *)NULL //old = GenericApp_ClusterList// byte *pAppInClusterList;};endPointDesc_t GenericApp_epDesc;2013年11月28日星期四11西北师大计算机学院索国瑞:suogr @ / * LOCAL VARIABLES */byte GenericApp_TaskID;………………void GenericApp_Init( byte task_id ){halUARTCfg_t uartConfig; GenericApp_TaskID = task_id; GenericApp_TransID = 0;GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT;2013年11月28日星期四12西北师大计算机学院索国瑞:suogr @ GenericApp_epDesc.task_id = &GenericApp_TaskID; GenericApp_epDesc.simpleDesc= (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;GenericApp_tencyReq = noLatencyReqs; afRegister( &GenericApp_epDesc );…………}⏹上述主要是任务初始化,实现端口初始化和端口注册⏹UINT16 GenericApp_ProcessEvent( ……){return 0;}2013年11月28日星期四13西北师大计算机学院索国瑞:suogr @ ⏹上述是事件处理函数,没有对具体事件的处理,理论上就可以向前面代码那样写成空函数。

但实际上要考虑原协议栈代码里的一些安排好的动作。

⏹原来由协调器负责通过串口转发上位机的信息,现考虑改为路由器自行完成。

2013年11月28日星期四14西北师大计算机学院索国瑞:suogr @ 路由器代码Enddevice.c⏹本实验代码在组播通信实验所用代码的基础上进行修改而得。

具体关键代码如下:#include "OSAL.h"#include "AF.h"#include "ZDApp.h"#include "ZDObject.h"#include "ZDProfile.h"#include <string.h>#include "Coordinator.h"#include "DebugTrace.h"2013年11月28日星期四15西北师大计算机学院索国瑞:suogr @ #if !defined( WIN32 ) #include "OnBoard.h"#endif#include "hal_lcd.h"#include "hal_led.h"#include "hal_key.h"#include "hal_uart.h"#include "aps_groups.h" //使用组播功能要求// add suogr#define SHOW_INFO_EVENT 0x01// add end2013年11月28日星期四16西北师大计算机学院索国瑞:suogr @ const cId_tGenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS] ={GENERICAPP_CLUSTERID };const SimpleDescriptionFormat_t GenericApp_SimpleDesc ={GENERICAPP_ENDPOINT, // int Endpoint;GENERICAPP_PROFID, // uint16 AppProfId[2]; GENERICAPP_DEVICEID, // uint16 AppDeviceId[2]; GENERICAPP_DEVICE_VERSION, // int AppDevVer:4;2013年11月28日星期四17西北师大计算机学院索国瑞:suogr @ GENERICAPP_FLAGS, // int AppFlags:4; //modi suogr 0,// modi end (cId_t *)NULL,GENERICAPP_MAX_CLUSTERS,(cId_t *)GenericApp_ClusterList }endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID; byte GenericApp_TransID;//mark suogr//aps_Group_t GenericApp_Group; //组播2013年11月28日星期四18西北师大计算机学院索国瑞:suogr @ //mark enddevStates_t GenericApp_NwkState;// add suogrvoid ShowInfo(void);void To_string(uint8 *dest,char *src,uint8 length);typedef struct RFTXBUF {uint8 myNWK[4]; //本节点网络地址uint8 myMAC[16]; //本节点MAC地址uint8 pNWK[4]; //父节点网络地址uint8 pMAC[16];//父节点MAC地址}RFTX;2013年11月28日星期四19西北师大计算机学院索国瑞:suogr @ //add end …………⏹void GenericApp_Init( byte task_id ){// ADD SUOGRhalUARTCfg_t uartConfig;//ADD ENDGenericApp_TaskID = task_id; GenericApp_NwkState = DEV_INIT; GenericApp_TransID = 0;GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT;2013年11月28日星期四20西北师大计算机学院索国瑞:suogr @ GenericApp_epDesc.task_id = &GenericApp_TaskID; GenericApp_epDesc.simpleDesc= (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc;GenericApp_tencyReq = noLatencyReqs; afRegister( &GenericApp_epDesc );//ADD SUOGRuartConfig.configured = TRUE;uartConfig.baudRate = HAL_UART_BR_115200;uartConfig.flowControl = FALSE;uartConfig.callBackFunc = NULL; HalUARTOpen(0,&uartConfig);//ADD END }2013年11月28日星期四21西北师大计算机学院索国瑞:suogr @ ⏹以上代码是任务初始化函数,实现串口的初始化⏹UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events ){afIncomingMSGPacket_t *MSGpkt;…………if ( events & SYS_EVENT_MSG ){ MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID ); while ( MSGpkt ) {switch ( MSGpkt->hdr.event )2013年11月28日星期四22西北师大计算机学院索国瑞:suogr @ {…………case ZDO_STATE_CHANGE://加入网络GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);if(GenericApp_NwkState==DEV_ROUTER){osal_set_event(GenericApp_TaskID,SHOW_INFO_EVEN T);}break; default:break;2013年11月28日星期四23西北师大计算机学院索国瑞:suogr @ }osal_msg_deallocate((uint8 *)MSGpkt);MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);}return(events ^ SYS_EVENT_MSG);}if (events & SHOW_INFO_EVENT)//数据事件处理{ShowInfo();osal_start_timerEx(GenericApp_TaskID,SEND_D ATA_EVENT,10000);return(events ^ SHOW_INFO_EVENT );}2013年11月28日星期四24西北师大计算机学院索国瑞:suogr @ return 0;}⏹上述代码是事件处理函数,当路由器成功加入到网络后,通过SHOW_INFO_EVENT事件调用ShowInfo函数显示相关地址信息⏹void ShowInfo(void ) //ADD SUOGR {RFTX rftx;uint16 nwk;uint8 buf[8];uint8 changline[2]={0x0A,0x0D}; //回车换行nwk=NLME_GetShortAddr(); //取本节点网络地址2013年11月28日星期四25西北师大计算机学院索国瑞:suogr @ To_string(rftx.myNWK,(uint8 *)&nwk,2); //16进制To_string(rftx.myMAC,NLME_GetExtAddr(),8);nwk=NLME_GetCoordShortAddr(); //父节点地址To_string(rftx.pNWK,(uint8 *)&nwk,2);NLME_GetCoorExtAddr(buf); //父节点长地址To_string(rftx.pMAC,buf,8);HalUARTWrite(0,"NWK:",osal_strlen("NWK:"));HalUARTWrite(0,rftx.myNWK,4);HalUARTWrite(0," MAC:",osal_strlen(" MAC:"));HalUARTWrite(0,rftx.myMAC,16);HalUARTWrite(0," p-NWK:",osal_strlen(" p-NWK:"));2013年11月28日星期四26西北师大计算机学院索国瑞:suogr @ HalUARTWrite(0,rftx.pNWK,4);HalUARTWrite(0," p-MAC:",osal_strlen(" p-MAC:"));HalUARTWrite(0,rftx.pMAC,16);HalUARTWrite(0,changline,2);}⏹void To_string(uint8 *dest,char *src,uint8 length) //add suogr {uint8 *xad;uint8 i=0;uint8 ch;2013年11月28日星期四27西北师大计算机学院索国瑞:suogr @ xad = src + length-1;for( i=0; i<length; i++,xad-- ){ch = (*xad>>4) & 0x0F;dest[i<<1] = ch+((ch<10) ? '0' : '7');ch = *xad & 0x0F;dest[(i<<1)+1] = ch + ((ch<10) ? '0' : '7');}}2013年11月28日星期四28西北师大计算机学院索国瑞:suogr @ 运行调试⏹打开串口助手⏹程序分别下载到协调器和路由器,为简单起见,设置一个协调器,一个路由器,然后再逐步添加路由器⏹注意协调器和路由器电源开启的顺序⏹正常实验结果:在串口助手的屏幕上可见同一行依次有※ NWK 、MAC 、p-NWK 、p-MAC 等信息 不同行是不同路由器的结果⏹改变:不由路由器通过串口发, 而是协调器发,如何改?2013年11月28日星期四29西北师大计算机学院索国瑞:suogr @ 网络管理扩展实验⏹基本思路因为协调器的网络地址是0x0000,所以,可以从路由器发送地址请求,来得到协调器的IEEE地址。

相关文档
最新文档