zigbee協議棧中自帶的homeautomation例程,雖然也是操作燈泡,但是,是通過zcl來統一處理的,符合ha profile規範,互連互操作性較好。下面就簡要分析以下zcl的使用。
在任務陣列中,多定義了zcl層。
technorati 標籤: zigbee ha 示例程式
//osal_samplesw.c
const ptaskeventhandlerfn tasksarr =;
既然是zcl的事件迴圈,那就肯定有zcl的初始化函式如下:
//zcl.c
void
zcl_init( uint8 task_id )
zcl層僅僅是指定乙個任務號,初始化zcl的一些全域性變數。
要符合ha規範,那麼,在填充本地端點描述符時,就要符合相應的要求。其中最重要的是這句話
epdesc->task_id = &zcl_taskid; // all messages get sent to zcl first
這表明,符合ha profile規範的裝置,在接收資料時,首先會經過zcl層的處理。
對於一些常用的命令,zcl已經繫結好命令與其響應**函式的關係,在通用族庫裡面已經定義好。
每乙個簇包含簇id和對應的屬性。
處理收到的資料報zcl_incoming_msg:
zclsamplesw_processincomingmsg,通過commandid來進行不同的處理。
處理zdo的訊息函式zdo_cb_msg:
給任務指定end_device_bind_rsp 和match_desc_rsp 的響應。
zdo_registerforzdomsg( zclsamplesw_taskid, end_device_bind_rsp );
zdo_registerforzdomsg( zclsamplesw_taskid, match_desc_rsp )
zclsamplesw_processzdomsgs,該函式處理在初始化時繫結的zdo訊息請求與響應函式。
處理鍵盤的響應函式key_change:
zclsamplesw_handlekeys
sw_1按鍵:按下會傳送乙個切換燈狀態的命令
sw_2按鍵: 啟動終端裝置繫結請求,zdp_enddevicebindreq
sw_4按鍵:協調器按下sw_4,允許繫結請求。zdp_matchdescreq
EXT JS 6示例程式 Login示例程式
1.用sencha cmd生成應用程式模版 2.建立login view元件 資料夾下,有預設的 main 資料夾,這個資料夾包含了檔案main.js,maincontroller.js,和 mainmodel.js 資料夾下建立乙個資料夾 login 在 login 資料夾下,新建兩個檔案 log...
UDP Socket示例程式
通常我們涉及到的網路程式設計,也稱為socket程式設計,多數是tcp和udp協議的程式設計,二者最大的區別就是 1.tcp是可靠的傳輸,需要三次握手建立連線再傳資料,而udp是無連線的,即使沒有接收方,也可以乙個勁往乙個位址發資料,所以說是不可靠的傳輸模式。2.tcp是基於流模式的,udp是基於資...
爬蟲示例程式
importrequests frombs4importbeautifulsoup try importxml.etree.celementtreeaset exceptimporterror importxml.etree.elementtreeaset base url response req...