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

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

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ZIGBEE学习笔记五——读取温度电量信息

ZIGBEE学习笔记五——读取温度电量信息2011-11-15 22:231、传感器节点sensor采集数据发往收集节点collector什么时候传感器节点开始读取温度电池电量信息的?从绑定成功后开始的,看下zb_BindConfirm()这个函数:*********************************void?zb_BindConfirm(?uint16?commandId,?uint8?status?){?if?(?(?status?==?ZB_SUCCESS?)??(?myAppState?==?APP_START?)?)?{?myAppState?=?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()开始报告传感器的数据值.看下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?);?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?identifiers?//?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,因此会执行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_HandleOsalEvent():*********************************//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?)//温度报告?{?//?Read?and?report?temperature?value?pData[0]?=?TEMP_

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档