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
f8e966d5
Commit
f8e966d5
authored
Mar 25, 2021
by
chen.weican
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修改内容】增加同步接口,待调试
parent
c27371dc
Changes
10
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
588 additions
and
70 deletions
+588
-70
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.
midware/midware/area/kk_area_handle.c
View file @
f8e966d5
...
...
@@ -15,19 +15,7 @@ typedef struct {
sqlite3
*
pDb
;
}
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
};
...
...
@@ -185,7 +173,8 @@ static int _kk_check_dev_exist(const char* deviceCode)
while
(
sqlite3_step
(
stmt
)
==
SQLITE_ROW
){
pDeviceCode
=
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
))
{
{
isExist
=
1
;
break
;
}
...
...
midware/midware/area/kk_area_handle.h
View file @
f8e966d5
...
...
@@ -7,6 +7,18 @@ typedef struct kk_dev_list{
struct
kk_dev_list
*
next
;
}
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
midware/midware/dm/dm_ota.c
View file @
f8e966d5
...
...
@@ -22,7 +22,6 @@ int dm_ota_init(void)
dm_ota_ctx_t
*
ctx
=
_dm_ota_get_ctx
();
memset
(
ctx
,
0
,
sizeof
(
dm_ota_ctx_t
));
HAL_GetProduct_Type
(
ctx
->
productType
);
HAL_GetProduct_Code
(
ctx
->
deviceCode
);
return
SUCCESS_RETURN
;
...
...
midware/midware/dm/kk_dm_mng.c
View file @
f8e966d5
...
...
@@ -508,7 +508,7 @@ static void _dm_mgr_destroy_devlist(void)
free
(
del_node
);
}
}
extern
char
*
kk_sync_get_info
();
int
dm_mgr_init
(
void
)
{
int
res
=
0
;
...
...
@@ -527,11 +527,12 @@ int dm_mgr_init(void)
/* Init Device Id*/
ctx
->
global_devid
=
1
;
kk_property_db_init
();
/* Init Device List */
INIT_LIST_HEAD
(
&
ctx
->
dev_list
);
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
);
if
(
res
!=
SUCCESS_RETURN
)
{
goto
ERROR
;
...
...
@@ -1086,7 +1087,7 @@ int dm_mgr_upstream_thing_topo_get(void)
memset
(
&
request
,
0
,
sizeof
(
dm_msg_request_t
));
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
);
...
...
midware/midware/dm/kk_property_db.c
View file @
f8e966d5
...
...
@@ -29,14 +29,7 @@ typedef struct {
sqlite3
*
pDb
;
}
kk_property_db_ctx_t
;
typedef
enum
{
DB_IDX
=
0
,
DB_DEVICECODE
,
DB_IDENTIFITER
,
DB_VALUE
,
DB_VALUETYPE
,
DB_DEVTYPE
};
typedef
enum
{
DB_LOCKKEY_IDX
=
0
,
...
...
@@ -184,7 +177,7 @@ static int _kk_check_property_exist(const char* deviceCode,const char* identifie
pIdentifier
=
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
)
&&!
strcmp
(
identifier
,
pIdentifier
))
{
{
isExist
=
1
;
break
;
}
...
...
midware/midware/dm/kk_property_db.h
View file @
f8e966d5
...
...
@@ -8,6 +8,14 @@ typedef struct{
char
raw
[
60
];
}
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
);
#endif
...
...
midware/midware/dm/kk_sub_db.c
View file @
f8e966d5
...
...
@@ -22,20 +22,7 @@ typedef struct {
int
subDevNum
;
sqlite3
*
pDb
;
}
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
*
_kk_subDb_get_ctx
(
void
)
...
...
@@ -128,12 +115,12 @@ static int _kk_load_subDevice(void)
_kk_subDb_lock
();
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
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
,
sqlite3_column_text
(
stmt
,
DB_PRODUCTCODE
),
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_MAC
),
sqlite3_column_text
(
stmt
,
DB_FATHERDEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
PRODUCTCODE
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
DEVICECODE
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
MAC
),
sqlite3_column_text
(
stmt
,
DB_
SUB_
FATHERDEVICECODE
),
KK_DEV_UNKNOW
,
&
devId
,
&
heartbeat
);
if
(
res
!=
SUCCESS_RETURN
){
...
...
@@ -147,11 +134,11 @@ static int _kk_load_subDevice(void)
iotx_dm_subscribe
(
devId
);
//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
);
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
//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)
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
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
))
{
{
isExist
=
1
;
break
;
}
...
...
@@ -447,15 +435,15 @@ int kk_subDev_send_property_get_from_db(void)
_kk_subDb_lock
();
sqlite3_prepare_v2
(
ctx
->
pDb
,
searchCmd
,
strlen
(
searchCmd
),
&
stmt
,
NULL
);
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
){
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
)
{
continue
;
}
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
);
...
...
@@ -490,7 +478,7 @@ int kk_subDev_send_property_get(const char *fatherDeviceCode)
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
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
);
if
(
res
!=
SUCCESS_RETURN
)
{
ERROR_PRINT
(
"ERROR [%s][%d] res:%d
\n
"
,
__FUNCTION__
,
__LINE__
,
res
);
...
...
@@ -540,7 +528,7 @@ int kk_subDev_check_scene_support(const char *deviceCode)
sqlite3_prepare_v2
(
ctx
->
pDb
,
sqlCmd
,
strlen
(
sqlCmd
),
&
stmt
,
NULL
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
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
))
{
res
=
1
;
}
...
...
@@ -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
);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
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
);
if
(
res
!=
SUCCESS_RETURN
)
{
continue
;
...
...
midware/midware/dm/kk_sub_db.h
View file @
f8e966d5
...
...
@@ -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_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
midware/midware/dm/kk_sync_data.c
0 → 100644
View file @
f8e966d5
This diff is collapsed.
Click to expand it.
midware/midware/dm/kk_sync_data.h
0 → 100644
View file @
f8e966d5
#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