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
e31335ef
Commit
e31335ef
authored
Aug 13, 2020
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】调整topic的处理,所有topic在app层处理,以应对不同topic规则。
【提交人】陈伟灿
parent
be59c2bf
Changes
9
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
140 additions
and
166 deletions
+140
-166
application/kcloud/mqtt_api.c
application/kcloud/mqtt_api.c
+2
-2
common/api/com_api.h
common/api/com_api.h
+16
-1
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+41
-82
midware/midware/dm/kk_dm_mng.h
midware/midware/dm/kk_dm_mng.h
+13
-2
midware/midware/dm/kk_dm_msg.c
midware/midware/dm/kk_dm_msg.c
+64
-33
midware/tsl/tsl_handle/kk_tsl_api.c
midware/tsl/tsl_handle/kk_tsl_api.c
+0
-25
midware/tsl/tsl_handle/kk_tsl_api.h
midware/tsl/tsl_handle/kk_tsl_api.h
+2
-20
platform/zigbee/app/builder/Z3GatewayHost/kk_tsl_common.h
platform/zigbee/app/builder/Z3GatewayHost/kk_tsl_common.h
+1
-0
platform/zigbee/protocol/zigbee/app/framework/util/af-main-host.c
.../zigbee/protocol/zigbee/app/framework/util/af-main-host.c
+1
-1
No files found.
application/kcloud/mqtt_api.c
View file @
e31335ef
...
@@ -104,8 +104,8 @@ void onConnect(void* context, MQTTAsync_successData* response)
...
@@ -104,8 +104,8 @@ void onConnect(void* context, MQTTAsync_successData* response)
int
messageArrived
(
void
*
context
,
char
*
topicName
,
int
topicLen
,
MQTTAsync_message
*
message
)
int
messageArrived
(
void
*
context
,
char
*
topicName
,
int
topicLen
,
MQTTAsync_message
*
message
)
{
{
/* not expecting any messages */
/* not expecting any messages */
INFO_PRINT
(
"onMessageArrived topic:%s,message length:%d.
\n
"
,
topicName
,
message
->
payloadlen
);
//
INFO_PRINT("onMessageArrived topic:%s,message length:%d.\n",topicName,message->payloadlen);
INFO_PRINT
(
"payload:%s,
\n
"
,
message
->
payload
);
//
INFO_PRINT("payload:%s,\n",message->payload);
KK_MQTT_RecvMsg
(
topicName
,
message
->
payload
);
KK_MQTT_RecvMsg
(
topicName
,
message
->
payload
);
MQTTAsync_freeMessage
(
&
message
);
MQTTAsync_freeMessage
(
&
message
);
MQTTAsync_free
(
topicName
);
MQTTAsync_free
(
topicName
);
...
...
common/api/com_api.h
View file @
e31335ef
...
@@ -27,6 +27,21 @@ typedef enum {
...
@@ -27,6 +27,21 @@ typedef enum {
IPC_UNDEF
IPC_UNDEF
}
ipc_type
;
}
ipc_type
;
typedef
enum
{
MSG_REGISTER
=
0
,
MSG_UNREGISTER
,
MSG_TOPOADD
,
MSG_TOPODELETE
,
MSG_TOPOGET
,
MSG_LISTFOUND
,
MSG_LOGIN
,
MSG_LOGOUT
,
MSG_PROPERTYPOST
,
MSG_EVENTPOST
,
MSG_SERVICERESPONSE
,
MSG_SETREPLY
,
}
kk_msg_type_t
;
typedef
void
ipc_cb
(
void
*
data
,
int
len
);
typedef
void
ipc_cb
(
void
*
data
,
int
len
);
int
kk_ipc_init
(
ipc_type
type
,
ipc_cb
cb
);
int
kk_ipc_init
(
ipc_type
type
,
ipc_cb
cb
);
int
kk_ipc_dinit
();
int
kk_ipc_dinit
();
...
...
midware/midware/dm/kk_dm_mng.c
View file @
e31335ef
This diff is collapsed.
Click to expand it.
midware/midware/dm/kk_dm_mng.h
View file @
e31335ef
#ifndef __KK_DM_MNG__
#ifndef __KK_DM_MNG__
#define __KK_DM_MNG__
#define __KK_DM_MNG__
#include "com_api.h"
#include "kk_tsl_common.h"
#include "kk_tsl_common.h"
#include "klist.h"
#include "klist.h"
...
@@ -9,6 +10,7 @@
...
@@ -9,6 +10,7 @@
#define KK_DM_DEVICE_SUBDEV (0x02)
#define KK_DM_DEVICE_SUBDEV (0x02)
#define KK_DM_DEVICE_GATEWAY (0x04)
#define KK_DM_DEVICE_GATEWAY (0x04)
#define KK_MID_SYNC_DEFAULT_TIMEOUT_MS (200)
#define KK_MID_SYNC_DEFAULT_TIMEOUT_MS (200)
#define IDENTIFY_MAXLEN (64 + 1)
typedef
struct
{
typedef
struct
{
int
devid
;
int
devid
;
...
@@ -30,8 +32,10 @@ typedef struct {
...
@@ -30,8 +32,10 @@ typedef struct {
typedef
struct
{
typedef
struct
{
int
msgid
;
int
msgid
;
int
devid
;
int
devid
;
const
char
*
service_prefix
;
//const char *service_prefix;
const
char
*
service_name
;
//const char *service_name;
kk_msg_type_t
msgtype
;
char
identity
[
IDENTIFY_MAXLEN
];
char
product_key
[
PRODUCT_KEY_MAXLEN
];
char
product_key
[
PRODUCT_KEY_MAXLEN
];
char
device_name
[
DEVICE_NAME_MAXLEN
];
char
device_name
[
DEVICE_NAME_MAXLEN
];
char
*
params
;
char
*
params
;
...
@@ -39,5 +43,12 @@ typedef struct {
...
@@ -39,5 +43,12 @@ typedef struct {
char
*
method
;
char
*
method
;
//iotx_cm_data_handle_cb callback;
//iotx_cm_data_handle_cb callback;
}
dm_msg_request_t
;
}
dm_msg_request_t
;
typedef
struct
{
kk_msg_type_t
msgtype
;
char
identity
[
IDENTIFY_MAXLEN
];
char
product_key
[
PRODUCT_KEY_MAXLEN
];
char
device_name
[
DEVICE_NAME_MAXLEN
];
iotx_dm_error_code_t
code
;
}
kk_msg_response_t
;
#endif
#endif
midware/midware/dm/kk_dm_msg.c
View file @
e31335ef
...
@@ -16,10 +16,11 @@ const char DM_URI_THING_EVENT_PROPERTY_POST_METHOD[] DM_READ_ONLY = "thing.even
...
@@ -16,10 +16,11 @@ const char DM_URI_THING_EVENT_PROPERTY_POST_METHOD[] DM_READ_ONLY = "thing.even
const
char
DM_MSG_REQUEST
[]
DM_READ_ONLY
=
"{
\"
msgId
\"
:
\"
%d
\"
,
\"
version
\"
:
\"
%s
\"
,
\"
params
\"
:%.*s,
\"
method
\"
:
\"
%s
\"
}"
;
const
char
DM_MSG_REQUEST
[]
DM_READ_ONLY
=
"{
\"
msgId
\"
:
\"
%d
\"
,
\"
version
\"
:
\"
%s
\"
,
\"
params
\"
:%.*s,
\"
method
\"
:
\"
%s
\"
}"
;
const
char
DM_MSG_INFO
[]
DM_READ_ONLY
=
"{
\"
msgtype
\"
:
\"
%d
\"
,
\"
product_type
\"
:
\"
%s
\"
,
\"
device_name
\"
:
\"
%s
\"
,
\"
identifier
\"
:
\"
%s
\"
}"
;
void
kk_sendData2app
(
void
*
uri
,
void
*
payload
){
void
kk_sendData2app
(
void
*
info
,
void
*
payload
){
cJSON
*
root
=
cJSON_CreateObject
();
cJSON
*
root
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
root
,
"
topic"
,
uri
);
cJSON_AddStringToObject
(
root
,
"
info"
,
info
);
cJSON_AddStringToObject
(
root
,
"payload"
,
payload
);
cJSON_AddStringToObject
(
root
,
"payload"
,
payload
);
void
*
buf
=
cJSON_Print
(
root
);
void
*
buf
=
cJSON_Print
(
root
);
kk_ipc_send
(
IPC_MID2APP
,
buf
,
strlen
(
buf
)
+
1
);
kk_ipc_send
(
IPC_MID2APP
,
buf
,
strlen
(
buf
)
+
1
);
...
@@ -395,48 +396,56 @@ int dm_msg_combine_logout(_IN_ char product_key[PRODUCT_KEY_MAXLEN],
...
@@ -395,48 +396,56 @@ int dm_msg_combine_logout(_IN_ char product_key[PRODUCT_KEY_MAXLEN],
int
dm_msg_request
(
_IN_
dm_msg_request_t
*
request
)
int
dm_msg_request
(
_IN_
dm_msg_request_t
*
request
)
{
{
int
res
=
0
,
payload_len
=
0
;
int
res
=
0
,
payload_len
=
0
,
req_info_len
=
0
;
char
*
payload
=
NULL
,
*
uri
=
NULL
;
char
*
payload
=
NULL
;
lite_cjson_t
lite
;
lite_cjson_t
lite
;
char
*
req_info
=
NULL
;
if
(
request
==
NULL
||
request
->
params
==
NULL
||
request
->
method
==
NULL
)
{
if
(
request
==
NULL
||
request
->
params
==
NULL
||
request
->
method
==
NULL
)
{
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
/* Request URI */
res
=
kk_utils_service_name
(
request
->
service_prefix
,
request
->
service_name
,
request
->
product_key
,
request
->
device_name
,
&
uri
);
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
}
payload_len
=
strlen
(
DM_MSG_REQUEST
)
+
10
+
strlen
(
DM_MSG_VERSION
)
+
request
->
params_len
+
strlen
(
payload_len
=
strlen
(
DM_MSG_REQUEST
)
+
10
+
strlen
(
DM_MSG_VERSION
)
+
request
->
params_len
+
strlen
(
request
->
method
)
+
1
;
request
->
method
)
+
1
;
payload
=
malloc
(
payload_len
);
payload
=
malloc
(
payload_len
);
if
(
payload
==
NULL
)
{
if
(
payload
==
NULL
)
{
free
(
uri
);
return
MEMORY_NOT_ENOUGH
;
return
MEMORY_NOT_ENOUGH
;
}
}
memset
(
payload
,
0
,
payload_len
);
memset
(
payload
,
0
,
payload_len
);
snprintf
(
payload
,
payload_len
,
DM_MSG_REQUEST
,
request
->
msgid
,
snprintf
(
payload
,
payload_len
,
DM_MSG_REQUEST
,
request
->
msgid
,
DM_MSG_VERSION
,
request
->
params_len
,
request
->
params
,
request
->
method
);
DM_MSG_VERSION
,
request
->
params_len
,
request
->
params
,
request
->
method
);
req_info_len
=
strlen
(
DM_MSG_INFO
)
+
10
+
strlen
(
request
->
product_key
)
+
strlen
(
request
->
device_name
)
+
strlen
(
request
->
identity
)
+
1
;
req_info
=
malloc
(
req_info_len
);
if
(
req_info
==
NULL
)
{
free
(
payload
);
return
MEMORY_NOT_ENOUGH
;
}
memset
(
req_info
,
0
,
req_info_len
);
snprintf
(
req_info
,
req_info_len
,
DM_MSG_INFO
,
request
->
msgtype
,
request
->
product_key
,
request
->
device_name
,
request
->
identity
);
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_parse
(
payload
,
payload_len
,
&
lite
);
res
=
lite_cjson_parse
(
payload
,
payload_len
,
&
lite
);
if
(
res
<
SUCCESS_RETURN
)
{
if
(
res
<
SUCCESS_RETURN
)
{
printf
(
"Wrong JSON Format, URI: %s, Payload: %s"
,
uri
,
payload
);
printf
(
"Wrong JSON Format, Payload: %s"
,
payload
);
free
(
uri
);
free
(
req_info
);
free
(
payload
);
return
FAIL_RETURN
;
}
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_parse
(
req_info
,
req_info_len
,
&
lite
);
if
(
res
<
SUCCESS_RETURN
)
{
printf
(
"Wrong JSON Format, Payload: %s"
,
req_info_len
);
free
(
req_info
);
free
(
payload
);
free
(
payload
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
printf
(
"DM Send Message, URI: %s, Payload: %s
\n
"
,
uri
,
payload
);
//if (type & DM_MSG_DEST_CLOUD) {
//if (type & DM_MSG_DEST_CLOUD) {
// dm_client_publish(uri, (unsigned char *)payload, strlen(payload), request->callback);
// dm_client_publish(uri, (unsigned char *)payload, strlen(payload), request->callback);
kk_sendData2app
(
uri
,
payload
);
kk_sendData2app
(
req_info
,
payload
);
//}
//}
free
(
uri
);
free
(
req_info
);
free
(
payload
);
free
(
payload
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -446,20 +455,15 @@ const char DM_MSG_RESPONSE_WITH_DATA[] DM_READ_ONLY = "{\"msgId\":\"%.*s\",\"cod
...
@@ -446,20 +455,15 @@ const char DM_MSG_RESPONSE_WITH_DATA[] DM_READ_ONLY = "{\"msgId\":\"%.*s\",\"cod
int
dm_msg_response
(
_IN_
kk_msg_request_payload_t
*
request
,
_IN_
kk_msg_response_t
*
response
,
int
dm_msg_response
(
_IN_
kk_msg_request_payload_t
*
request
,
_IN_
kk_msg_response_t
*
response
,
_IN_
char
*
data
,
_IN_
int
data_len
,
_IN_
void
*
user_data
)
_IN_
char
*
data
,
_IN_
int
data_len
,
_IN_
void
*
user_data
)
{
{
int
res
=
0
,
payload_len
=
0
;
int
res
=
0
,
payload_len
=
0
,
res_info_len
=
0
;
char
*
uri
=
NULL
,
*
payload
=
NULL
;
char
*
uri
=
NULL
,
*
payload
=
NULL
;
lite_cjson_t
lite
;
lite_cjson_t
lite
;
char
*
res_info
=
NULL
;
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
if
(
request
==
NULL
||
response
==
NULL
||
data
==
NULL
||
data_len
<=
0
)
{
if
(
request
==
NULL
||
response
==
NULL
||
data
==
NULL
||
data_len
<=
0
)
{
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
/* Response URI */
res
=
kk_utils_service_name
(
response
->
service_prefix
,
response
->
service_name
,
response
->
product_key
,
response
->
device_name
,
&
uri
);
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
}
/* Response Payload */
/* Response Payload */
payload_len
=
strlen
(
DM_MSG_RESPONSE_WITH_DATA
)
+
request
->
id
.
value_length
+
DM_UTILS_UINT32_STRLEN
+
data_len
+
1
;
payload_len
=
strlen
(
DM_MSG_RESPONSE_WITH_DATA
)
+
request
->
id
.
value_length
+
DM_UTILS_UINT32_STRLEN
+
data_len
+
1
;
...
@@ -468,10 +472,23 @@ int dm_msg_response(_IN_ kk_msg_request_payload_t *request, _IN_ kk_msg_response
...
@@ -468,10 +472,23 @@ int dm_msg_response(_IN_ kk_msg_request_payload_t *request, _IN_ kk_msg_response
free
(
uri
);
free
(
uri
);
return
MEMORY_NOT_ENOUGH
;
return
MEMORY_NOT_ENOUGH
;
}
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
memset
(
payload
,
0
,
payload_len
);
memset
(
payload
,
0
,
payload_len
);
snprintf
(
payload
,
payload_len
,
DM_MSG_RESPONSE_WITH_DATA
,
snprintf
(
payload
,
payload_len
,
DM_MSG_RESPONSE_WITH_DATA
,
request
->
id
.
value_length
,
request
->
id
.
value
,
response
->
code
,
data_len
,
data
);
request
->
id
.
value_length
,
request
->
id
.
value
,
response
->
code
,
data_len
,
data
);
res_info_len
=
strlen
(
DM_MSG_INFO
)
+
10
+
strlen
(
response
->
product_key
)
+
strlen
(
response
->
device_name
)
+
strlen
(
response
->
identity
)
+
1
;
res_info
=
malloc
(
res_info_len
);
if
(
res_info
==
NULL
)
{
free
(
payload
);
return
MEMORY_NOT_ENOUGH
;
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
memset
(
res_info
,
0
,
res_info_len
);
snprintf
(
res_info
,
res_info_len
,
DM_MSG_INFO
,
response
->
msgtype
,
response
->
product_key
,
response
->
device_name
,
response
->
identity
);
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_parse
(
payload
,
payload_len
,
&
lite
);
res
=
lite_cjson_parse
(
payload
,
payload_len
,
&
lite
);
if
(
res
<
SUCCESS_RETURN
)
{
if
(
res
<
SUCCESS_RETURN
)
{
...
@@ -480,13 +497,22 @@ int dm_msg_response(_IN_ kk_msg_request_payload_t *request, _IN_ kk_msg_response
...
@@ -480,13 +497,22 @@ int dm_msg_response(_IN_ kk_msg_request_payload_t *request, _IN_ kk_msg_response
free
(
payload
);
free
(
payload
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
printf
(
"Send URI: %s, Payload: %s"
,
uri
,
payload
);
memset
(
&
lite
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_parse
(
res_info
,
res_info_len
,
&
lite
);
if
(
res
<
SUCCESS_RETURN
)
{
printf
(
"Wrong JSON Format, Payload: %s"
,
res_info_len
);
free
(
res_info
);
free
(
payload
);
return
FAIL_RETURN
;
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
//dm_client_publish(uri, (unsigned char *)payload, strlen(payload), NULL);
//dm_client_publish(uri, (unsigned char *)payload, strlen(payload), NULL);
kk_sendData2app
(
uri
,
payload
);
kk_sendData2app
(
res_info
,
payload
);
free
(
uri
);
free
(
res_info
);
free
(
payload
);
free
(
payload
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
...
@@ -564,6 +590,7 @@ int dm_msg_thing_property_set_reply(const char *topic, const char *payload, unsi
...
@@ -564,6 +590,7 @@ int dm_msg_thing_property_set_reply(const char *topic, const char *payload, unsi
memset
(
&
request
,
0
,
sizeof
(
kk_msg_request_payload_t
));
memset
(
&
request
,
0
,
sizeof
(
kk_msg_request_payload_t
));
memset
(
&
response
,
0
,
sizeof
(
kk_msg_response_t
));
memset
(
&
response
,
0
,
sizeof
(
kk_msg_response_t
));
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
/**************to do*******************/
/**************to do*******************/
...
@@ -574,19 +601,23 @@ int dm_msg_thing_property_set_reply(const char *topic, const char *payload, unsi
...
@@ -574,19 +601,23 @@ int dm_msg_thing_property_set_reply(const char *topic, const char *payload, unsi
res
=
kk_msg_uri_parse_pkdn
((
char
*
)
topic
,
strlen
(
topic
),
2
+
KK_URI_OFFSET
,
4
+
KK_URI_OFFSET
,
product_key
,
res
=
kk_msg_uri_parse_pkdn
((
char
*
)
topic
,
strlen
(
topic
),
2
+
KK_URI_OFFSET
,
4
+
KK_URI_OFFSET
,
product_key
,
device_name
);
device_name
);
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
res
=
dm_mgr_search_device_by_pkdn
(
product_key
,
device_name
,
&
devid
);
res
=
dm_mgr_search_device_by_pkdn
(
product_key
,
device_name
,
&
devid
);
if
(
res
<
SUCCESS_RETURN
)
{
if
(
res
<
SUCCESS_RETURN
)
{
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
return
res
;
return
res
;
}
}
res
=
dm_msg_request_parse
((
char
*
)
payload
,
payload_len
,
&
request
);
res
=
dm_msg_request_parse
((
char
*
)
payload
,
payload_len
,
&
request
);
if
(
res
<
SUCCESS_RETURN
)
{
if
(
res
<
SUCCESS_RETURN
)
{
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
return
res
;
return
res
;
}
}
printf
(
"[%s][%d]
\n
"
,
__FUNCTION__
,
__LINE__
);
/* Response */
/* Response */
response
.
service_prefix
=
DM_URI_SYS_PREFIX
;
response
.
msgtype
=
MSG_SETREPLY
;
response
.
service_name
=
DM_URI_THING_SERVICE_PROPERTY_SET_REPLY
;
memset
(
response
.
identity
,
""
,
strlen
(
""
))
;
memcpy
(
response
.
product_key
,
product_key
,
strlen
(
product_key
));
memcpy
(
response
.
product_key
,
product_key
,
strlen
(
product_key
));
memcpy
(
response
.
device_name
,
device_name
,
strlen
(
device_name
));
memcpy
(
response
.
device_name
,
device_name
,
strlen
(
device_name
));
response
.
code
=
(
res
==
SUCCESS_RETURN
)
?
(
IOTX_DM_ERR_CODE_SUCCESS
)
:
(
IOTX_DM_ERR_CODE_REQUEST_ERROR
);
response
.
code
=
(
res
==
SUCCESS_RETURN
)
?
(
IOTX_DM_ERR_CODE_SUCCESS
)
:
(
IOTX_DM_ERR_CODE_REQUEST_ERROR
);
...
...
midware/tsl/tsl_handle/kk_tsl_api.c
View file @
e31335ef
...
@@ -1234,31 +1234,6 @@ int kk_msg_uri_parse_pkdn(_IN_ char *uri, _IN_ int uri_len, _IN_ int start_deli,
...
@@ -1234,31 +1234,6 @@ int kk_msg_uri_parse_pkdn(_IN_ char *uri, _IN_ int uri_len, _IN_ int start_deli,
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_tsl_response_ok
(
const
char
*
topic
,
const
char
*
payload
,
unsigned
int
payload_len
)
{
int
res
=
0
;
char
product_key
[
PRODUCT_KEY_MAXLEN
]
=
{
0
};
char
device_name
[
DEVICE_NAME_MAXLEN
]
=
{
0
};
kk_msg_response_t
response
;
kk_msg_request_payload_t
request
;
memset
(
&
request
,
0
,
sizeof
(
kk_msg_request_payload_t
));
memset
(
&
response
,
0
,
sizeof
(
kk_msg_response_t
));
res
=
kk_msg_uri_parse_pkdn
((
char
*
)
topic
,
strlen
(
topic
),
2
+
KK_URI_OFFSET
,
4
+
KK_URI_OFFSET
,
product_key
,
device_name
);
res
=
_kk_msg_request_parse
((
char
*
)
payload
,
payload_len
,
&
request
);
if
(
res
<
SUCCESS_RETURN
)
{
return
res
;
}
response
.
service_prefix
=
DM_URI_SYS_PREFIX
;
response
.
service_name
=
DM_URI_THING_SERVICE_PROPERTY_SET_REPLY
;
memcpy
(
response
.
product_key
,
product_key
,
strlen
(
product_key
));
memcpy
(
response
.
device_name
,
device_name
,
strlen
(
device_name
));
response
.
code
=
(
res
==
SUCCESS_RETURN
)
?
(
IOTX_DM_ERR_CODE_SUCCESS
)
:
(
IOTX_DM_ERR_CODE_REQUEST_ERROR
);
dm_msg_response
(
&
request
,
&
response
,
"{}"
,
strlen
(
"{}"
),
NULL
);
return
SUCCESS_RETURN
;
}
int
kk_tsl_property_set_byMac
(
const
char
mac
[
DEVICE_MAC_MAXLEN
],
const
char
*
payload
,
unsigned
int
payload_len
)
int
kk_tsl_property_set_byMac
(
const
char
mac
[
DEVICE_MAC_MAXLEN
],
const
char
*
payload
,
unsigned
int
payload_len
)
{
{
...
...
midware/tsl/tsl_handle/kk_tsl_api.h
View file @
e31335ef
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
#define KK_MSG_KEY_ID "
i
d"
#define KK_MSG_KEY_ID "
msgI
d"
#define KK_MSG_KEY_VERSION "version"
#define KK_MSG_KEY_VERSION "version"
#define KK_MSG_KEY_METHOD "method"
#define KK_MSG_KEY_METHOD "method"
#define KK_MSG_KEY_PARAMS "params"
#define KK_MSG_KEY_PARAMS "params"
...
@@ -49,25 +49,7 @@ typedef struct {
...
@@ -49,25 +49,7 @@ typedef struct {
lite_cjson_t
message
;
lite_cjson_t
message
;
}
kk_msg_response_payload_t
;
}
kk_msg_response_payload_t
;
typedef
struct
{
int
msgid
;
int
devid
;
const
char
*
service_prefix
;
const
char
*
service_name
;
char
product_key
[
PRODUCT_KEY_MAXLEN
];
char
device_name
[
DEVICE_NAME_MAXLEN
];
char
*
params
;
int
params_len
;
char
*
method
;
//iotx_cm_data_handle_cb callback;
}
kk_msg_request_t
;
typedef
struct
{
const
char
*
service_prefix
;
const
char
*
service_name
;
char
product_key
[
PRODUCT_KEY_MAXLEN
];
char
device_name
[
DEVICE_NAME_MAXLEN
];
iotx_dm_error_code_t
code
;
}
kk_msg_response_t
;
typedef
enum
{
typedef
enum
{
kk_tsl_set_property_value
=
0
,
kk_tsl_set_property_value
=
0
,
...
...
platform/zigbee/app/builder/Z3GatewayHost/kk_tsl_common.h
View file @
e31335ef
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#define DEVICE_MAC_MAXLEN (16 + 1)
#define DEVICE_MAC_MAXLEN (16 + 1)
#define DEVICE_SN_MAXLEN (32 + 1)
#define DEVICE_SN_MAXLEN (32 + 1)
#define TSL_PATH_MAXLEN (64 + 1)
#define TSL_PATH_MAXLEN (64 + 1)
#define DM_UTILS_UINT16_STRLEN (5)
#define DM_UTILS_UINT16_STRLEN (5)
...
...
platform/zigbee/protocol/zigbee/app/framework/util/af-main-host.c
View file @
e31335ef
...
@@ -500,7 +500,7 @@ int emberAfMain(MAIN_FUNCTION_PARAMETERS)
...
@@ -500,7 +500,7 @@ int emberAfMain(MAIN_FUNCTION_PARAMETERS)
kk_print
(
"*******************123****************
\r\n
"
);
kk_print
(
"*******************123****************
\r\n
"
);
kk_print_info
(
"
\r\n
-----hello world![%s:%s]-----
\r\n
"
,
__DATE__
,
__TIME__
);
kk_print_info
(
"
\r\n
-----hello world![%s:%s]-----
\r\n
"
,
__DATE__
,
__TIME__
);
kk_print_version
();
kk_print_version
();
kk_tsl_init
();
emberSerialInit
(
APP_SERIAL
,
BAUD_RATE
,
PARITY_NONE
,
1
);
//fock child process
emberSerialInit
(
APP_SERIAL
,
BAUD_RATE
,
PARITY_NONE
,
1
);
//fock child process
emberAfAppPrintln
(
"Reset info: %d (%p)"
,
emberAfAppPrintln
(
"Reset info: %d (%p)"
,
...
...
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