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
048c4aa3
You need to sign in or sign up before continuing.
Commit
048c4aa3
authored
Oct 09, 2020
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】增加物模型中heartbeat的解析
【提交人】陈伟灿
parent
08dd429e
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
79 additions
and
40 deletions
+79
-40
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+16
-10
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+6
-6
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+8
-7
midware/midware/dm/kk_sub_db.h
midware/midware/dm/kk_sub_db.h
+15
-15
midware/midware/midware.c
midware/midware/midware.c
+4
-1
midware/tsl/tsl_handle/kk_tsl_api.c
midware/tsl/tsl_handle/kk_tsl_api.c
+3
-0
midware/tsl/tsl_handle/kk_tsl_common.h
midware/tsl/tsl_handle/kk_tsl_common.h
+2
-0
midware/tsl/tsl_handle/kk_tsl_parse.c
midware/tsl/tsl_handle/kk_tsl_parse.c
+25
-1
No files found.
midware/midware/dm/kk_dm_mng.c
View file @
048c4aa3
...
@@ -202,7 +202,7 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
...
@@ -202,7 +202,7 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
}
}
}
}
int
dm_mgr_device_create
(
_IN_
int
dev_type
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
int
dm_mgr_device_create
(
_IN_
int
dev_type
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
)
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
,
_OU_
int
*
heartbeat
)
{
{
int
res
=
0
;
int
res
=
0
;
dm_mgr_ctx
*
ctx
=
_dm_mgr_get_ctx
();
dm_mgr_ctx
*
ctx
=
_dm_mgr_get_ctx
();
...
@@ -253,11 +253,13 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
...
@@ -253,11 +253,13 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
tsl_str
=
kk_load_json
(
productCode
,
dev_type
);
tsl_str
=
kk_load_json
(
productCode
,
dev_type
);
if
(
tsl_str
!=
NULL
)
if
(
tsl_str
!=
NULL
)
{
{
res
=
kk_tsl_create
(
tsl_str
,
strlen
(
tsl_str
),
&
node
->
dev_shadow
);
int
heartbeat
=
0
;
res
=
kk_tsl_create
(
tsl_str
,
strlen
(
tsl_str
),
&
node
->
dev_shadow
,
&
heartbeat
);
free
(
tsl_str
);
free
(
tsl_str
);
if
(
res
!=
0
){
if
(
res
!=
0
){
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
node
->
hb_timeout
=
heartbeat
;
}
}
else
{
else
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -273,6 +275,9 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
...
@@ -273,6 +275,9 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
if
(
devid
)
{
if
(
devid
)
{
*
devid
=
node
->
devid
;
*
devid
=
node
->
devid
;
}
}
if
(
heartbeat
){
*
heartbeat
=
node
->
hb_timeout
;
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -390,7 +395,10 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
...
@@ -390,7 +395,10 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
if
(
search_node
->
dev_type
==
KK_DM_DEVICE_CCU
){
if
(
search_node
->
dev_type
==
KK_DM_DEVICE_CCU
){
continue
;
continue
;
}
}
if
((
timestamp
-
search_node
->
timestamp
)
>=
TEST_TIMEOUT
/*search_node->hb_timeout*/
){
if
(
search_node
->
hb_timeout
==
0
){
search_node
->
hb_timeout
=
TEST_TIMEOUT
;
}
if
((
timestamp
-
search_node
->
timestamp
)
>=
search_node
->
hb_timeout
/*search_node->hb_timeout*/
){
if
(
search_node
->
isOffline
==
0
){
if
(
search_node
->
isOffline
==
0
){
INFO_PRINT
(
"---------->dev timeout,send offline
\n
"
);
INFO_PRINT
(
"---------->dev timeout,send offline
\n
"
);
...
@@ -398,9 +406,7 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
...
@@ -398,9 +406,7 @@ int dm_mgr_check_heartbeat_timeout(uint64_t timestamp)
iotx_dm_dev_offline
(
search_node
->
devid
);
iotx_dm_dev_offline
(
search_node
->
devid
);
kk_subDev_update_offline
(
search_node
->
isOffline
,
search_node
->
deviceCode
);
kk_subDev_update_offline
(
search_node
->
isOffline
,
search_node
->
deviceCode
);
}
}
//_dm_mgr_mutex_unlock();
//return DEVICE_HEARTBEAT_TIMEOUT;
}
}
else
{
else
{
if
(
search_node
->
isOffline
==
1
&&
search_node
->
timestamp
!=
0
)
{
//need send online
if
(
search_node
->
isOffline
==
1
&&
search_node
->
timestamp
!=
0
)
{
//need send online
...
@@ -458,7 +464,7 @@ int dm_mgr_init(void)
...
@@ -458,7 +464,7 @@ int dm_mgr_init(void)
char
productCode
[
PRODUCT_CODE_MAXLEN
]
=
{
0
};
char
productCode
[
PRODUCT_CODE_MAXLEN
]
=
{
0
};
char
deviceCode
[
DEVICE_CODE_MAXLEN
]
=
{
0
};
char
deviceCode
[
DEVICE_CODE_MAXLEN
]
=
{
0
};
char
mac
[
DEVICE_MAC_MAXLEN
]
=
{
0
};
char
mac
[
DEVICE_MAC_MAXLEN
]
=
{
0
};
int
devId
=
0
;
int
devId
=
0
,
heartbeat
=
0
;
memset
(
ctx
,
0
,
sizeof
(
dm_mgr_ctx
));
memset
(
ctx
,
0
,
sizeof
(
dm_mgr_ctx
));
/* Create Mutex */
/* Create Mutex */
...
@@ -474,7 +480,7 @@ int dm_mgr_init(void)
...
@@ -474,7 +480,7 @@ int dm_mgr_init(void)
HAL_Get_mac
(
mac
);
HAL_Get_mac
(
mac
);
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_CCU
,
KK_DM_CCU_DEVICE_PRODUCT_CODE
,
"CCU_66666"
,
mac
,
""
,
0
,
&
devId
);
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_CCU
,
KK_DM_CCU_DEVICE_PRODUCT_CODE
,
"CCU_66666"
,
mac
,
""
,
0
,
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
goto
ERROR
;
goto
ERROR
;
}
}
...
@@ -1415,10 +1421,10 @@ int dm_mgr_ota_report_version(_IN_ int devid, char *version)
...
@@ -1415,10 +1421,10 @@ int dm_mgr_ota_report_version(_IN_ int devid, char *version)
int
dm_mgr_subdev_create
(
int
devtype
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
int
dm_mgr_subdev_create
(
int
devtype
,
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
){
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
,
_OU_
int
*
heartbeat
){
int
res
=
0
;
int
res
=
0
;
res
=
dm_mgr_device_create
(
devtype
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
isOffline
,
devid
);
res
=
dm_mgr_device_create
(
devtype
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
isOffline
,
devid
,
heartbeat
);
if
(
TSL_ALREADY_EXIST
==
res
)
if
(
TSL_ALREADY_EXIST
==
res
)
{
{
ERROR_PRINT
(
"SUBDEV ALREADY EXIST!!!
\n
"
);
ERROR_PRINT
(
"SUBDEV ALREADY EXIST!!!
\n
"
);
...
...
midware/midware/dm/kk_linkkit.c
View file @
048c4aa3
...
@@ -2029,8 +2029,8 @@ int iot_linkkit_subdev_query_id(char product_key[IOTX_PRODUCT_KEY_LEN + 1], char
...
@@ -2029,8 +2029,8 @@ int iot_linkkit_subdev_query_id(char product_key[IOTX_PRODUCT_KEY_LEN + 1], char
int
kk_mid_subdev_add
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
kk_mid_subdev_add
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
res
=
0
;
int
res
=
0
;
int
devid
=
0
;
int
devid
=
0
;
int
heartbeat
=
0
;
res
=
dm_mgr_subdev_create
(
devType
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
);
res
=
dm_mgr_subdev_create
(
devType
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
ERROR_PRINT
(
"subdev create Failed
\n
"
);
ERROR_PRINT
(
"subdev create Failed
\n
"
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -2040,7 +2040,7 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
...
@@ -2040,7 +2040,7 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
if
(
TSL_ALREADY_EXIST
==
res
){
if
(
TSL_ALREADY_EXIST
==
res
){
//todo
//todo
}
else
{
}
else
{
res
=
kk_subDev_insert_db
(
devType
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
);
res
=
kk_subDev_insert_db
(
devType
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
,
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
...
@@ -2065,8 +2065,8 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
...
@@ -2065,8 +2065,8 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
int
kk_mid_subdev_batch_add
(
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
kk_mid_subdev_batch_add
(
char
productCode
[
PRODUCT_CODE_MAXLEN
],
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
]){
int
res
=
0
;
int
res
=
0
;
int
devid
=
0
;
int
devid
=
0
;
int
heartbeat
=
0
;
res
=
dm_mgr_subdev_create
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
);
res
=
dm_mgr_subdev_create
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
if
(
res
!=
SUCCESS_RETURN
&&
TSL_ALREADY_EXIST
!=
res
)
{
ERROR_PRINT
(
"subdev create Failed
\n
"
);
ERROR_PRINT
(
"subdev create Failed
\n
"
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -2076,7 +2076,7 @@ int kk_mid_subdev_batch_add( char productCode[PRODUCT_CODE_MAXLEN], char deviceC
...
@@ -2076,7 +2076,7 @@ int kk_mid_subdev_batch_add( char productCode[PRODUCT_CODE_MAXLEN], char deviceC
if
(
TSL_ALREADY_EXIST
==
res
){
if
(
TSL_ALREADY_EXIST
==
res
){
//todo
//todo
}
else
{
}
else
{
res
=
kk_subDev_insert_db
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
);
res
=
kk_subDev_insert_db
(
KK_DM_DEVICE_SUBDEV
,
productCode
,
deviceCode
,
fatherDeviceCode
,
mac
,
"1.1.0"
,
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
...
...
midware/midware/dm/kk_sub_db.c
View file @
048c4aa3
...
@@ -72,7 +72,8 @@ static int kk_subDev_db_Init(void)
...
@@ -72,7 +72,8 @@ static int kk_subDev_db_Init(void)
fatherDeviceCode varchar(33), \
fatherDeviceCode varchar(33), \
version varchar(33), \
version varchar(33), \
isAuth INTEGER, \
isAuth INTEGER, \
devType INTEGER)"
;
devType INTEGER, \
heartbeat INTEGER)"
;
char
*
pcErr
;
char
*
pcErr
;
...
@@ -98,7 +99,7 @@ static int _kk_load_subDevice(void)
...
@@ -98,7 +99,7 @@ static int _kk_load_subDevice(void)
const
char
*
searchCmd
=
"select * from SubDeviceInfo;"
;
const
char
*
searchCmd
=
"select * from SubDeviceInfo;"
;
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
int
devId
=
0
;
int
devId
=
0
,
heartbeat
=
0
;
int
res
=
0
;
int
res
=
0
;
_kk_subDb_lock
();
_kk_subDb_lock
();
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
...
@@ -108,7 +109,7 @@ static int _kk_load_subDevice(void)
...
@@ -108,7 +109,7 @@ static int _kk_load_subDevice(void)
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_MAC
),
sqlite3_column_text
(
stmt
,
DB_MAC
),
sqlite3_column_text
(
stmt
,
DB_FATHERDEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_FATHERDEVICECODE
),
sqlite3_column_int
(
stmt
,
DB_ONLINE
),
&
devId
);
sqlite3_column_int
(
stmt
,
DB_ONLINE
),
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
){
if
(
res
!=
SUCCESS_RETURN
){
ERROR_PRINT
(
"[%s][%d]dm_mgr_subdev_create FAIL!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
ERROR_PRINT
(
"[%s][%d]dm_mgr_subdev_create FAIL!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
...
@@ -181,10 +182,10 @@ static int _kk_check_subDev_exist(const char* deviceCode)
...
@@ -181,10 +182,10 @@ static int _kk_check_subDev_exist(const char* deviceCode)
}
}
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
])
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
]
,
int
heartbeat
)
{
{
const
char
*
insertCmd
=
"insert into SubDeviceInfo (idx,isOffline,productCode,deviceCode,mac,fatherDeviceCode,version,isAuth,devType) \
const
char
*
insertCmd
=
"insert into SubDeviceInfo (idx,isOffline,productCode,deviceCode,mac,fatherDeviceCode,version,isAuth,devType
,heartbeat
) \
values ('%d','%d', '%s','%s','%s','%s','%s','%d','%d');"
;
values ('%d','%d', '%s','%s','%s','%s','%s','%d','%d'
,'%d'
);"
;
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
int
rc
=
0
;
int
rc
=
0
;
char
*
zErrMsg
=
0
;
char
*
zErrMsg
=
0
;
...
@@ -197,7 +198,7 @@ int kk_subDev_insert_db(int devType,char productCode[PRODUCT_CODE_MAXLEN], \
...
@@ -197,7 +198,7 @@ int kk_subDev_insert_db(int devType,char productCode[PRODUCT_CODE_MAXLEN], \
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
_kk_subDb_lock
();
_kk_subDb_lock
();
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
ctx
->
subDevNum
,
0
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
version
,
0
,
devType
);
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
ctx
->
subDevNum
,
0
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
version
,
0
,
devType
,
heartbeat
);
rc
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
rc
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
if
(
rc
!=
SQLITE_OK
){
if
(
rc
!=
SQLITE_OK
){
...
...
midware/midware/dm/kk_sub_db.h
View file @
048c4aa3
#ifndef _KK_SUBDEV_DB_H_
#ifndef _KK_SUBDEV_DB_H_
#define _KK_SUBDEV_DB_H_
#define _KK_SUBDEV_DB_H_
#include "kk_tsl_common.h"
#include "kk_tsl_common.h"
int
kk_subDb_init
(
void
);
int
kk_subDb_init
(
void
);
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
int
kk_subDev_insert_db
(
int
devType
,
char
productCode
[
PRODUCT_CODE_MAXLEN
],
\
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherMac
[
DEVICE_MAC_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
]
);
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
char
fatherMac
[
DEVICE_MAC_MAXLEN
],
char
mac
[
DEVICE_MAC_MAXLEN
],
char
version
[
DEVICE_VERSION_MAXLEN
]
,
int
heartbeat
);
int
kk_subDev_delete_byMac
(
char
device_mac
[
DEVICE_MAC_MAXLEN
]);
int
kk_subDev_delete_byMac
(
char
device_mac
[
DEVICE_MAC_MAXLEN
]);
int
kk_subDev_update_offline
(
int
isOnline
,
const
char
*
device_mac
);
int
kk_subDev_update_offline
(
int
isOnline
,
const
char
*
device_mac
);
int
kk_subDev_update_auth
(
int
isAuth
,
const
char
*
deviceCode
);
int
kk_subDev_update_auth
(
int
isAuth
,
const
char
*
deviceCode
);
#endif
#endif
midware/midware/midware.c
View file @
048c4aa3
...
@@ -374,7 +374,10 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -374,7 +374,10 @@ void kk_platMsg_handle(void* data, char* chalMark){
int
idx
=
0
;
int
idx
=
0
;
kk_tsl_event_t
*
eventItem
=
NULL
;
kk_tsl_event_t
*
eventItem
=
NULL
;
char
tmpStr
[
128
]
=
{
0
};
char
tmpStr
[
128
]
=
{
0
};
dm_mgr_get_device_shadow_by_devicecode
(
info_dcode
->
valuestring
,
&
dev_shadow
);
res
=
dm_mgr_get_device_shadow_by_devicecode
(
info_dcode
->
valuestring
,
&
dev_shadow
);
if
(
res
<
SUCCESS_RETURN
)
{
goto
error
;
}
for
(
idx
=
0
;
idx
<
dev_shadow
->
event_number
;
idx
++
){
for
(
idx
=
0
;
idx
<
dev_shadow
->
event_number
;
idx
++
){
eventItem
=
dev_shadow
->
events
+
idx
;
eventItem
=
dev_shadow
->
events
+
idx
;
if
(
eventItem
!=
NULL
){
if
(
eventItem
!=
NULL
){
...
...
midware/tsl/tsl_handle/kk_tsl_api.c
View file @
048c4aa3
...
@@ -233,6 +233,9 @@ static int _kk_msg_set_numberOrStr(kk_msg_set_type_t type, kk_tsl_t *dev_shadow,
...
@@ -233,6 +233,9 @@ static int _kk_msg_set_numberOrStr(kk_msg_set_type_t type, kk_tsl_t *dev_shadow,
}
}
break
;
break
;
case
KK_TSL_DATA_TYPE_DOUBLE
:
{
case
KK_TSL_DATA_TYPE_DOUBLE
:
{
if
(
root
->
type
==
cJSON_String
&&
root
->
value_length
>
0
){
root
->
value_double
=
atof
(
root
->
value
);
}
res
=
set_shadow_data_func
(
dev_shadow
,
key
,
strlen
(
key
),
&
root
->
value_double
,
0
);
res
=
set_shadow_data_func
(
dev_shadow
,
key
,
strlen
(
key
),
&
root
->
value_double
,
0
);
}
}
break
;
break
;
...
...
midware/tsl/tsl_handle/kk_tsl_common.h
View file @
048c4aa3
...
@@ -53,6 +53,8 @@
...
@@ -53,6 +53,8 @@
#define KK_TSL_KEY_LENGTH "length"
#define KK_TSL_KEY_LENGTH "length"
#define KK_TSL_KEY_SIZE "size"
#define KK_TSL_KEY_SIZE "size"
#define KK_TSL_KEY_ITEM "item"
#define KK_TSL_KEY_ITEM "item"
#define KK_TSL_KEY_HEARTBEAT "heartbeat"
#define KK_MSG_KEY_DELIMITER '.'
#define KK_MSG_KEY_DELIMITER '.'
#define KK_URI_SERVICE_DELIMITER '/'
#define KK_URI_SERVICE_DELIMITER '/'
#define KK_URI_OFFSET 0
#define KK_URI_OFFSET 0
...
...
midware/tsl/tsl_handle/kk_tsl_parse.c
View file @
048c4aa3
...
@@ -1580,7 +1580,28 @@ int kk_tsl_assemble_service_output(_IN_ kk_tsl_t *shadow, _IN_ char *identifier,
...
@@ -1580,7 +1580,28 @@ int kk_tsl_assemble_service_output(_IN_ kk_tsl_t *shadow, _IN_ char *identifier,
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_tsl_create
(
_IN_
const
char
*
tsl
,
_IN_
int
tsl_len
,
_OU_
kk_tsl_t
**
shadow
)
static
int
_kk_tsl_heartbeat_parse
(
_OU_
int
*
heartbeat
,
_IN_
lite_cjson_t
*
root
)
{
int
res
=
0
;
lite_cjson_t
lite_item
;
lite_cjson_t
lite_item_heartbeat
;
//Parse Identifier (Mandatory)
memset
(
&
lite_item
,
0
,
sizeof
(
lite_cjson_t
));
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_PROFILE
,
strlen
(
KK_TSL_KEY_PROFILE
),
&
lite_item
);
if
(
res
!=
SUCCESS_RETURN
||
!
lite_cjson_is_object
(
&
lite_item
))
{
return
JSON_PARSE_FAILED
;
}
res
=
lite_cjson_object_item
(
&
lite_item
,
KK_TSL_KEY_HEARTBEAT
,
strlen
(
KK_TSL_KEY_HEARTBEAT
),
&
lite_item_heartbeat
);
if
(
res
!=
SUCCESS_RETURN
||
!
lite_cjson_is_string
(
&
lite_item_heartbeat
))
{
return
JSON_PARSE_FAILED
;
}
*
heartbeat
=
atoi
(
lite_item_heartbeat
.
value
)
*
1000
;
return
SUCCESS_RETURN
;
}
int
kk_tsl_create
(
_IN_
const
char
*
tsl
,
_IN_
int
tsl_len
,
_OU_
kk_tsl_t
**
shadow
,
_OU_
int
*
heartbeat
)
{
{
int
res
=
0
;
int
res
=
0
;
lite_cjson_t
lite_root
;
lite_cjson_t
lite_root
;
...
@@ -1603,6 +1624,9 @@ int kk_tsl_create(_IN_ const char *tsl, _IN_ int tsl_len, _OU_ kk_tsl_t **shadow
...
@@ -1603,6 +1624,9 @@ int kk_tsl_create(_IN_ const char *tsl, _IN_ int tsl_len, _OU_ kk_tsl_t **shadow
return
JSON_PARSE_FAILED
;
return
JSON_PARSE_FAILED
;
}
}
// Parse heartbeat time
_kk_tsl_heartbeat_parse
(
heartbeat
,
&
lite_root
);
//Parse Properties (Mandatory)
//Parse Properties (Mandatory)
res
=
_kk_tsl_properties_parse
(
*
shadow
,
&
lite_root
);
res
=
_kk_tsl_properties_parse
(
*
shadow
,
&
lite_root
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
...
...
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