<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >[success] 導師視頻講解:[**去聽課**](https://www.bilibili.com/video/BV1k34y1D7Vz?p=36) >[success] **技術支持說明:** >**1**.一般以自主學習為主 > **2**.可到官方問答社區中提問:[**去提問**](https://bbs.csdn.net/forums/zigbee) > **3**.工程師**會盡快**解答社區問題,但他們是一線開發,【**難以保證**】解答時效,解答辛苦,感謝理解! <br/> Z-Stack 3.0 中利用簡單描述符來描述一個設備的某一方面的服務,這種服務也可以稱為功能或者應用等。例如,ZigBee溫濕度傳感器具備溫濕度監測的服務,可以利用簡單描述來描述這個溫濕度監測服務的具體內容。 <br/> ## **結構分析** 簡單描述符本質上就是一個結構體,它在Z-Stack 3.0 中的定義是這樣的: ``` typedef struct{ uint8 EndPoint;//端點號 uint16 AppProfId;//描述所在應用場景,例如家居自動化 uint16 AppDeviceId;//設備ID uint8 AppDevVer:4;//由開發者自定義,表示版本號 uint8 Reserved:4;//保留字段 uint8 AppNumInClusters;//端點支持的輸入簇個數 cId_t *pAppInClusterList;//指向輸入簇列表的指針 uint8 AppNumOutClusters;//端點支持的輸出簇個數 cId_t *pAppOutClusterList;//指向輸出簇列表的指針 }SimpleDescriptionFormat_t; ``` 下面簡單講解一下各個元素的意義。 * **端點號**:EndPoint,可以理解為簡單描述符的編號,取值范圍是0~255。在同一個ZigBee設備中,每一個簡單描述符都有一個不同的端點號,可以利用端點號來找到對應的簡單描述符。 * **AppProfId**:Profile ID,表示這個簡單描述符所屬的應用場景。這個應用場景可以是家居自動化、智能照明和智慧零售等。ZigBee聯盟為不同的場景定義了對應的ID值,稱為Profile ID。 * **AppDeviceId**:Device ID,表示這個簡單描述符所屬的設備類型。這個設備類型可以是插座、燈或者傳感器等。類似地,ZigBee聯盟為不同類型的設備定義了對應的ID值,稱為Device ID。 * **AppDevVer**:這個值可以由開發者自定義,用來表示版本號。 * **Reserved**:保留字段,暫時可以忽略。 * **Cluster**:簇,或者集群,可以劃分為輸入簇(In Cluseter)和輸出簇(Out Cluster),用來描述這個服務的具體內容。一個簡單描述符中可以包含多個Cluster,這些Cluster共同描述了這個服務的具體內容,后續章節將會詳細講解。 <br/> ## **應用示例** 剛才講解了簡單描述的定義,那么接下來就是為設備創建一個簡單描述符。設備的簡單描述符在zcl_samplesw_data.c文件中創建,這個文件所在的位置如圖所示。 ![](https://img.kancloud.cn/d0/56/d056e6a8184f36e9dd78aa3b0912040b_1440x2131.png =300x) ### 可以在這個文件中找到設備所包含的簡單描述符,代碼如下: ``` SimpleDescriptionFormat_t zclSampleSw_SimpleDesc = { SAMPLESW_ENDPOINT, // int Endpoint; ZCL_HA_PROFILE_ID, // uint16 AppProfId[2]; ZCL_HA_DEVICEID_ON_OFF_LIGHT_SWITCH,// uint16 AppDeviceId[2]; SAMPLESW_DEVICE_VERSION, // int AppDevVer:4; SAMPLESW_FLAGS, // int AppFlags:4; ZCLSAMPLESW_MAX_INCLUSTERS, // byte AppNumInClusters; (cId_t *)zclSampleSw_InClusterList, // byte *pAppInClusterList; ZCLSAMPLESW_MAX_OUTCLUSTERS, // byte AppNumInClusters; (cId_t *)zclSampleSw_OutClusterList // byte *pAppInClusterList; }; ``` 詳細地講一下各個元素的含義。 * SAMPLESW\_ENDPOINT是在zcl\_samplesw.h文件中定義的端點號,定義如下: ``` #define SAMPLESW\_ENDPOINT 8 ``` ### * ZCL_HA_PROFILE_ID是由ZigBee聯盟定義的,表示智能家居領域的Profile ID。 ### * ZCL_HA_DEVICEID_ON_OFF_LIGHT_SWITCH是一個設備類型ID,表示這是一個智能插座,它的值是由ZigBee聯盟定義的。不同的公司在開發這個類型的智能插座的時候,必須要使用這個設備類型ID,這是互聯互通的基礎。 ### * SAMPLESW\_DEVICE\_VERSION是在zcl\_samplesw\_data.c文件中定義的版本號,定義如下: ``` #define SAMPLESW_DEVICE_VERSION 1 ``` ### * SAMPLESW\_FLAGS是在zcl\_samplesw\_data.c文件中定義的保留字段,可以暫時忽略,定義如下: ``` #define SAMPLESW_FLAGS 0 ``` * ZCLSAMPLESW\_MAX\_INCLUSTERS是在zcl\_samplesw\_data.c文件中定義的,表示支持的最大輸入簇數量。 ### * (cId_t *)zclSampleSw_InClusterList表示輸入簇列表。 ### * ZCLSAMPLESW_MAX_OUTCLUSTERS是在zcl\_samplesw\_data.c文件中定義的,表示支持的最大輸出簇數量。 ### * (cId_t *)zclSampleSw_OutClusterList表示輸出簇列表。 <br/> <br/> ## **項目定制** * 如需項目定制開發,可掃碼添加項目經理好友(注明“**項目定制**”) * 定制范圍:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等IoT技術方案 * 善學坊官網:[www.sxf-iot.com](https://www.sxf-iot.com/) ![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =200x) * 非項目定制**勿擾**,此處**非**技術支持
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看