ZIGBEE学习笔记五——读取温度电量信息

ZIGBEE学习笔记五——读取温度电量信息

ID:38255219

大小:16.01 KB

页数:3页

时间:2019-06-07

ZIGBEE学习笔记五——读取温度电量信息_第1页
ZIGBEE学习笔记五——读取温度电量信息_第2页
ZIGBEE学习笔记五——读取温度电量信息_第3页
资源描述:

《ZIGBEE学习笔记五——读取温度电量信息》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ZIGBEE学习笔记五——读取温度电量信息2011-11-1522:231、传感器节点sensor采集数据发往收集节点collector什么时候传感器节点开始读取温度电池电量信息的?从绑定成功后开始的,看下zb_BindConfirm()这个函数:*********************************void zb_BindConfirm( uint16 commandId, uint8 status ){  if ( ( status == ZB_SUCCESS ) && ( myAppState == APP_START ) )  {    myApp

2、State = APP_BOUND;    //Start reporting sensor values    myApp_StartReporting();  }  else  {    // Continue to discover a collector    osal_start_timerEx( sapi_TaskID, MY_FIND_COLLECTOR_EVT, myBindRetryDelay );  }}*********************************可以看到如果绑定成功则调用 myApp_StartReporting()开始报告

3、传感器的数据值.看下myApp_StartReporting()这个函数:*********************************//周期性地读取传感器采集的数据void myApp_StartReporting( void ){  //温度  osal_start_timerEx( sapi_TaskID, MY_REPORT_TEMP_EVT, myTempReportPeriod );  //电池能量  osal_start_timerEx( sapi_TaskID, MY_REPORT_BATT_EVT, myBatteryCheckPeriod )

4、;  HalLedSet( HAL_LED_1, HAL_LED_MODE_ON );}*********************************可以看到这里设定两个软定时器定时触发MY_REPORT_TEMP_EVT事件和MY_REPORT_BATT_EVT事件,即报告温度值事件和报告电池电量事件.注意这些事件属于ZB_USER_EVENTS,用户应用事件ZB_USER_EVENTS事件有以下这些:  // This must be the last event to be processed  /*  // Application osal event i

5、dentifiers  // Bit mask of events ( from 0x0000 to 0x00FF )#define MY_START_EVT                0x0001#define MY_REPORT_TEMP_EVT          0x0002#define MY_REPORT_BATT_EVT          0x0004#define MY_FIND_COLLECTOR_EVT       0x0008  */  //而ZB_USER_EVENTS = 0x00FF;以上应用事件和ZB_USER_EVENTS相与都不为0

6、,因此会执行SAPI_ProcessEvent()中以下程序:*********************************  if ( events & ( ZB_USER_EVENTS ) ) /*用户应用事件*/  {    // User events are passed to the application    zb_HandleOsalEvent( events );    // Do not return here, return 0 later  }*********************************调用zb_HandleOsal

7、Event():*********************************//SENSOR_REPORT_CMD_ID命令信息带有两个字节的负载:第一个字节指示读取的类型(温度或//电池电压);第二个字节为传感器指示值(温度或电压指示).void zb_HandleOsalEvent( uint16 event ){  uint8 pData[2];  if ( event & MY_START_EVT )  {    zb_StartRequest();  }  if ( event & MY_REPORT_TEMP_EVT )//温度报告

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。