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
c54ae908
Commit
c54ae908
authored
Mar 25, 2021
by
陈伟灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'cwc' into 'master'
Cwc See merge request chenweican/k-sdk!82
parents
c27371dc
38361eed
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
606 additions
and
87 deletions
+606
-87
application/kcloud/kcloud_config.h
application/kcloud/kcloud_config.h
+1
-1
application/kcloud/kcloud_data_handle.c
application/kcloud/kcloud_data_handle.c
+2
-2
application/kcloud/kk_info_report.c
application/kcloud/kk_info_report.c
+3
-3
application/kcloud/kk_register.c
application/kcloud/kk_register.c
+8
-7
application/kcloud/kk_topic_mng.c
application/kcloud/kk_topic_mng.c
+3
-3
application/kcloud/mqtt_api.c
application/kcloud/mqtt_api.c
+1
-1
midware/midware/area/kk_area_handle.c
midware/midware/area/kk_area_handle.c
+15
-26
midware/midware/area/kk_area_handle.h
midware/midware/area/kk_area_handle.h
+12
-0
midware/midware/dm/dm_ota.c
midware/midware/dm/dm_ota.c
+0
-1
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+5
-4
midware/midware/dm/kk_property_db.c
midware/midware/dm/kk_property_db.c
+2
-9
midware/midware/dm/kk_property_db.h
midware/midware/dm/kk_property_db.h
+8
-0
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+17
-29
midware/midware/dm/kk_sub_db.h
midware/midware/dm/kk_sub_db.h
+14
-1
midware/midware/dm/kk_sync_data.c
midware/midware/dm/kk_sync_data.c
+478
-0
midware/midware/dm/kk_sync_data.h
midware/midware/dm/kk_sync_data.h
+37
-0
No files found.
application/kcloud/kcloud_config.h
View file @
c54ae908
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
#ifndef MQTT_CONF_H_
#ifndef MQTT_CONF_H_
#define MQTT_CONF_H_
#define MQTT_CONF_H_
#define ADDRESS "tcp://172.25.240.
199:1883"//"tcp://172.25.240.31:1983"//
//
#define ADDRESS "tcp://172.25.240.
31:1983"//"tcp://172.25.240.199:1883"
//
#define CLIENTID "CCU.%s.%s"
#define CLIENTID "CCU.%s.%s"
#define PAYLOAD "Hello World!"
#define PAYLOAD "Hello World!"
...
...
application/kcloud/kcloud_data_handle.c
View file @
c54ae908
...
@@ -431,12 +431,12 @@ static char * _kk_data_create(const char *topic,const char *data)
...
@@ -431,12 +431,12 @@ static char * _kk_data_create(const char *topic,const char *data)
char
deviceCode
[
DEVICE_CODE_LEN
]
=
{
0
};
char
deviceCode
[
DEVICE_CODE_LEN
]
=
{
0
};
char
*
msgStr
=
NULL
;
char
*
msgStr
=
NULL
;
res
=
_kk_topic_parse_pkdn
((
char
*
)
topic
,
3
,
productCode
,
deviceCode
);
res
=
_kk_topic_parse_pkdn
((
char
*
)
topic
,
2
,
productCode
,
deviceCode
);
//if(!strcmp("gateway_2",productCode)){
//if(!strcmp("gateway_2",productCode)){
//memset(productCode,0x0,sizeof(productCode));
//memset(productCode,0x0,sizeof(productCode));
//memcpy(productCode,"2",strlen("2"));
//memcpy(productCode,"2",strlen("2"));
//}
//}
res
|=
_kk_topic_parse_msgType
((
char
*
)
topic
,
5
,
&
msgStr
);
res
|=
_kk_topic_parse_msgType
((
char
*
)
topic
,
4
,
&
msgStr
);
infoStr_len
=
strlen
(
DM_MSG_TO_MIDDWARE
)
+
strlen
(
productCode
)
+
strlen
(
deviceCode
)
+
strlen
(
msgStr
)
+
10
;
infoStr_len
=
strlen
(
DM_MSG_TO_MIDDWARE
)
+
strlen
(
productCode
)
+
strlen
(
deviceCode
)
+
strlen
(
msgStr
)
+
10
;
infoStr
=
malloc
(
infoStr_len
);
infoStr
=
malloc
(
infoStr_len
);
if
(
infoStr
==
NULL
){
if
(
infoStr
==
NULL
){
...
...
application/kcloud/kk_info_report.c
View file @
c54ae908
...
@@ -99,7 +99,7 @@ static int kk_info_get(char *str)
...
@@ -99,7 +99,7 @@ static int kk_info_get(char *str)
}
}
}
}
str_tmp
=
cJSON_PrintUnformatted
(
root
);
str_tmp
=
cJSON_PrintUnformatted
(
root
);
INFO_PRINT
(
"JSON %s
\r\n
"
,
str_tmp
);
//
INFO_PRINT("JSON %s\r\n", str_tmp);
strcpy
(
str
,
str_tmp
);
strcpy
(
str
,
str_tmp
);
free
(
str_tmp
);
free
(
str_tmp
);
cJSON_Delete
(
root
);
cJSON_Delete
(
root
);
...
@@ -124,10 +124,10 @@ void *kk_info_nanomsg_send(void *data)
...
@@ -124,10 +124,10 @@ void *kk_info_nanomsg_send(void *data)
memset
(
str
,
0x0
,
sizeof
(
str
));
memset
(
str
,
0x0
,
sizeof
(
str
));
ret
=
kk_info_get
(
str
);
ret
=
kk_info_get
(
str
);
if
(
ret
==
0
){
if
(
ret
==
0
){
printf
(
"*********nn_send***********
\n
"
);
//
printf("*********nn_send***********\n");
ret
=
nn_send
(
socketfd
,
str
,
strlen
(
str
),
1
);
ret
=
nn_send
(
socketfd
,
str
,
strlen
(
str
),
1
);
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
WARNING_PRINT
(
"[%s][%d]nn_send fail!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
//
WARNING_PRINT("[%s][%d]nn_send fail!!!\n",__FUNCTION__,__LINE__);
}
}
}
}
sleep
(
10
);
sleep
(
10
);
...
...
application/kcloud/kk_register.c
View file @
c54ae908
...
@@ -352,8 +352,7 @@ int kk_start_ccu_register(void)
...
@@ -352,8 +352,7 @@ int kk_start_ccu_register(void)
close
(
sockfd
);
close
(
sockfd
);
return
-
1
;
return
-
1
;
}
}
printf
(
"
\n
get %s
\n
"
,
buf
);
printf
(
"
\n
get %s
\n
"
,
buf
);
char
*
json
=
strstr
(
buf
,
"
\r\n\r\n
"
);
if
(
registerType
==
1
){
//get deviceSecret
if
(
registerType
==
1
){
//get deviceSecret
char
*
deviceSecret
=
strstr
(
buf
,
"deviceSecret"
);
char
*
deviceSecret
=
strstr
(
buf
,
"deviceSecret"
);
if
(
deviceSecret
!=
NULL
){
if
(
deviceSecret
!=
NULL
){
...
@@ -379,11 +378,13 @@ int kk_start_ccu_register(void)
...
@@ -379,11 +378,13 @@ int kk_start_ccu_register(void)
if
(
jwt
!=
NULL
){
if
(
jwt
!=
NULL
){
char
*
start
=
strchr
(
buf
,
'{'
);
char
*
start
=
strchr
(
buf
,
'{'
);
char
*
end
=
strrchr
(
buf
,
'}'
);
char
*
end
=
strrchr
(
buf
,
'}'
);
strncpy
(
buf2
,
start
,
end
-
start
+
1
);
if
(
start
!=
NULL
&&
end
!=
NULL
){
ret
=
kk_parse_token
(
buf2
);
strncpy
(
buf2
,
start
,
end
-
start
+
1
);
if
(
ret
==
0
){
ret
=
kk_parse_token
(
buf2
);
close
(
sockfd
);
if
(
ret
==
0
){
return
0
;
close
(
sockfd
);
return
0
;
}
}
}
}
}
}
}
...
...
application/kcloud/kk_topic_mng.c
View file @
c54ae908
...
@@ -12,7 +12,7 @@ const char KK_URI_SYS_PREFIX[] = "biz/kk/%s/%s/thing/service/property/set";
...
@@ -12,7 +12,7 @@ const char KK_URI_SYS_PREFIX[] = "biz/kk/%s/%s/thing/service/property/set";
const
char
KK_URI_SYS_PREFIX_SERVICE
[]
=
"biz/kk/%s/%s/thing/service/+"
;
const
char
KK_URI_SYS_PREFIX_SERVICE
[]
=
"biz/kk/%s/%s/thing/service/+"
;
const
char
KK_URI_SYS_PREFIX_TOPO_CHANGE
[]
=
"biz/kk/%s/%s/thing/topo/change"
;
const
char
KK_URI_SYS_PREFIX_TOPO_CHANGE
[]
=
"biz/kk/%s/%s/thing/topo/change"
;
const
char
KK_URI_SYS_PREFIX_EX
[]
=
"biz/kk/%s/%s"
;
const
char
KK_URI_SYS_PREFIX_EX
[]
=
"biz/kk/%s/%s"
;
const
char
KK_URI_OTA_PREFIX
[]
=
"
/ota/device/upgrade/kk/%s/%s/#
"
;
const
char
KK_URI_OTA_PREFIX
[]
=
"
ota/device/%s/%s/upgrade
"
;
const
char
KK_URI_OTA_PROCESS
[]
=
"/ota/device/progress/%s/%s"
;
const
char
KK_URI_OTA_PROCESS
[]
=
"/ota/device/progress/%s/%s"
;
const
char
KK_URI_OTA_INFORM
[]
=
"/ota/device/inform/%s/%s"
;
const
char
KK_URI_OTA_INFORM
[]
=
"/ota/device/inform/%s/%s"
;
...
@@ -54,8 +54,8 @@ int KK_Subdev_Subscribe(const cJSON *root)
...
@@ -54,8 +54,8 @@ int KK_Subdev_Subscribe(const cJSON *root)
memset
(
url
,
0
,
url_len
);
memset
(
url
,
0
,
url_len
);
snprintf
(
url
,
url_len
,
KK_URI_OTA_PREFIX
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
snprintf
(
url
,
url_len
,
KK_URI_OTA_PREFIX
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
//
INFO_PRINT("ota [%s][%d] URL:%s\n",__FUNCTION__,__LINE__,url);
INFO_PRINT
(
"ota [%s][%d] URL:%s
\n
"
,
__FUNCTION__
,
__LINE__
,
url
);
//
res = KK_MQTT_SubTopic(url);
res
=
KK_MQTT_SubTopic
(
url
);
memset
(
url
,
0
,
url_len
);
memset
(
url
,
0
,
url_len
);
snprintf
(
url
,
url_len
,
KK_URI_SYS_PREFIX
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
snprintf
(
url
,
url_len
,
KK_URI_SYS_PREFIX
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
...
...
application/kcloud/mqtt_api.c
View file @
c54ae908
...
@@ -208,7 +208,7 @@ MQTTAsync KK_MQTT_Connect(void)
...
@@ -208,7 +208,7 @@ MQTTAsync KK_MQTT_Connect(void)
fclose
(
fp
);
fclose
(
fp
);
}
}
HAL_Get_mac
(
mac
);
HAL_Get_mac
(
mac
);
sprintf
(
usrname
,
"%s
&
%s"
,
KK_CCU_ID
,
KK_CCU_PRODUCTID
);
sprintf
(
usrname
,
"%s
.
%s"
,
KK_CCU_ID
,
KK_CCU_PRODUCTID
);
printf
(
"cliendid:%s,usrname:%s
\n
"
,
g_clientId
,
usrname
);
printf
(
"cliendid:%s,usrname:%s
\n
"
,
g_clientId
,
usrname
);
printf
(
"------------>token:%s
\n
"
,
token
);
printf
(
"------------>token:%s
\n
"
,
token
);
if
((
rc
=
MQTTAsync_createWithOptions
(
&
s_Client
,
ADDRESS
,
g_clientId
,
MQTTCLIENT_PERSISTENCE_NONE
,
NULL
,
&
opts
))
!=
MQTTASYNC_SUCCESS
)
if
((
rc
=
MQTTAsync_createWithOptions
(
&
s_Client
,
ADDRESS
,
g_clientId
,
MQTTCLIENT_PERSISTENCE_NONE
,
NULL
,
&
opts
))
!=
MQTTASYNC_SUCCESS
)
...
...
midware/midware/area/kk_area_handle.c
View file @
c54ae908
...
@@ -15,19 +15,7 @@ typedef struct {
...
@@ -15,19 +15,7 @@ typedef struct {
sqlite3
*
pDb
;
sqlite3
*
pDb
;
}
kk_area_ctx_t
;
}
kk_area_ctx_t
;
typedef
enum
{
DB_IDX
=
0
,
DB_ROOM_NAME
,
DB_ROOM_ID
,
};
typedef
enum
{
DB_DEV_IDX
=
0
,
DB_DEV_ROOM_ID
,
DB_DEV_DEVICECODE
,
DB_DEV_EPNUM
,
};
static
kk_area_ctx_t
s_kk_area_ctx
=
{
NULL
,
0
,
NULL
};
static
kk_area_ctx_t
s_kk_area_ctx
=
{
NULL
,
0
,
NULL
};
...
@@ -185,7 +173,8 @@ static int _kk_check_dev_exist(const char* deviceCode)
...
@@ -185,7 +173,8 @@ static int _kk_check_dev_exist(const char* deviceCode)
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
))
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
))
{
{
isExist
=
1
;
isExist
=
1
;
break
;
break
;
}
}
...
@@ -259,32 +248,32 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
...
@@ -259,32 +248,32 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
int
kk_room_device_list_add
(
const
char
*
deviceCode
)
int
kk_room_device_list_add
(
const
char
*
deviceCode
)
{
{
int
len
;
int
len
;
kk_dev_list_t
*
ptr
,
*
pre
;
kk_dev_list_t
*
ptr
,
*
pre
;
ptr
=
pre
=
s_device_list
;
ptr
=
pre
=
s_device_list
;
if
(
deviceCode
==
NULL
){
if
(
deviceCode
==
NULL
){
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
while
(
ptr
!=
NULL
){
while
(
ptr
!=
NULL
){
pre
=
ptr
;
pre
=
ptr
;
if
(
strcmp
(
ptr
->
deviceCode
,
deviceCode
)
==
0
){
if
(
strcmp
(
ptr
->
deviceCode
,
deviceCode
)
==
0
){
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
ptr
=
ptr
->
next
;
ptr
=
ptr
->
next
;
}
}
ptr
=
(
kk_dev_list_t
*
)
malloc
(
sizeof
(
kk_dev_list_t
));
ptr
=
(
kk_dev_list_t
*
)
malloc
(
sizeof
(
kk_dev_list_t
));
memset
(
ptr
,
0
,
sizeof
(
kk_dev_list_t
));
memset
(
ptr
,
0
,
sizeof
(
kk_dev_list_t
));
memcpy
(
ptr
->
deviceCode
,
deviceCode
,
strlen
(
deviceCode
));
memcpy
(
ptr
->
deviceCode
,
deviceCode
,
strlen
(
deviceCode
));
if
(
s_device_list
==
NULL
){
if
(
s_device_list
==
NULL
){
s_device_list
=
ptr
;
s_device_list
=
ptr
;
}
else
{
}
else
{
pre
->
next
=
ptr
;
pre
->
next
=
ptr
;
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
...
midware/midware/area/kk_area_handle.h
View file @
c54ae908
...
@@ -7,6 +7,18 @@ typedef struct kk_dev_list{
...
@@ -7,6 +7,18 @@ typedef struct kk_dev_list{
struct
kk_dev_list
*
next
;
struct
kk_dev_list
*
next
;
}
kk_dev_list_t
;
}
kk_dev_list_t
;
typedef
enum
{
DB_ROOM_IDX
=
0
,
DB_ROOM_NAME
,
DB_ROOM_ID
,
};
typedef
enum
{
DB_DEV_IDX
=
0
,
DB_DEV_ROOM_ID
,
DB_DEV_DEVICECODE
,
DB_DEV_EPNUM
,
};
#endif
#endif
midware/midware/dm/dm_ota.c
View file @
c54ae908
...
@@ -22,7 +22,6 @@ int dm_ota_init(void)
...
@@ -22,7 +22,6 @@ int dm_ota_init(void)
dm_ota_ctx_t
*
ctx
=
_dm_ota_get_ctx
();
dm_ota_ctx_t
*
ctx
=
_dm_ota_get_ctx
();
memset
(
ctx
,
0
,
sizeof
(
dm_ota_ctx_t
));
memset
(
ctx
,
0
,
sizeof
(
dm_ota_ctx_t
));
HAL_GetProduct_Type
(
ctx
->
productType
);
HAL_GetProduct_Code
(
ctx
->
deviceCode
);
HAL_GetProduct_Code
(
ctx
->
deviceCode
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
...
...
midware/midware/dm/kk_dm_mng.c
View file @
c54ae908
...
@@ -508,7 +508,7 @@ static void _dm_mgr_destroy_devlist(void)
...
@@ -508,7 +508,7 @@ static void _dm_mgr_destroy_devlist(void)
free
(
del_node
);
free
(
del_node
);
}
}
}
}
extern
char
*
kk_sync_get_info
();
int
dm_mgr_init
(
void
)
int
dm_mgr_init
(
void
)
{
{
int
res
=
0
;
int
res
=
0
;
...
@@ -527,11 +527,12 @@ int dm_mgr_init(void)
...
@@ -527,11 +527,12 @@ int dm_mgr_init(void)
/* Init Device Id*/
/* Init Device Id*/
ctx
->
global_devid
=
1
;
ctx
->
global_devid
=
1
;
kk_property_db_init
();
kk_property_db_init
();
/* Init Device List */
/* Init Device List */
INIT_LIST_HEAD
(
&
ctx
->
dev_list
);
INIT_LIST_HEAD
(
&
ctx
->
dev_list
);
HAL_Get_mac
(
mac
);
HAL_Get_mac
(
mac
);
kk_sync_init
();
//kk_sync_get_info();
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_CCU
,
KK_DM_CCU_DEVICE_PRODUCT_CODE
,
KK_CCU_ID
,
mac
,
""
,
KK_DEV_UNKNOW
,
&
devId
,
&
heartbeat
);
res
=
dm_mgr_device_create
(
KK_DM_DEVICE_CCU
,
KK_DM_CCU_DEVICE_PRODUCT_CODE
,
KK_CCU_ID
,
mac
,
""
,
KK_DEV_UNKNOW
,
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
goto
ERROR
;
goto
ERROR
;
...
@@ -1086,7 +1087,7 @@ int dm_mgr_upstream_thing_topo_get(void)
...
@@ -1086,7 +1087,7 @@ int dm_mgr_upstream_thing_topo_get(void)
memset
(
&
request
,
0
,
sizeof
(
dm_msg_request_t
));
memset
(
&
request
,
0
,
sizeof
(
dm_msg_request_t
));
request
.
msgTypeStr
=
DM_URI_THING_TOPO_GET
;
request
.
msgTypeStr
=
DM_URI_THING_TOPO_GET
;
HAL_Get
Product
_Code
(
request
.
deviceCode
);
HAL_Get
Device
_Code
(
request
.
deviceCode
);
res
=
_dm_mgr_search_dev_by_pkdn
(
request
.
deviceCode
,
&
node
);
res
=
_dm_mgr_search_dev_by_pkdn
(
request
.
deviceCode
,
&
node
);
...
...
midware/midware/dm/kk_property_db.c
View file @
c54ae908
...
@@ -29,14 +29,7 @@ typedef struct {
...
@@ -29,14 +29,7 @@ typedef struct {
sqlite3
*
pDb
;
sqlite3
*
pDb
;
}
kk_property_db_ctx_t
;
}
kk_property_db_ctx_t
;
typedef
enum
{
DB_IDX
=
0
,
DB_DEVICECODE
,
DB_IDENTIFITER
,
DB_VALUE
,
DB_VALUETYPE
,
DB_DEVTYPE
};
typedef
enum
{
typedef
enum
{
DB_LOCKKEY_IDX
=
0
,
DB_LOCKKEY_IDX
=
0
,
...
@@ -184,7 +177,7 @@ static int _kk_check_property_exist(const char* deviceCode,const char* identifie
...
@@ -184,7 +177,7 @@ static int _kk_check_property_exist(const char* deviceCode,const char* identifie
pIdentifier
=
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
pIdentifier
=
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
)
&&!
strcmp
(
identifier
,
pIdentifier
))
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
)
&&!
strcmp
(
identifier
,
pIdentifier
))
{
{
isExist
=
1
;
isExist
=
1
;
break
;
break
;
}
}
...
...
midware/midware/dm/kk_property_db.h
View file @
c54ae908
...
@@ -8,6 +8,14 @@ typedef struct{
...
@@ -8,6 +8,14 @@ typedef struct{
char
raw
[
60
];
char
raw
[
60
];
}
kk_prop_raw_struct_t
;
}
kk_prop_raw_struct_t
;
typedef
enum
{
DB_IDX
=
0
,
DB_DEVICECODE
,
DB_IDENTIFITER
,
DB_VALUE
,
DB_VALUETYPE
,
DB_DEVTYPE
};
int
kk_property_db_init
(
void
);
int
kk_property_db_init
(
void
);
#endif
#endif
...
...
midware/midware/dm/kk_sub_db.c
View file @
c54ae908
...
@@ -22,20 +22,7 @@ typedef struct {
...
@@ -22,20 +22,7 @@ typedef struct {
int
subDevNum
;
int
subDevNum
;
sqlite3
*
pDb
;
sqlite3
*
pDb
;
}
kk_subDb_ctx_t
;
}
kk_subDb_ctx_t
;
typedef
enum
{
DB_IDX
=
0
,
DB_ONLINE
,
DB_PRODUCTCODE
,
DB_DEVICECODE
,
DB_MAC
,
DB_FATHERDEVICECODE
,
DB_VERSION
,
DB_AUTH
,
DB_DEVTYPE
,
DB_HEARTBEAT
,
DB_PRODUCTTYPE
,
DB_SCENESUPPORT
};
static
kk_subDb_ctx_t
s_kk_subDb_ctx
=
{
NULL
,
0
,
NULL
};
static
kk_subDb_ctx_t
s_kk_subDb_ctx
=
{
NULL
,
0
,
NULL
};
static
kk_subDb_ctx_t
*
_kk_subDb_get_ctx
(
void
)
static
kk_subDb_ctx_t
*
_kk_subDb_get_ctx
(
void
)
...
@@ -128,12 +115,12 @@ static int _kk_load_subDevice(void)
...
@@ -128,12 +115,12 @@ static int _kk_load_subDevice(void)
_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
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
deviceType
=
sqlite3_column_int
(
stmt
,
DB_DEVTYPE
);
deviceType
=
sqlite3_column_int
(
stmt
,
DB_
SUB_
DEVTYPE
);
res
=
dm_mgr_subdev_create
(
deviceType
,
res
=
dm_mgr_subdev_create
(
deviceType
,
sqlite3_column_text
(
stmt
,
DB_PRODUCTCODE
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
PRODUCTCODE
),
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_MAC
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
MAC
),
sqlite3_column_text
(
stmt
,
DB_FATHERDEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
FATHERDEVICECODE
),
KK_DEV_UNKNOW
,
&
devId
,
&
heartbeat
);
KK_DEV_UNKNOW
,
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
){
if
(
res
!=
SUCCESS_RETURN
){
...
@@ -147,11 +134,11 @@ static int _kk_load_subDevice(void)
...
@@ -147,11 +134,11 @@ static int _kk_load_subDevice(void)
iotx_dm_subscribe
(
devId
);
iotx_dm_subscribe
(
devId
);
//sync the data from property db
//sync the data from property db
kk_property_sync_values
(
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
));
kk_property_sync_values
(
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
));
usleep
(
100000
);
usleep
(
100000
);
if
(
deviceType
==
KK_DM_DEVICE_GATEWAY
){
if
(
deviceType
==
KK_DM_DEVICE_GATEWAY
){
kk_dm_gw_status_check_push
(
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
));
kk_dm_gw_status_check_push
(
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
));
}
}
//post the property to cloud
//post the property to cloud
//dm_msg_thing_property_post_all(sqlite3_column_text(stmt, DB_DEVICECODE));
//dm_msg_thing_property_post_all(sqlite3_column_text(stmt, DB_DEVICECODE));
...
@@ -209,9 +196,10 @@ static int _kk_check_subDev_exist(const char* deviceCode)
...
@@ -209,9 +196,10 @@ static int _kk_check_subDev_exist(const char* deviceCode)
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
pmac
=
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
);
pmac
=
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
);
if
(
!
strcmp
(
deviceCode
,
pmac
))
if
(
!
strcmp
(
deviceCode
,
pmac
))
{
{
isExist
=
1
;
isExist
=
1
;
break
;
break
;
}
}
...
@@ -447,15 +435,15 @@ int kk_subDev_send_property_get_from_db(void)
...
@@ -447,15 +435,15 @@ int kk_subDev_send_property_get_from_db(void)
_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
);
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
isOffline
=
sqlite3_column_int
(
stmt
,
DB_DEVTYPE
);
isOffline
=
sqlite3_column_int
(
stmt
,
DB_
SUB_
DEVTYPE
);
if
(
isOffline
==
KK_DEV_ONLINE
){
if
(
isOffline
==
KK_DEV_ONLINE
){
res
=
dm_mgr_get_device_by_devicecode
(
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
&
node
);
res
=
dm_mgr_get_device_by_devicecode
(
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
),
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
continue
;
continue
;
}
}
iotx_dm_dev_online
(
node
->
devid
);
iotx_dm_dev_online
(
node
->
devid
);
dm_msg_thing_property_post_all
(
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
));
dm_msg_thing_property_post_all
(
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
));
}
}
}
}
sqlite3_finalize
(
stmt
);
sqlite3_finalize
(
stmt
);
...
@@ -490,7 +478,7 @@ int kk_subDev_send_property_get(const char *fatherDeviceCode)
...
@@ -490,7 +478,7 @@ int kk_subDev_send_property_get(const char *fatherDeviceCode)
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
);
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
);
res
=
dm_mgr_get_device_by_devicecode
(
pDeviceCode
,
&
node
);
res
=
dm_mgr_get_device_by_devicecode
(
pDeviceCode
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
ERROR_PRINT
(
"ERROR [%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
ERROR_PRINT
(
"ERROR [%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
...
@@ -540,7 +528,7 @@ int kk_subDev_check_scene_support(const char *deviceCode)
...
@@ -540,7 +528,7 @@ int kk_subDev_check_scene_support(const char *deviceCode)
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
);
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
))
{
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
))
{
res
=
1
;
res
=
1
;
}
}
...
@@ -598,7 +586,7 @@ int kk_subDev_set_action_by_productType(const char *productType,const char *scen
...
@@ -598,7 +586,7 @@ int kk_subDev_set_action_by_productType(const char *productType,const char *scen
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
);
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
);
res
=
dm_mgr_get_device_by_devicecode
(
pDeviceCode
,
&
node
);
res
=
dm_mgr_get_device_by_devicecode
(
pDeviceCode
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
continue
;
continue
;
...
...
midware/midware/dm/kk_sub_db.h
View file @
c54ae908
...
@@ -10,6 +10,19 @@ int kk_subDev_delete_byMac(char device_mac[DEVICE_MAC_MAXLEN]);
...
@@ -10,6 +10,19 @@ 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
);
typedef
enum
{
DB_SUB_IDX
=
0
,
DB_SUB_ONLINE
,
DB_SUB_PRODUCTCODE
,
DB_SUB_DEVICECODE
,
DB_SUB_MAC
,
DB_SUB_FATHERDEVICECODE
,
DB_SUB_VERSION
,
DB_SUB_AUTH
,
DB_SUB_DEVTYPE
,
DB_SUB_HEARTBEAT
,
DB_SUB_PRODUCTTYPE
,
DB_SUB_SCENESUPPORT
};
#endif
#endif
midware/midware/dm/kk_sync_data.c
0 → 100644
View file @
c54ae908
This diff is collapsed.
Click to expand it.
midware/midware/dm/kk_sync_data.h
0 → 100644
View file @
c54ae908
#ifndef _KK_SYNC_DATA_H_
#define _KK_SYNC_DATA_H_
#include "kk_tsl_common.h"
#define KK_SYNC_CODE_STR "code"
#define KK_SYNC_DATA_STR "data"
#define KK_SYNC_ROOMS_STR "rooms"
#define KK_SYNC_ROOMID_STR "roomId"
#define KK_SYNC_DEVICES_STR "devices"
#define KK_SYNC_DEVICECODE_STR "deviceCode"
#define KK_SYNC_NANE_STR "name"
#define KK_SYNC_SCENEID_STR "sceneId"
#define KK_SYNC_SCENE_STR "scenes"
#define KK_SYNC_VERSION_STR "firmwareVersion"
#define KK_SYNC_MAC_STR "mac"
#define KK_SYNC_ONLINE_STR "onlineStatus"
#define KK_SYNC_PRODUCTCODE_STR "productCode"
#define KK_SYNC_PROPERTY_STR "properties"
#define KK_SYNC_SN_STR "sn"
#define KK_SYNC_STATUS_STR "status"
#define KK_SYNC_SCENE_DELAY_STR "delay"
#define KK_SYNC_SCENE_EPNUM_STR "epNum"
#define KK_SYNC_SCENE_PROPERTYNAME_STR "propertyName"
#define KK_SYNC_SCENE_PROPERTYVALUE_STR "propertyValue"
#define KK_SYNC_SCENE_TYPE_STR "type"
#define KK_SYNC_SCENE_ACTIONS_STR "actions"
#define KK_SYNC_SCENE_ENABLE_STR "enable"
#define KK_SYNC_SCENE_SCENETYPE_STR "sceneType"
#define KK_SYNC_SCENE_TRIGGER_STR "trigger"
#define KK_SYNC_SCENE_ITEMS_STR "items"
#define KK_SYNC_SCENE_CONDITION_STR "condition"
#define KK_SYNC_SCENE_COMPARETYPE_STR "compareType"
#define KK_SYNC_SCENE_COMPAREValue_STR "compareValue"
#define KK_SYNC_SCENE_STARTTIME_STR "startTime"
#define KK_SYNC_SCENE_ENDTIME_STR "endTime"
#define KK_SYNC_SCENE_CROSSDAY_STR "crossDay"
#define KK_SYNC_SCENE_REPEATDAY_STR "repeat_days"
#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