做一个终端发送和协调器接收实验

在终端的应用层任务挂上一个11号端点,接收(协调器)模块的应用层任务挂上7号端点和8号端点,其中7号端点上有两个簇0x0001和0x0002,8号端点上只有一个簇0x0001;

发送终端上有key3和key4,key5;接收器模块有led1,led2和led3,以及一个数码管。

按键3按下使接收模块的7号端点下面的簇0x0001接收消息,使LED1取反且让数码管显示3;按键4按下使led2取反,且使数码管显示4,同理,对于按键5对应8号端点的簇0x0001使led3取反,且数码管显示5.

在前面的接收字符串和发送字符串的代码上面来修改:

先看看发送模块:

首先,把该模块设置为终端,定义11号端点,并且与应用层挂钩!进入SDApp_Init这个初始化函数里面,修改如下:SDApp_DstAddr.endPoint = 11;那么就挂钩上了。

找到按钮3被按下的位置,按下后,会发送一个数字3出去;

SDApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
 SDApp_DstAddr.addr.shortAddr = 0x0000;//协调器地址
SDApp_DstAddr.endPoint = 7;//目标端点

然后调用一个发送的函数:

那么按钮3就完成了,按钮4和按钮5类似

这是我们发送函数!

协调器接收模块:

首先,选择协调器方式;然后,定义两个断点7和8,且使之与应用层挂钩,

现在已经挂钩上了,下面做处理

一旦来数据都会进入应用层事件处理函数,

然后判断,是外部来数据的消息,

然后把无线数据包传递进该函数来处理:

该数据包的数据结构

修改该函数如下:

时间: 2024-11-05 15:54:57

做一个终端发送和协调器接收实验的相关文章

做一个Android音乐播放器是遇到的一些困难

最近再做一个安卓的音乐播放器,是实验室里学长派的任务,我是在eclipse上进行开发的,由于没有android的基础,所以做起来困难重重. 首先是布局上的困难 1.layout里的控件属性不熟悉 2.想做一个音乐列表做不出来知道要用Listview控件,网上也找了许多的音乐播放器的代码,但导入项目中总会出错,所以想在这里请教各位 3.除了布局有困难外,实现相关功能也有困难,由于基础不行所以我并不想也做不出网上音乐播放器那么多的功能,我只想要我的播放器有播放,暂停,上一曲,下一曲的效果就行了,这还

ZigBee中协调器如何向子节点发消息?

注意:以下所有内容均以TI公司的CC2530和Z-Stack为硬软件平台为实验背景讲述. 在一般的ZigBee教程中,子节点如何向协调器发送消息已经被描述的非常清楚了:即子节点直接使用API向地址为0x0000的协调器发送消息即可.用到的函数如下: afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,uint16 cID, uint16 len, uint8 *buf, uint8 *transID,ui

运行中修改协调器PAN ID和Channel,协调器广播至所有的设备重启加入新建后的网络

从飞比论坛那边看到一个问题,记录下: 一个ZigBee网络运行中,协调器通过串口与上位机连接,上位机设置协调器的PAN ID和Channel,协调器收到配置信息后, 首先将PAN ID和Channel广播发送至网络中的所有节点,然后协调器自身重启,加入新网络.部分代码如下: //PAN ID uint16 panId = BUILD_UINT16(msg[LOCDONGLE_CONFIG_PANID_LO_IDX], msg[LOCDONGLE_CONFIG_PANID_HI_IDX]); //

使用Python制作一个简单的刷博器

呵呵,不得不佩服Python的强大,寥寥几句代码就能做一个简单的刷博器. import webbrowser as web import time import os count=0 while count<10: count=count+1 #你要刷的博客 web.open_new_tab("http://www.cnblogs.com/smiler/archive/2010/04/20/1716418.html#2856973") time.sleep(1) else: os

Zigbee协议栈是怎样分别执行协调器、路由器、终端的任务的?

这个问题虽然简单,却困扰了差不多一个星期,归根结底还是自己对协议栈的不熟悉. 废话不多说! 假如组网后,协调器需要执行的任务是:组播,终端要执行的任务是:单播.那协议栈是怎么做到协调器只执行组播的任务,而不知执行单播的任务,终端又是怎样只执行单播的任务而不执行组播的任务呢? 下面是官方给出的代码 1 // Received whenever the device changes state in the network 2 case ZDO_STATE_CHANGE://网络状态发生改变 3 S

读取cc2530节点的设备类型、协调器、路由器、终端。

建立网络.加入网络流程分析 协调器节点:在1-10  实验8 网络通信实验2 组播通信中 while(MSGpkt) { switch(MSGpkt->hdr.event) { case ZDO_STATE_CHANGE:  //建立网络后,设置事件 GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);//??????? if(GenericApp_NwkState==DEV_ZB_COORD)//把该节点已初始化为协调器,则执行下面的

自己动手做一个小型“资源管理器”吧

自己动手做一个小型“资源管理器”吧 注:tvDirectory是treeView控件,lvDirectory是listView控件 首先搭建一下界面: 左边是treeView控件,右边是listView控件.(listView的网格线只需把GridLins设置成True就可以了.) 由于要用到IO流,所以别忘了导入命名空间:using System.IO; 我们只要创建一个文件类就可以了: 1 public class MyFile 2 { 3 //文件长度 4 public float Fil

无线传感网CC2530终应端、路由以及协调器系统用

要做到目视千里,耳听八方是人类长久的梦想,现代卫星技术的出现虽然使人们离这目标又进了一步,但卫星高高在上,洞察全局在行,明察细微就不管用了.这个时候,本文的主角—无线传感器网络就排上用场了.将大量的传感器节点遍撒指定区域,数据通过无线电波传回监控中心,监控区域内的所有信息就会尽收观察者的眼中了. 闲话不说,直接进入正题.想让传感数据回来,总得有一套可以“采集传感器数据,打包发送数据给上层”的系统,这里就程序简单说明一下该系统的实现. 主开发程序在/ZStack-CC2530-2.3.0-1.4.

.Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器

原文:.Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器 目标:使用.net core最新的3.0版本,借助httpclient和本机的host域名代理,实现网络请求转发和内容获取,最终显示到目标客户端! 背景:本人在core领域是个新手,对core的使用不多,因此在实现的过程中遇到了很多坑,在这边博客中,逐一介绍下.下面进入正文 正文: 1-启用httpClient注入: 参考文档:https://docs.microsoft.c