zigbee吧 关注:5,010贴子:18,715
  • 8回复贴,共1

zigbee连接多个传感器传输数据求助

只看楼主收藏回复

我要在一个zigbee终端节点上带多个传感器(DHT11+红外热释电+烟雾),可总是调不出来结果,下面为sampleAPP中的发送及数据处理函数,求大神指教!
数据点对点发送函数:
void SampleApp_SendPointToPointMessage( void )
{
uchar data[6];
data[0]=wendu_shi+48;
data[1]=wendu_ge%10+48;
data[2]=shidu_shi+48;
data[3]=shidu_ge%10+48;
if(PEOPLE==1)
{
data[4]=1;//有人
HalUARTWrite(0,"Get People\n",11); //串口
HalLcdWriteString( "Get People", HAL_LCD_LINE_3 ); //LCD
}
else
{
data[4]=0;//无人
HalUARTWrite(0,"No People\n",10); //串口
}
if(SMOKE==1)
{
data[5]=1;//没烟雾
HalUARTWrite(0,"No bad Air\n",11); //串口
}
else
{
data[5]=0;//有烟雾
HalUARTWrite(0,"Get bad Air\n",12); //串口
}
if ( AF_DataRequest( &Point_To_Point_DstAddr,
&SampleApp_epDesc,
SAMPLEAPP_POINT_TO_POINT_CLUSTERID,
6,
data,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
}
else
{
// Error occurred in request to send.
}
}
数据处理函数:
void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
{
uint16 flashTime;
switch ( pkt->clusterId )
{
case SAMPLEAPP_POINT_TO_POINT_CLUSTERID:
/***********温度打印***************/
HalUARTWrite(0,"Temp is:",8); //提示接收到数据
HalUARTWrite(0,&pkt->cmd.Data[0],2); //温 度
HalUARTWrite(0,"\n",1); // 回车换行
/***************湿度打印****************/
HalUARTWrite(0,"Humidity is:",12); //提示接收到数据
HalUARTWrite(0,&pkt->cmd.Data[2],2); //湿度
HalUARTWrite(0,"\n",1);
if(&pkt->cmd.Data[4])
HalUARTWrite(0,"Get People\n",11);
else
HalUARTWrite(0,"No People\n",10);
if(&pkt->cmd.Data[5])
HalUARTWrite(0,"Get bad air\n",12);
else
HalUARTWrite(0,"No bad air\n",11);
break;
case SAMPLEAPP_FLASH_CLUSTERID:
flashTime = BUILD_UINT16(pkt->cmd.Data[1], pkt->cmd.Data[2] );
HalLedBlink( HAL_LED_4, 4, 50, (flashTime / 4) );
break;
}
}
下好程序后终端节点串口打印的温湿度正常,两个传感器状态随环境变化。协调节点的温湿度正常,而红外热释电及烟雾传感器的信息一直却显示为“Get People ,Get bad air”,说明两个数据发送的过程中出现了问题,弄了好久也解决不了,诚心求大神帮忙,感激不尽


1楼2017-04-25 11:21回复
    求助大神


    2楼2017-04-25 11:22
    回复
      2025-06-29 05:06:55
      广告
      需要联系qq:1286162155


      来自Android客户端3楼2017-04-25 14:56
      回复
        求一个zigbee连接一个传感器(DHT22、11都行)的程序。想完成模块的数据采集,然后传输到PC端,跪求楼主!


        4楼2017-06-09 15:25
        回复
          我Q:353853795


          5楼2017-06-09 15:26
          回复
            你好,请问你这个成功了吗,我也是现在遇到相同的问题只能完成dht11而不能接收到mq2的信息,可以求助一下你吗,求发一下你的程序 邮箱2675216615@qq.com,求回复,感激


            来自手机贴吧6楼2019-04-10 21:32
            收起回复
              终端节点的串口打印出来的红外和烟雾消息是否和程序设定相符?如果相符,抓包看看发出的信息是否符合终端节点的程序设定?然后在看看协调器收到的信息是否符合无线数据包。


              IP属地:广东7楼2019-07-11 16:42
              回复