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
You need to sign in or sign up before continuing.
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
Hide 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
...
@@ -26,7 +26,22 @@ typedef enum {
...
@@ -26,7 +26,22 @@ typedef enum {
IPC_PLAT2MID
,
IPC_PLAT2MID
,
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