Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
k-sdk
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈伟灿
k-sdk
Commits
9a29244b
Commit
9a29244b
authored
Sep 16, 2020
by
尹佳钦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
以配置的方式加载表
parent
fda1de55
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
892 additions
and
0 deletions
+892
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table/device_3001.json
...uilder/Z3GatewayHost/ZB/dev_config_table/device_3001.json
+21
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table/device_3002.json
...uilder/Z3GatewayHost/ZB/dev_config_table/device_3002.json
+21
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table/device_3003.json
...uilder/Z3GatewayHost/ZB/dev_config_table/device_3003.json
+28
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_device_table_db.c
.../zigbee/app/builder/Z3GatewayHost/ZB/kk_device_table_db.c
+546
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_device_table_db.h
.../zigbee/app/builder/Z3GatewayHost/ZB/kk_device_table_db.h
+57
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_msg_report.c
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_msg_report.c
+114
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_msg_report.h
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_msg_report.h
+49
-0
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_zb_com.h
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_zb_com.h
+56
-0
No files found.
platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table/device_3001.json
0 → 100644
View file @
9a29244b
{
"productCode"
:
"3001"
,
"config"
:[
{
"identity"
:
"PowerSwitch_1"
,
"endpoint"
:
18
,
"cluster"
:
"0x0011"
,
"attribute"
:
"0x0022"
,
"reportFunc"
:
"A"
,
"controlFunc"
:
"B"
},{
"identity"
:
"PowerSwitch_2"
,
"endpoint"
:
19
,
"cluster"
:
"0x0033"
,
"attribute"
:
"0x0044"
,
"reportFunc"
:
"C"
,
"controlFunc"
:
"D"
}
]
}
\ No newline at end of file
platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table/device_3002.json
0 → 100644
View file @
9a29244b
{
"productCode"
:
"3002"
,
"config"
:[
{
"identity"
:
"AAA"
,
"endpoint"
:
11
,
"cluster"
:
"0x1111"
,
"attribute"
:
"0x2222"
,
"reportFunc"
:
"zclOnOff_On"
,
"controlFunc"
:
"zclOnOff_On"
},{
"identity"
:
"BBB"
,
"endpoint"
:
22
,
"cluster"
:
"0x3333"
,
"attribute"
:
"0x4444"
,
"reportFunc"
:
"zclOnOff_Off"
,
"controlFunc"
:
"zclOnOff_Off"
}
]
}
\ No newline at end of file
platform/zigbee/app/builder/Z3GatewayHost/ZB/dev_config_table/device_3003.json
0 → 100644
View file @
9a29244b
{
"productCode"
:
"3003"
,
"config"
:[
{
"identity"
:
"AAA"
,
"endpoint"
:
11
,
"cluster"
:
"0x1111"
,
"attribute"
:
"0x2222"
,
"reportFunc"
:
"zclOnOff_On"
,
"controlFunc"
:
"zclOnOff_On"
},{
"identity"
:
"BBB"
,
"endpoint"
:
22
,
"cluster"
:
"0x3333"
,
"attribute"
:
"0x4444"
,
"reportFunc"
:
"zclOnOff_Off"
,
"controlFunc"
:
"zclOnOff_Off"
},{
"identity"
:
"CCCC"
,
"endpoint"
:
33
,
"cluster"
:
"0x5555"
,
"attribute"
:
"0x6666"
,
"reportFunc"
:
"zclOnOff_Off"
,
"controlFunc"
:
"zclOnOff_Off"
}
]
}
\ No newline at end of file
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_device_table_db.c
0 → 100644
View file @
9a29244b
This diff is collapsed.
Click to expand it.
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_device_table_db.h
0 → 100644
View file @
9a29244b
#ifndef __KK_DEVICE_TABLE_DB_H
#define __KK_DEVICE_TABLE_DB_H
#include "kk_zb_com.h"
#include "kk_test.h"
#define KK_MAX_PRODUCT_CODE_SIZE 33
#define KK_DEVICE_DB_TABLE "kk_device"
#define KK_DEVICE_DB_FILE "kk_device.db"
void
kk_device_db_init
(
void
);
void
kk_device_db_insert
(
EmberEUI64
mac
,
EmberNodeId
nodeId
,
uint16_t
deviceId
,
char
*
productCode
);
void
kk_device_db_delete
(
EmberEUI64
mac
);
void
kk_device_db_update
(
EmberEUI64
mac
,
EmberNodeId
nodeId
,
uint16_t
deviceId
,
char
*
productCode
);
bool
kk_device_db_check
(
EmberEUI64
mac
);
int
kk_device_db_get_num
();
kk_device_table_s
*
kk_get_device_table_pointer
(
void
);
void
kk_print_device_table
(
void
);
char
*
kk_device_find_productCode
(
EmberEUI64
mac
);
kk_device_table_s
*
kk_device_find_by_mac
(
EmberEUI64
mac
);
void
kk_device_table_add
(
EmberEUI64
mac
,
EmberNodeId
nodeId
,
const
char
*
productCode
,
uint16_t
deviceId
);
void
kk_device_table_delete
(
EmberEUI64
mac
);
void
kk_add_device_to_table
(
EmberEUI64
mac
,
EmberNodeId
nodeId
,
uint16_t
deviceId
);
#endif
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_msg_report.c
0 → 100644
View file @
9a29244b
#include "kk_msg_report.h"
static
void
kk_msg_report
(
cJSON
*
data
,
char
*
msgtype
,
char
*
method
,
EmberEUI64
mac
)
{
static
uint16_t
msgid
;
char
msgIdString
[
10
]
=
{
0
};
char
macString
[
19
]
=
{
0
};
sub_dev_node_t
*
node
=
NULL
;
int
res
=
0
;
rpc_eui64ToString
(
mac
,
macString
);
res
=
kk_sub_tsl_get_device_by_mac
(
macString
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
printf
(
"[%s][%d]kk_rpc_send_message error!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
return
;
}
cJSON
*
info
=
rpc_cJSON_CreateObject
();
if
(
info
!=
NULL
){
rpc_cJSON_AddStringToObject
(
info
,
"msgType"
,
msgtype
);
rpc_cJSON_AddStringToObject
(
info
,
"productCode"
,
node
->
productCode
);
rpc_cJSON_AddStringToObject
(
info
,
"deviceCode"
,
macString
);
}
cJSON
*
payload
=
rpc_cJSON_CreateObject
();
if
(
payload
!=
NULL
){
sprintf
(
msgIdString
,
"%d"
,
++
msgid
);
rpc_cJSON_AddStringToObject
(
payload
,
"msgId"
,
msgIdString
);
rpc_cJSON_AddStringToObject
(
payload
,
"version"
,
KK_IPC_VERSION
);
rpc_cJSON_AddStringToObject
(
payload
,
"method"
,
method
);
rpc_cJSON_AddItemToObject
(
payload
,
"params"
,
data
);
}
cJSON
*
root
=
rpc_cJSON_CreateObject
();
if
(
root
!=
NULL
){
rpc_cJSON_AddItemToObject
(
root
,
"info"
,
info
);
rpc_cJSON_AddItemToObject
(
root
,
"payload"
,
payload
);
}
char
*
p
=
rpc_cJSON_Print
(
root
);
emberAfAppPrintln
(
"send json:
\n
%s
\n
"
,
p
);
free
(
p
);
jrpc_send_msg
(
root
);
rpc_cJSON_Delete
(
root
);
}
static
void
kk_msg_report_joined
(
cJSON
*
data
,
EmberEUI64
mac
)
{
kk_msg_report
(
data
,
KK_REPORT_DEVICE_JOINED_TYPE
,
KK_REPORT_DEVICE_JOINED_METHOD
,
mac
);
}
static
void
kk_msg_report_leave
(
cJSON
*
data
,
EmberEUI64
mac
)
{
kk_msg_report
(
data
,
KK_REPORT_DEVICE_LEFT_TYPE
,
KK_REPORT_DEVICE_LEAVE_METHOD
,
mac
);
}
void
kk_msg_report_property
(
cJSON
*
data
,
EmberEUI64
mac
)
{
kk_msg_report
(
data
,
KK_REPORT_ATTRIBUTE_TYPE
,
KK_REPORT_ATTRIBUTE_METHOD
,
mac
);
}
void
kk_msg_report_dev_joined
(
EmberEUI64
mac
,
const
char
*
productCode
)
{
cJSON
*
devicesJson
;
EmberEUI64
localEui64
=
{
0
};
char
macString
[
KK_EUI64_STRING_LENGTH
]
=
{
0
};
UTIL_LOG_WARNING
(
"report tsl product code:%s
\n
"
,
productCode
);
emberAfDebugPrint
(
"mac:"
);
emberAfPrintBigEndianEui64
(
mac
);
emberAfDebugPrintln
(
""
);
devicesJson
=
rpc_cJSON_CreateObject
();
rpc_eui64ToString
(
mac
,
macString
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"productCode"
,
productCode
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"deviceCode"
,
macString
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"mac"
,
macString
);
kk_sub_tsl_add
(
mac
,
productCode
);
emberAfGetEui64
(
localEui64
);
kk_msg_report_joined
(
devicesJson
,
localEui64
);
}
void
kk_msg_report_dev_leave
(
EmberEUI64
mac
)
{
int
res
=
0
;
cJSON
*
devicesJson
;
sub_dev_node_t
*
node
=
NULL
;
EmberEUI64
localEui64
=
{
0
};
char
macString
[
KK_EUI64_STRING_LENGTH
];
rpc_eui64ToString
(
mac
,
macString
);
res
=
kk_sub_tsl_get_device_by_mac
(
macString
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
emberAfDebugPrintln
(
"[%s][%d]kk msg send error!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
return
;
}
devicesJson
=
rpc_cJSON_CreateObject
();
rpc_cJSON_AddStringToObject
(
devicesJson
,
"productCode"
,
node
->
productCode
);
rpc_cJSON_AddStringToObject
(
devicesJson
,
"deviceCode"
,
macString
);
emberAfGetEui64
(
localEui64
);
kk_msg_report_leave
(
devicesJson
,
localEui64
);
kk_sub_tsl_delete
(
mac
);
kk_device_table_delete
(
mac
);
kk_device_db_delete
(
mac
);
}
int
kk_sendData2CCU
(
char
*
data
,
int
len
)
{
if
(
strcmp
(
GW2CCU_PROTOCOL
,
"tcp"
)
==
0
){
kk_tcp_client_send
(
data
,
len
);
}
else
{
kk_ipc_send
(
IPC_PLAT2MID
,
data
,
len
);
}
}
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_msg_report.h
0 → 100644
View file @
9a29244b
#ifndef __KK_MSG_REPORT_H
#define __KK_MSG_REPORT_H
#include <stdio.h>
#include "app/framework/include/af.h"
#include ".././jsonrpc/jsonrpc-c.h"
#include ".././jsonrpc/rpccJSON.h"
#include "com_api.h"
#include "kk_zb_com.h"
#include "kk_sub_tsl.h"
#define KK_IPC_VERSION "1.0"
#define KK_REPORT_DEVICE_JOINED_METHOD "thing.topo.add"
#define KK_REPORT_DEVICE_LEAVE_METHOD "thing.topo.delete"
#define KK_REPORT_ATTRIBUTE_METHOD "thing.event.property.post"
#define KK_READ_ATTRIBUTE_METHOD "thing.service.property.get"
#define KK_REPORT_DEVICE_JOINED_TYPE "/thing/topo/add"
#define KK_REPORT_DEVICE_LEFT_TYPE "/thing/topo/delete"
#define KK_REPORT_ATTRIBUTE_TYPE "/thing/event/property/post"
#define GW2CCU_PROTOCOL "tcp"
int
kk_sendData2CCU
(
char
*
data
,
int
len
);
void
kk_msg_report_dev_leave
(
EmberEUI64
mac
);
void
kk_msg_report_dev_joined
(
EmberEUI64
mac
,
const
char
*
productCode
);
void
kk_msg_report_property
(
cJSON
*
data
,
EmberEUI64
mac
);
#endif
platform/zigbee/app/builder/Z3GatewayHost/ZB/kk_zb_com.h
0 → 100644
View file @
9a29244b
#ifndef __KK_ZB_COM_H
#define __KK_ZB_COM_H
#include "app/framework/include/af.h"
typedef
struct
kk_device_table_s
{
EmberEUI64
mac
;
EmberNodeId
nodeId
;
uint16_t
deviceId
;
uint16_t
identifyCnt
;
char
productCode
[
33
];
struct
kk_device_table_s
*
next
;
}
kk_device_table_s
;
#define RPC_APPVERSION_STRING_LENGTH 3 //
#define RPC_ENDPOINT_STRING_LENGTH 4 //0-255 + NULL
#define RPC_EUI64_STRING_LENGTH 19 //"0x" + 16 characters + NULL
#define RPC_NODEID_STRING_LENGTH 7 //"0x" + 4 characters + NULL
#define RPC_CLUSTERID_STRING_LENGTH 7 // "0x" + 4 chars + NULL
#define RPC_ATTRIBUTE_STRING_LENGTH 7 // "0x" + 4 chars + NULL
#define RPC_DATATYPE_STRING_LENGTH 4 //0-255 + NULL
#define RPC_LENGTH_STRING_LENGTH 4 //0-255 + NULL
#define RPC_STATUS_STRING_LENGTH 4 //0-255 + NULL
enum
{
WC_normal_dir
=
0
,
//"正转"
WC_reversed_dir
=
1
,
//"反转"
WC_calibration_mode
=
2
,
//"校验"
}
windowCoveringMode
;
#define KK_EUI64_STRING_LENGTH 17 //16 characters + NULL
#define KK_GET_U16( x ) (int16u)( (x[1]<<8)+x[0] )
#define KK_GET_U24( x ) (int32u)( (x[2]<<16)+(x[1]<<8)+x[0] )
#define KK_GET_U32( x ) (int32u)( (x[3]<<24)+(x[2]<<16)+(x[1]<<8)+x[0] )
#define KK_GET_U48( x ) (int64u)( ((int64u)(x[4])<<32)+(x[3]<<24)+(x[2]<<16)+(x[1]<<8)+x[0] )
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment