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
845cdbd6
Commit
845cdbd6
authored
Oct 15, 2020
by
陈伟灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'cwc' into 'master'
【修改内容】增加productType的解析和数据库保存 See merge request chenweican/k-sdk!44
parents
8b94e9dc
9d33ff08
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
71 additions
and
5 deletions
+71
-5
application/kcloud/kcloud_data_handle.c
application/kcloud/kcloud_data_handle.c
+6
-0
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+12
-2
midware/midware/dm/kk_dm_mng.h
midware/midware/dm/kk_dm_mng.h
+1
-0
midware/midware/dm/kk_dm_msg.c
midware/midware/dm/kk_dm_msg.c
+18
-0
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+6
-0
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+27
-3
midware/tsl/tsl_handle/kk_tsl_common.h
midware/tsl/tsl_handle/kk_tsl_common.h
+1
-0
No files found.
application/kcloud/kcloud_data_handle.c
View file @
845cdbd6
...
@@ -147,6 +147,9 @@ int _kk_sendto_cloud(cJSON *root)
...
@@ -147,6 +147,9 @@ int _kk_sendto_cloud(cJSON *root)
//If topo delete,need UnSubscribe the topic
//If topo delete,need UnSubscribe the topic
if
(
strstr
(
msgTypeStr
->
valuestring
,
KK_FILTER_DELETE_TOPIC
)
!=
NULL
){
if
(
strstr
(
msgTypeStr
->
valuestring
,
KK_FILTER_DELETE_TOPIC
)
!=
NULL
){
KK_Subdev_UnSubscribe
(
pData
);
KK_Subdev_UnSubscribe
(
pData
);
char
*
out
=
cJSON_Print
(
pData
);
KK_MQTT_SendMsg
(
topic
,(
const
char
*
)
out
);
free
(
out
);
free
(
topic
);
free
(
topic
);
return
RETURN_SUCCESS
;
return
RETURN_SUCCESS
;
...
@@ -166,6 +169,9 @@ int _kk_sendto_cloud(cJSON *root)
...
@@ -166,6 +169,9 @@ int _kk_sendto_cloud(cJSON *root)
}
}
}
}
}
}
char
*
out
=
cJSON_Print
(
pData
);
KK_MQTT_SendMsg
(
topic
,(
const
char
*
)
out
);
free
(
out
);
free
(
topic
);
free
(
topic
);
return
RETURN_SUCCESS
;
return
RETURN_SUCCESS
;
}
}
...
...
midware/midware/dm/kk_dm_mng.c
View file @
845cdbd6
...
@@ -148,6 +148,7 @@ static int _dm_init_tsl_params(kk_tsl_t * dev_shadow)
...
@@ -148,6 +148,7 @@ static int _dm_init_tsl_params(kk_tsl_t * dev_shadow)
}
}
return
res
;
return
res
;
}
}
/*目前支持到三级结构体的属性解析保存到数据库*/
/*目前支持到三级结构体的属性解析保存到数据库*/
int
dm_mgr_properities_db_create
(
kk_tsl_t
*
dev_shadow
,
char
*
deviceCode
,
int
devType
)
int
dm_mgr_properities_db_create
(
kk_tsl_t
*
dev_shadow
,
char
*
deviceCode
,
int
devType
)
{
{
...
@@ -160,7 +161,6 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
...
@@ -160,7 +161,6 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
num
=
dev_shadow
->
property_number
;
num
=
dev_shadow
->
property_number
;
INFO_PRINT
(
"dm_mgr_properities_db_create num:%d!!
\n
"
,
num
);
for
(
idx
=
0
;
idx
<
num
;
idx
++
){
for
(
idx
=
0
;
idx
<
num
;
idx
++
){
pProperty
=
dev_shadow
->
properties
+
idx
;
pProperty
=
dev_shadow
->
properties
+
idx
;
...
@@ -194,13 +194,15 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
...
@@ -194,13 +194,15 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
}
}
}
}
}
else
}
else
{
{
kk_property_db_insert
(
deviceCode
,
pProperty
->
identifier
,
pProperty
->
data_value
.
type
,
devType
);
kk_property_db_insert
(
deviceCode
,
pProperty
->
identifier
,
pProperty
->
data_value
.
type
,
devType
);
}
}
}
}
}
}
}
}
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
,
_OU_
int
*
heartbeat
)
_IN_
char
mac
[
DEVICE_MAC_MAXLEN
],
_IN_
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
],
_IN_
int
isOffline
,
_OU_
int
*
devid
,
_OU_
int
*
heartbeat
)
{
{
...
@@ -250,10 +252,18 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
...
@@ -250,10 +252,18 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
}
}
node
->
timestamp
=
0
;
node
->
timestamp
=
0
;
//node->dev_status = IOTX_DM_DEV_STATUS_AUTHORIZED;
//node->dev_status = IOTX_DM_DEV_STATUS_AUTHORIZED;
//if(strcmp(productCode,"1035") == 0){
//tsl_str = kk_load_json("130", dev_type);
//}else{
//tsl_str = kk_load_json(productCode, dev_type);
//}
tsl_str
=
kk_load_json
(
productCode
,
dev_type
);
tsl_str
=
kk_load_json
(
productCode
,
dev_type
);
if
(
tsl_str
!=
NULL
)
if
(
tsl_str
!=
NULL
)
{
{
int
heartbeat
=
0
;
int
heartbeat
=
0
;
kk_msg_parse_productType
(
tsl_str
,
node
->
productType
);
res
=
kk_tsl_create
(
tsl_str
,
strlen
(
tsl_str
),
&
node
->
dev_shadow
,
&
heartbeat
);
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
){
...
...
midware/midware/dm/kk_dm_mng.h
View file @
845cdbd6
...
@@ -26,6 +26,7 @@ typedef struct {
...
@@ -26,6 +26,7 @@ typedef struct {
char
productCode
[
PRODUCT_CODE_MAXLEN
];
char
productCode
[
PRODUCT_CODE_MAXLEN
];
char
deviceCode
[
DEVICE_CODE_MAXLEN
];
char
deviceCode
[
DEVICE_CODE_MAXLEN
];
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
];
char
fatherDeviceCode
[
DEVICE_CODE_MAXLEN
];
char
productType
[
PRODUCT_TYPE_MAXLEN
];
char
isOffline
;
char
isOffline
;
int
hb_timeout
;
//heartbeat time
int
hb_timeout
;
//heartbeat time
uint64_t
timestamp
;
uint64_t
timestamp
;
...
...
midware/midware/dm/kk_dm_msg.c
View file @
845cdbd6
...
@@ -1016,6 +1016,24 @@ int kk_msg_execute_property_set(const char *productCode,const char *deviceCode,c
...
@@ -1016,6 +1016,24 @@ int kk_msg_execute_property_set(const char *productCode,const char *deviceCode,c
free
(
req_info
);
free
(
req_info
);
free
(
payload
);
free
(
payload
);
cJSON_Delete
(
root
);
cJSON_Delete
(
root
);
return
SUCCESS_RETURN
;
}
int
kk_msg_parse_productType
(
char
*
str
,
char
*
productType
)
{
cJSON
*
item
=
NULL
;
cJSON
*
json
=
cJSON_Parse
(
str
);
if
(
json
==
NULL
){
return
FAIL_RETURN
;
}
item
=
cJSON_GetObjectItem
(
json
,
KK_TSL_KEY_PRODUCTTYPE
);
if
(
item
!=
NULL
&&
strlen
(
item
->
valuestring
)
<
PRODUCT_TYPE_MAXLEN
){
memcpy
(
productType
,
item
->
valuestring
,
strlen
(
item
->
valuestring
));
}
cJSON_Delete
(
json
);
return
SUCCESS_RETURN
;
}
}
midware/midware/dm/kk_linkkit.c
View file @
845cdbd6
...
@@ -2171,6 +2171,7 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
...
@@ -2171,6 +2171,7 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
int
res
=
0
;
int
res
=
0
;
int
devid
=
0
;
int
devid
=
0
;
int
heartbeat
=
0
;
int
heartbeat
=
0
;
dm_mgr_dev_node_t
*
node
=
NULL
;
res
=
dm_mgr_subdev_create
(
devType
,
productCode
,
deviceCode
,
mac
,
fatherDeviceCode
,
0
,
&
devid
,
&
heartbeat
);
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
"
);
...
@@ -2185,6 +2186,11 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
...
@@ -2185,6 +2186,11 @@ int kk_mid_subdev_add(int devType, char productCode[PRODUCT_CODE_MAXLEN], char d
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
res
=
dm_mgr_get_device_by_devicecode
(
deviceCode
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
}
kk_subDev_update_productType
(
node
->
productType
,
deviceCode
);
}
}
_iotx_linkkit_mutex_lock
();
_iotx_linkkit_mutex_lock
();
...
...
midware/midware/dm/kk_sub_db.c
View file @
845cdbd6
...
@@ -23,8 +23,8 @@ typedef enum{
...
@@ -23,8 +23,8 @@ typedef enum{
DB_FATHERDEVICECODE
,
DB_FATHERDEVICECODE
,
DB_VERSION
,
DB_VERSION
,
DB_AUTH
,
DB_AUTH
,
DB_DEVTYPE
,
DB_DEVTYPE
,
DB_PRODUCTTYPE
};
};
static
kk_subDb_ctx_t
s_kk_subDb_ctx
=
{
NULL
,
0
,
NULL
};
static
kk_subDb_ctx_t
s_kk_subDb_ctx
=
{
NULL
,
0
,
NULL
};
...
@@ -69,7 +69,8 @@ static int kk_subDev_db_Init(void)
...
@@ -69,7 +69,8 @@ static int kk_subDev_db_Init(void)
version varchar(33), \
version varchar(33), \
isAuth INTEGER, \
isAuth INTEGER, \
devType INTEGER, \
devType INTEGER, \
heartbeat INTEGER)"
;
heartbeat INTEGER,\
productType varchar(33))"
;
char
*
pcErr
;
char
*
pcErr
;
...
@@ -254,6 +255,29 @@ int kk_subDev_update_offline(int isOffline,const char *deviceCode)
...
@@ -254,6 +255,29 @@ int kk_subDev_update_offline(int isOffline,const char *deviceCode)
//_kk_subDb_unlock();
//_kk_subDb_unlock();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_subDev_update_productType
(
char
*
productType
,
const
char
*
deviceCode
)
{
char
*
sqlCmd
=
NULL
;
int
len
=
0
;
int
rc
=
0
;
char
*
zErrMsg
=
0
;
kk_subDb_ctx_t
*
ctx
=
_kk_subDb_get_ctx
();
//_kk_subDb_lock();
sqlCmd
=
sqlite3_mprintf
(
"UPDATE SubDeviceInfo SET productType='%s' WHERE deviceCode= '%s'"
,
productType
,
deviceCode
);
INFO_PRINT
(
"kk_subDev_update_offline sqlCmd:%s
\n
"
,
sqlCmd
);
rc
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
if
(
rc
!=
SQLITE_OK
){
ERROR_PRINT
(
"SQL error: %s
\n
"
,
zErrMsg
);
sqlite3_free
(
zErrMsg
);
}
else
{
//INFO_PRINT("Table updata data successfully\n");
}
sqlite3_free
(
sqlCmd
);
//_kk_subDb_unlock();
return
SUCCESS_RETURN
;
}
int
kk_subDev_update_auth
(
int
isAuth
,
const
char
*
deviceCode
)
int
kk_subDev_update_auth
(
int
isAuth
,
const
char
*
deviceCode
)
{
{
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
...
...
midware/tsl/tsl_handle/kk_tsl_common.h
View file @
845cdbd6
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
#define KK_TSL_KEY_SCHEMA "schema"
#define KK_TSL_KEY_SCHEMA "schema"
#define KK_TSL_KEY_LINK "link"
#define KK_TSL_KEY_LINK "link"
#define KK_TSL_KEY_PRODUCTTYPE "productType"
#define KK_TSL_KEY_PROFILE "profile"
#define KK_TSL_KEY_PROFILE "profile"
#define KK_TSL_KEY_PROPERTIES "properties"
#define KK_TSL_KEY_PROPERTIES "properties"
#define KK_TSL_KEY_EVENTS "events"
#define KK_TSL_KEY_EVENTS "events"
...
...
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