zigbee网关 CC2530 zstack用手机控制1602显示

原创 2015年11月18日 16:34:59

在zigbee工程里面ZigbeeGateWay.h增加一个CLUSTERID

#define ZIGBEEGATEWAY_LCD_UPDATE_CLUSTERID  9

这样CLUSTERID的数量变成了9个

#define ZIGBEEGATEWAY_MAX_CLUSTERS          9

在ZigbeeGateWay.c的全局静态变量初始化也应该相应的改一下

// This list should be filled with Application specific Cluster IDs.
const cId_t ZigbeeGateWay_ClusterList[ZIGBEEGATEWAY_MAX_CLUSTERS] =
{
  ZIGBEEGATEWAY_PERIODIC_CLUSTERID,
  ZIGBEEGATEWAY_FLASH_CLUSTERID,
  ZIGBEEGATEWAY_LED_ON_CLUSTERID,
  ZIGBEEGATEWAY_LED_OFF_CLUSTERID,
  ZIGBEEGATEWAY_LED_ON_OFF_CLUSTERID,    
  ZIGBEEGATEWAY_FLASH_STOP_CLUSTERID, 
  ZIGBEEGATEWAY_SYSTEM_REBOOT_CLUSTERID,  
  ZIGBEEGATEWAY_FLASH_FOREVER_CLUSTERID,
  ZIGBEEGATEWAY_LCD_UPDATE_CLUSTERID
};

在zigbee终端工程中uip的消息处理函数void APP_uIP_Message_Process(u8_t* msg,u8_t length)里面添加

 else if(strstr((char*)tmp,"LCD")!=NULL)
        {
          if(strstr((char*)tmp,"LCDSET")!=NULL)
          {
            AF_DataRequest( &ZigbeeGateWay_State_DstAddr, &ZigbeeGateWay_epDesc,
                       ZIGBEEGATEWAY_LCD_UPDATE_CLUSTERID,
                       msg_length,
                       tmp,
                       &ZigbeeGateWay_TransID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS);
            return;
          }
        }

这里面已经把之前的CLUSTERID用上了


至此协调器端的修改完成。

解释:先定义一个CLUSTERID名称叫ZIGBEEGATEWAY_LCD_UPDATE_CLUSTERID,这个CLUSTERID只是一个标记,终端和协调器在发送消息时候共用的

再协调器的接收到以太网消息的时候判断content内容是否包含LCDSET字符串,如果包含,则将此消息转发给相应的终端


终端方面在rf的消息处理函数

void ZigbeeGateWay_MessageMSGCB( afIncomingMSGPacket_t *pkt )

中的switch语句中添加

case ZIGBEEGATEWAY_LCD_UPDATE_CLUSTERID:
      if(pkt->cmd.DataLength > 7)
      {
       // LCD_write_command(0x01); //清屏
        LCD_PutStr(tmp+7,pkt->cmd.DataLength-7,1);
      } 
      break;


至此,在之前工程Zigbee网关 cc2530 zstack添加1602驱动的基础上,修改完成。

打开新改好的安卓客户端zigbee网关 android客户端添加设置液晶显示功能

打开服务器软件,协调器终端重新下载,测试




成功,反应速度还可以。

更多资料请参考 http://web.nenewind.com

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Zigbee有线网络转zigbee网关API

1.1编译选项对话框的位置 1.在项目名称是右击选择options 2.找到C/C++ Complier选项卡,通过单击右侧红方框的右箭头找到Preprocessor,在Definedsymbol...

行迁移表重组计划

一、行迁移简介Oracle按照块保存数据,当一条数据由于某种因素如update,导致这条数据变长,且当前BLOCK没有足够的空间容纳变长的数据,这时Oracle会将这条数据移到其他BLOCK中,然后在...

基于CC2530的ZigBee转以太网网关的设计与实现

ZigBee是一种低成本,低功耗的近距离无线组网通讯技术,在智能家居、智能楼宇、工业监控等领域均有广泛应用。基于ZigBee的智能家居应用,如图1所示,用户在家庭中安装一个主控中心(ZigBee网关)...

从小米智能网关来看ZigBee组网特点

今天小宇同学从小米智能网关开看智能家居组网方法。这里只从小米智能网关来看ZigBee组网相关技术。 年初,小米总裁林斌发布了小米智能家庭套装。其中包括多功能网关、人体红外传感器、门窗传感器和无线开关。...

zigbee网关 CC2530 zstack用手机显示终端传来的lm75a温度传感器的值

参考zigbee网关 zstack CC2530添加温度传感器lm75a,下载相应的代码到协调器和终端,上电 参考zigbee网关 android客户端编写温度计功能,打开手机客户端 打开服务器软...

zigbee网关 android客户端编写温度计功能

参考如何在Android手机上画温度计? 但是不符合想要的需求。需求是温度是外界控制的,通过tcp传进来的;并且温度计的量程也太小了,最好在室温以内;最好能添加显示当前温度;温度计你最好在画面中间显示...

zigbee网关 zstack CC2530添加iic温度传感器lm75a

lm75a已经裸机驱动起来,下一步准备添加在zstack中zigbee网关 cc2530裸机驱动温度传感器LM75A 把iic.c, iic.h, lm75a.c, lm75a.h拷贝到zigbeeG...

zigbee以太网网关方案

zigbee以太网关方案
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)