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
46f832d8
Commit
46f832d8
authored
Jul 27, 2021
by
陈伟灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'yjq' into 'master'
20210727 See merge request chenweican/k-sdk!90
parents
af5cfaad
f7abf54d
Changes
49
Show whitespace changes
Inline
Side-by-side
Showing
49 changed files
with
6315 additions
and
6341 deletions
+6315
-6341
application/kcloud/kcloud_config.h
application/kcloud/kcloud_config.h
+2
-2
application/kcloud/kcloud_data_handle.c
application/kcloud/kcloud_data_handle.c
+84
-87
application/kcloud/kcloud_main.c
application/kcloud/kcloud_main.c
+0
-1
application/kcloud/kk_register.c
application/kcloud/kk_register.c
+255
-257
application/kcloud/kk_topic_mng.c
application/kcloud/kk_topic_mng.c
+101
-99
application/kcloud/mqtt_api.c
application/kcloud/mqtt_api.c
+6
-7
application/klansdk/kk_data_handle.c
application/klansdk/kk_data_handle.c
+11
-5
application/klansdk/kk_data_mng.c
application/klansdk/kk_data_mng.c
+71
-2
application/klansdk/kk_lan_main.c
application/klansdk/kk_lan_main.c
+6
-0
common/api/com_api.c
common/api/com_api.c
+109
-113
common/api/com_api.h
common/api/com_api.h
+6
-5
common/api/tcp_channel.c
common/api/tcp_channel.c
+340
-351
common/hal/HAL_OS_linux.c
common/hal/HAL_OS_linux.c
+20
-20
doc/新中控业务层通讯协议ver1.0.1.docx
doc/新中控业务层通讯协议ver1.0.1.docx
+0
-0
midware/midware/area/kk_area_handle.c
midware/midware/area/kk_area_handle.c
+98
-101
midware/midware/area/kk_area_handle.h
midware/midware/area/kk_area_handle.h
+4
-3
midware/midware/dm/dm_fota.c
midware/midware/dm/dm_fota.c
+4
-4
midware/midware/dm/dm_fota.h
midware/midware/dm/dm_fota.h
+1
-1
midware/midware/dm/dm_ota.c
midware/midware/dm/dm_ota.c
+72
-77
midware/midware/dm/dm_ota.h
midware/midware/dm/dm_ota.h
+3
-3
midware/midware/dm/kk_dm_api.c
midware/midware/dm/kk_dm_api.c
+155
-160
midware/midware/dm/kk_dm_api.h
midware/midware/dm/kk_dm_api.h
+2
-2
midware/midware/dm/kk_dm_heartbeat.c
midware/midware/dm/kk_dm_heartbeat.c
+43
-46
midware/midware/dm/kk_dm_mng.c
midware/midware/dm/kk_dm_mng.c
+385
-384
midware/midware/dm/kk_dm_mng.h
midware/midware/dm/kk_dm_mng.h
+16
-16
midware/midware/dm/kk_dm_msg.c
midware/midware/dm/kk_dm_msg.c
+425
-430
midware/midware/dm/kk_dm_msg.h
midware/midware/dm/kk_dm_msg.h
+4
-4
midware/midware/dm/kk_dm_queue.c
midware/midware/dm/kk_dm_queue.c
+123
-126
midware/midware/dm/kk_dm_queue.h
midware/midware/dm/kk_dm_queue.h
+9
-9
midware/midware/dm/kk_linkkit.c
midware/midware/dm/kk_linkkit.c
+249
-251
midware/midware/dm/kk_property_db.c
midware/midware/dm/kk_property_db.c
+84
-93
midware/midware/dm/kk_property_db.h
midware/midware/dm/kk_property_db.h
+3
-3
midware/midware/dm/kk_sub_db.c
midware/midware/dm/kk_sub_db.c
+88
-89
midware/midware/dm/kk_sync_data.c
midware/midware/dm/kk_sync_data.c
+44
-42
midware/midware/history/kk_history_db.c
midware/midware/history/kk_history_db.c
+64
-64
midware/midware/midware.c
midware/midware/midware.c
+359
-421
midware/midware/ota/iotx_ota.c
midware/midware/ota/iotx_ota.c
+49
-49
midware/midware/ota/ota_lib.c
midware/midware/ota/ota_lib.c
+10
-10
midware/midware/scene/kk_scene_db.c
midware/midware/scene/kk_scene_db.c
+152
-159
midware/midware/scene/kk_scene_handle.c
midware/midware/scene/kk_scene_handle.c
+107
-92
midware/midware/scene/kk_scene_handle.h
midware/midware/scene/kk_scene_handle.h
+2
-2
midware/midware/utils/infra_md5.c
midware/midware/utils/infra_md5.c
+1
-1
midware/tsl/tsl_handle/kk_tsl_api.c
midware/tsl/tsl_handle/kk_tsl_api.c
+578
-579
midware/tsl/tsl_handle/kk_tsl_api.h
midware/tsl/tsl_handle/kk_tsl_api.h
+6
-6
midware/tsl/tsl_handle/kk_tsl_common.h
midware/tsl/tsl_handle/kk_tsl_common.h
+26
-26
midware/tsl/tsl_handle/kk_tsl_func.c
midware/tsl/tsl_handle/kk_tsl_func.c
+573
-573
midware/tsl/tsl_handle/kk_tsl_load.c
midware/tsl/tsl_handle/kk_tsl_load.c
+3
-4
midware/tsl/tsl_handle/kk_tsl_parse.c
midware/tsl/tsl_handle/kk_tsl_parse.c
+1315
-1315
midware/tsl/tsl_handle/kk_utils.c
midware/tsl/tsl_handle/kk_utils.c
+247
-247
No files found.
application/kcloud/kcloud_config.h
View file @
46f832d8
application/kcloud/kcloud_data_handle.c
View file @
46f832d8
...
@@ -67,7 +67,6 @@ static char *s_split_product[] = {
...
@@ -67,7 +67,6 @@ static char *s_split_product[] = {
"3024"
//肖邦系列三路面板
"3024"
//肖邦系列三路面板
};
};
static
int
kk_utils_memtok
(
_IN_
char
*
input
,
_IN_
int
input_len
,
_IN_
char
delimiter
,
_IN_
int
index
,
_OU_
int
*
offset
)
static
int
kk_utils_memtok
(
_IN_
char
*
input
,
_IN_
int
input_len
,
_IN_
char
delimiter
,
_IN_
int
index
,
_OU_
int
*
offset
)
{
{
int
item_index
=
0
;
int
item_index
=
0
;
...
@@ -232,7 +231,6 @@ int _kk_sendto_cloud(cJSON *root)
...
@@ -232,7 +231,6 @@ int _kk_sendto_cloud(cJSON *root)
free
(
out
);
free
(
out
);
free
(
topic
);
free
(
topic
);
return
RETURN_SUCCESS
;
return
RETURN_SUCCESS
;
}
}
else
if
(
strstr
(
msgTypeStr
->
valuestring
,
KK_FILTER_TOPO_BATCH_DELETE
)
!=
NULL
){
else
if
(
strstr
(
msgTypeStr
->
valuestring
,
KK_FILTER_TOPO_BATCH_DELETE
)
!=
NULL
){
cJSON
*
params
=
NULL
;
cJSON
*
params
=
NULL
;
...
@@ -507,7 +505,6 @@ static char * _kk_data_create(const char *topic,const char *data)
...
@@ -507,7 +505,6 @@ static char * _kk_data_create(const char *topic,const char *data)
free
(
msgStr
);
free
(
msgStr
);
return
NULL
;
return
NULL
;
}
}
memset
(
infoStr
,
0x0
,
infoStr_len
);
memset
(
infoStr
,
0x0
,
infoStr_len
);
snprintf
(
infoStr
,
infoStr_len
,
DM_MSG_TO_MIDDWARE
,
msgStr
,
productCode
,
deviceCode
);
snprintf
(
infoStr
,
infoStr_len
,
DM_MSG_TO_MIDDWARE
,
msgStr
,
productCode
,
deviceCode
);
...
...
application/kcloud/kcloud_main.c
View file @
46f832d8
...
@@ -61,7 +61,6 @@ extern int kk_info_report_start(void);
...
@@ -61,7 +61,6 @@ extern int kk_info_report_start(void);
int
main
(
int
argc
,
char
*
argv
[])
int
main
(
int
argc
,
char
*
argv
[])
{
{
int
rc
=
0
;
int
rc
=
0
;
open
(
"kcloud"
,
LOG_PID
,
LOG_USER
);
open
(
"kcloud"
,
LOG_PID
,
LOG_USER
);
/*set the callback to get the device date to cloud*/
/*set the callback to get the device date to cloud*/
kk_ipc_init
(
IPC_APP2MID
,(
ipc_cb
*
)
KK_Data_FromDev
,
NULL
,
NULL
);
kk_ipc_init
(
IPC_APP2MID
,(
ipc_cb
*
)
KK_Data_FromDev
,
NULL
,
NULL
);
...
...
application/kcloud/kk_register.c
View file @
46f832d8
...
@@ -315,13 +315,11 @@ int kk_start_ccu_register(void)
...
@@ -315,13 +315,11 @@ int kk_start_ccu_register(void)
if
(
inet_pton
(
AF_INET
,
IPSTR
,
&
servaddr
.
sin_addr
)
<=
0
){
if
(
inet_pton
(
AF_INET
,
IPSTR
,
&
servaddr
.
sin_addr
)
<=
0
){
printf
(
"--inet_pton error!
\n
"
);
printf
(
"--inet_pton error!
\n
"
);
close
(
sockfd
);
return
-
1
;
return
-
1
;
};
};
if
(
connect
(
sockfd
,
(
struct
sockaddr
*
)
&
servaddr
,
sizeof
(
servaddr
))
<
0
){
if
(
connect
(
sockfd
,
(
struct
sockaddr
*
)
&
servaddr
,
sizeof
(
servaddr
))
<
0
){
printf
(
"connect error!
\n
"
);
printf
(
"connect error!
\n
"
);
close
(
sockfd
);
return
-
1
;
return
-
1
;
}
}
printf
(
"connect successful
\n
"
);
printf
(
"connect successful
\n
"
);
...
...
application/kcloud/kk_topic_mng.c
View file @
46f832d8
...
@@ -63,10 +63,12 @@ int KK_Subdev_Subscribe(const cJSON *root)
...
@@ -63,10 +63,12 @@ int KK_Subdev_Subscribe(const cJSON *root)
snprintf
(
url
,
url_len
,
KK_URI_SYS_PREFIX
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
snprintf
(
url
,
url_len
,
KK_URI_SYS_PREFIX
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
INFO_PRINT
(
"sys [%s][%d] URL:%s
\n
"
,
__FUNCTION__
,
__LINE__
,
url
);
INFO_PRINT
(
"sys [%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_SERVICE
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
snprintf
(
url
,
url_len
,
KK_URI_SYS_PREFIX_SERVICE
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
INFO_PRINT
(
"sys [%s][%d] URL:%s
\n
"
,
__FUNCTION__
,
__LINE__
,
url
);
INFO_PRINT
(
"sys [%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_TOPO_CHANGE
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
snprintf
(
url
,
url_len
,
KK_URI_SYS_PREFIX_TOPO_CHANGE
,
productCode
->
valuestring
,
deviceCode
->
valuestring
);
INFO_PRINT
(
"sys [%s][%d] URL:%s
\n
"
,
__FUNCTION__
,
__LINE__
,
url
);
INFO_PRINT
(
"sys [%s][%d] URL:%s
\n
"
,
__FUNCTION__
,
__LINE__
,
url
);
...
...
application/kcloud/mqtt_api.c
View file @
46f832d8
...
@@ -180,7 +180,6 @@ static void mqtt_set_callbacks(void)
...
@@ -180,7 +180,6 @@ static void mqtt_set_callbacks(void)
MQTTAsync_setDeliveryCompleteCallback
(
s_Client
,
NULL
,
onDeliveryComplete
);
MQTTAsync_setDeliveryCompleteCallback
(
s_Client
,
NULL
,
onDeliveryComplete
);
MQTTAsync_setConnected
(
s_Client
,
NULL
,
onConnectBuild
);
MQTTAsync_setConnected
(
s_Client
,
NULL
,
onConnectBuild
);
MQTTAsync_setDisconnected
(
s_Client
,
NULL
,
onDisConnected
);
MQTTAsync_setDisconnected
(
s_Client
,
NULL
,
onDisConnected
);
}
}
void
KK_Get_MqttClient
(
MQTTAsync
*
pClient
)
void
KK_Get_MqttClient
(
MQTTAsync
*
pClient
)
{
{
...
...
application/klansdk/kk_data_handle.c
View file @
46f832d8
...
@@ -478,7 +478,7 @@ static int kk_create_scene_to_sdk(cJSON *root)
...
@@ -478,7 +478,7 @@ static int kk_create_scene_to_sdk(cJSON *root)
cJSON_AddItemToObject
(
root
,
"scenes"
,
scenes
);
cJSON_AddItemToObject
(
root
,
"scenes"
,
scenes
);
return
0
;
return
0
;
}
}
int
kk_create_syncinfo_to_sdk
(
voi
d
)
int
kk_create_syncinfo_to_sdk
(
cJSON
*
payloa
d
)
{
{
cJSON
*
air_box_devices
;
cJSON
*
air_box_devices
;
cJSON
*
alarms
;
cJSON
*
alarms
;
...
@@ -529,6 +529,9 @@ int kk_create_syncinfo_to_sdk(void)
...
@@ -529,6 +529,9 @@ int kk_create_syncinfo_to_sdk(void)
kk_create_devices_to_sdk
(
root
);
kk_create_devices_to_sdk
(
root
);
kk_create_rooms_to_sdk
(
root
);
#if 1
#if 1
...
@@ -593,14 +596,17 @@ void KK_Data_FromMid(void* str,int len)
...
@@ -593,14 +596,17 @@ void KK_Data_FromMid(void* str,int len)
if
(
typeJson
==
NULL
)
return
;
if
(
typeJson
==
NULL
)
return
;
if
(
strstr
(
typeJson
->
valuestring
,
SYNC_MSG_TYPE_REPLY
)
!=
NULL
){
if
(
strstr
(
typeJson
->
valuestring
,
SYNC_MSG_TYPE_REPLY
)
!=
NULL
){
kk_parse_syncinfo
(
payload
);
kk_parse_syncinfo
(
payload
);
kk_create_syncinfo_to_sdk
();
kk_create_syncinfo_to_sdk
(
payload
);
printf
(
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
\n
"
);
printf
(
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
\n
"
);
}
else
if
((
typeJson
->
valuestring
,
"/thing/event/property/post"
)
!=
NULL
){
}
else
if
(
strstr
(
typeJson
->
valuestring
,
"/thing/event/property/post"
)
!=
NULL
){
property_post_deal
(
deviceCode
->
valuestring
,
payload
);
property_post_deal
(
deviceCode
->
valuestring
,
payload
);
}
else
if
(
strstr
(
typeJson
->
valuestring
,
"/thing/topo/delete"
)
!=
NULL
){
device_delete_sync
(
payload
);
}
else
if
(
strstr
(
typeJson
->
valuestring
,
"/thing/status/online"
)
!=
NULL
){
device_add_sync
(
payload
);
}
}
}
}
application/klansdk/kk_data_mng.c
View file @
46f832d8
...
@@ -162,7 +162,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId)
...
@@ -162,7 +162,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId)
printf
(
"channel=%d
\n
"
,
channel
);
printf
(
"channel=%d
\n
"
,
channel
);
printf
(
"deviceCode=%s
\n
"
,
deviceCode
);
printf
(
"deviceCode=%s
\n
"
,
deviceCode
);
printf
(
",,,,
\n
"
);
printf
(
",,,,
\n
"
);
//
INFO_PRINT("-------------->deviceCode=%s,channel=%d\n",deviceCode,channel);
INFO_PRINT
(
"-------------->deviceCode=%s,channel=%d
\n
"
,
deviceCode
,
channel
);
printf
(
"aaa-1
\n
"
);
printf
(
"aaa-1
\n
"
);
if
(
kk_check_lan_node_exist
(
deviceCode
,
channel
)){
if
(
kk_check_lan_node_exist
(
deviceCode
,
channel
)){
...
@@ -187,7 +187,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId)
...
@@ -187,7 +187,7 @@ int kk_creater_nodeid(char *deviceCode,int channel,char *nodeId)
sprintf
(
nodeId
,
"%d"
,
node
);
sprintf
(
nodeId
,
"%d"
,
node
);
printf
(
"aaa-4
\n
"
);
printf
(
"aaa-4
\n
"
);
//
INFO_PRINT("[node]deviceCode=%s,channel=%d,node=%d,nodeId=%s\n",deviceCode,channel,node,nodeId);
INFO_PRINT
(
"[node]deviceCode=%s,channel=%d,node=%d,nodeId=%s
\n
"
,
deviceCode
,
channel
,
node
,
nodeId
);
return
0
;
return
0
;
...
@@ -280,6 +280,73 @@ int _deviceCode_switchto_mac(char * deviceCode,char *mac)
...
@@ -280,6 +280,73 @@ int _deviceCode_switchto_mac(char * deviceCode,char *mac)
}
}
typedef
struct
{
char
*
floor_id
;
char
*
room_id
;
char
*
room_icon
;
char
*
room_name
;
cJSON
*
room_status
;
}
ROOM_ITEM
;
cJSON
*
_room_build
(
ROOM_ITEM
*
item
)
{
cJSON
*
room
=
cJSON_CreateObject
();
cJSON_AddStringToObject
(
room
,
"floor_id"
,
item
->
floor_id
);
cJSON_AddStringToObject
(
room
,
"id"
,
item
->
room_id
);
cJSON_AddStringToObject
(
room
,
"room_icon"
,
item
->
room_icon
);
cJSON_AddStringToObject
(
room
,
"name"
,
item
->
room_name
);
cJSON_AddItemToObject
(
room
,
"room_status"
,
item
->
room_status
);
return
room
;
}
cJSON
*
_rooms_build
(
int
num
,
ROOM_ITEM
**
items
)
{
cJSON
*
rooms
=
cJSON_CreateArray
();
cJSON
*
room
;
int
i
;
for
(
int
i
=
0
;
i
<
num
;
i
++
){
room
=
_room_build
(
items
[
i
]);
if
(
room
!=
NULL
){
cJSON_AddItemToArray
(
rooms
,
room
);
}
}
return
rooms
;
}
cJSON
*
kk_create_rooms_to_sdk
(
cJSON
*
payload
)
{
cJSON
*
data_1
=
cJSON_GetObjectItem
(
payload
,
"data"
);
cJSON
*
data_2
=
cJSON_GetObjectItem
(
data_1
,
"data"
);
cJSON
*
rooms
=
cJSON_GetObjectItem
(
data_2
,
"rooms"
);
cJSON
*
room
;
cJSON
*
roomId
,
*
name
,
*
devices
,
*
scenes
;
int
i
;
int
num
=
cJSON_GetArraySize
(
rooms
);
ROOM_ITEM
*
items
=
(
ROOM_ITEM
*
)
malloc
(
sizeof
(
ROOM_ITEM
)
*
num
);
ROOM_ITEM
*
item
=
item
;
memset
(
items
,
0
,(
sizeof
(
ROOM_ITEM
)
*
num
));
for
(
i
=
0
;
i
<
num
;
i
++
,
item
++
){
room
=
cJSON_GetArrayItem
(
rooms
,
i
);
roomId
=
cJSON_GetObjectItem
(
room
,
"roomId"
);
name
=
cJSON_GetObjectItem
(
room
,
"name"
);
devices
=
cJSON_GetObjectItem
(
room
,
"devices"
);
scenes
=
cJSON_GetObjectItem
(
room
,
"scenes"
);
memcpy
(
item
->
floor_id
,
""
,
sizeof
(
""
));
memcpy
(
item
->
room_id
,
roomId
->
valuestring
,
sizeof
(
roomId
->
valuestring
));
memcpy
(
item
->
room_icon
,
""
,
sizeof
(
""
));
memcpy
(
item
->
room_name
,
name
->
valuestring
,
sizeof
(
name
->
valuestring
));
memcpy
(
item
->
room_status
,
""
,
sizeof
(
""
));
}
_rooms_build
(
num
,
&
items
);
}
int
kk_create_devices_to_sdk
(
cJSON
*
root
)
int
kk_create_devices_to_sdk
(
cJSON
*
root
)
{
{
...
@@ -426,6 +493,8 @@ int kk_map_dev_search_by_deviceCode(char *deviceCode, kk_map_dev_node_t **node)
...
@@ -426,6 +493,8 @@ int kk_map_dev_search_by_deviceCode(char *deviceCode, kk_map_dev_node_t **node)
{
{
kk_map_dev_ctx
*
ctx
=
_kk_map_dev_ctx
();
kk_map_dev_ctx
*
ctx
=
_kk_map_dev_ctx
();
kk_map_dev_node_t
*
search_node
=
NULL
;
kk_map_dev_node_t
*
search_node
=
NULL
;
kk_map_dev_node_t
*
n
=
NULL
;
//list_for_each_entry_safe
list_for_each_entry
(
search_node
,
&
ctx
->
dev_list
,
linked_list
,
kk_map_dev_node_t
)
{
list_for_each_entry
(
search_node
,
&
ctx
->
dev_list
,
linked_list
,
kk_map_dev_node_t
)
{
if
(
(
strlen
(
search_node
->
deviceCode
)
==
strlen
(
deviceCode
))
&&
if
(
(
strlen
(
search_node
->
deviceCode
)
==
strlen
(
deviceCode
))
&&
...
...
application/klansdk/kk_lan_main.c
View file @
46f832d8
...
@@ -35,11 +35,15 @@ static void sig_handler(int sig)
...
@@ -35,11 +35,15 @@ static void sig_handler(int sig)
abort
();
abort
();
}
}
extern
void
ttttt_test
();
int
main
(
int
argc
,
char
*
argv
[])
int
main
(
int
argc
,
char
*
argv
[])
{
{
int
rc
=
0
;
int
rc
=
0
;
char
*
ppp
;
char
*
ppp
;
open
(
"kk_lan"
,
LOG_PID
,
LOG_USER
);
open
(
"kk_lan"
,
LOG_PID
,
LOG_USER
);
ttttt_test
();
/*set the callback to get the device date to cloud*/
/*set the callback to get the device date to cloud*/
kk_ipc_init
(
IPC_APP2MID
,(
ipc_cb
*
)
KK_Data_FromMid
,
NULL
,
NULL
);
kk_ipc_init
(
IPC_APP2MID
,(
ipc_cb
*
)
KK_Data_FromMid
,
NULL
,
NULL
);
kk_findccu_handle_init
();
kk_findccu_handle_init
();
...
@@ -59,6 +63,8 @@ int main(int argc, char* argv[])
...
@@ -59,6 +63,8 @@ int main(int argc, char* argv[])
while
(
1
){
while
(
1
){
extern
void
kk_scene_build_test
(
void
);
kk_scene_build_test
();
//count++;
//count++;
//if(count == 10){
//if(count == 10){
//kk_ipc_send(IPC_APP2MID, "wooooooooooooooooooooooooooooooooooollllll!", strlen("wooooooooooooooooooooooooooooooooooollllll!")+1);
//kk_ipc_send(IPC_APP2MID, "wooooooooooooooooooooooooooooooooooollllll!", strlen("wooooooooooooooooooooooooooooooooooollllll!")+1);
...
...
common/api/com_api.c
View file @
46f832d8
...
@@ -137,7 +137,6 @@ void __loop_init(Bloop_ctrl_t *loop_ctrl, struct ev_loop* loop)
...
@@ -137,7 +137,6 @@ void __loop_init(Bloop_ctrl_t *loop_ctrl, struct ev_loop* loop)
int
__nanomsg_init
(
Bloop_ctrl_t
*
loop_ctrl
,
ipc_type
type
,
char
*
chlMark
,
char
*
ip
)
int
__nanomsg_init
(
Bloop_ctrl_t
*
loop_ctrl
,
ipc_type
type
,
char
*
chlMark
,
char
*
ip
)
{
{
loop_ctrl
->
ba
.
n
=
-
1
;
loop_ctrl
->
ba
.
n
=
-
1
;
loop_ctrl
->
ba
.
s
=
-
1
;
loop_ctrl
->
ba
.
s
=
-
1
;
loop_ctrl
->
ab
.
n
=
-
1
;
loop_ctrl
->
ab
.
n
=
-
1
;
...
@@ -329,7 +328,6 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip)
...
@@ -329,7 +328,6 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip)
if
(
loop_ctrl
->
cb
!=
NULL
){
if
(
loop_ctrl
->
cb
!=
NULL
){
WARNING_PRINT
(
"middleware to platform ipc has been inited!
\r\n
"
);
WARNING_PRINT
(
"middleware to platform ipc has been inited!
\r\n
"
);
return
-
1
;
return
-
1
;
}
}
if
(
__nanomsg_init
(
loop_ctrl
,
type
,
chlMark
,
ip
)
<
0
)
{
if
(
__nanomsg_init
(
loop_ctrl
,
type
,
chlMark
,
ip
)
<
0
)
{
...
@@ -457,11 +455,9 @@ int kk_ipc_send_ex(ipc_type type, void* data, int len, char* chalMark)
...
@@ -457,11 +455,9 @@ int kk_ipc_send_ex(ipc_type type, void* data, int len, char* chalMark)
loop_ctrl
->
sendErrCnt
=
0
;
loop_ctrl
->
sendErrCnt
=
0
;
loop_ctrl
->
isconnect
=
1
;
loop_ctrl
->
isconnect
=
1
;
}
}
}
}
return
0
;
return
0
;
}
}
...
...
common/api/com_api.h
View file @
46f832d8
...
@@ -49,6 +49,7 @@ typedef enum {
...
@@ -49,6 +49,7 @@ typedef enum {
#define MSG_TOPO_CHANGE_DEVICES_STR "devices"
#define MSG_TOPO_CHANGE_DEVICES_STR "devices"
#define MSG_DEVICE_MAC "mac"
#define MSG_DEVICE_MAC "mac"
#define MSG_DEVICE_PARENTCODE "parentCode"
#define MSG_DEVICE_PARENTCODE "parentCode"
#define MSG_AREA_ADDROOM_DEVICENAME "name"
#define MSG_AREA_ADDROOM_ROOMNAME "roomName"
#define MSG_AREA_ADDROOM_ROOMNAME "roomName"
#define MSG_AREA_ROOM_ROOMID "roomId"
#define MSG_AREA_ROOM_ROOMID "roomId"
#define MSG_AREA_ROOM_EPNUM "epNum"
#define MSG_AREA_ROOM_EPNUM "epNum"
...
...
common/api/tcp_channel.c
View file @
46f832d8
...
@@ -267,7 +267,6 @@ static kk_tcp_ctrl_t* get_channel_by_deviceCode(char deviceCode[DEVICE_CODE_LEN]
...
@@ -267,7 +267,6 @@ static kk_tcp_ctrl_t* get_channel_by_deviceCode(char deviceCode[DEVICE_CODE_LEN]
}
}
}
}
return
NULL
;
return
NULL
;
}
}
static
kk_tcp_ctrl_t
*
get_channel_by_ip
(
char
ip
[
MAX_IP_LEN
]){
static
kk_tcp_ctrl_t
*
get_channel_by_ip
(
char
ip
[
MAX_IP_LEN
]){
...
@@ -285,7 +284,6 @@ static kk_tcp_ctrl_t* get_channel_by_ip(char ip[MAX_IP_LEN]){
...
@@ -285,7 +284,6 @@ static kk_tcp_ctrl_t* get_channel_by_ip(char ip[MAX_IP_LEN]){
}
}
}
}
return
NULL
;
return
NULL
;
}
}
#if 0
#if 0
...
@@ -321,7 +319,6 @@ static int reset_by_sock(int sock){
...
@@ -321,7 +319,6 @@ static int reset_by_sock(int sock){
}
}
}
}
return
-
1
;
return
-
1
;
}
}
static
int
set_sock_by_ip
(
char
ip
[
MAX_IP_LEN
],
int
sock
){
static
int
set_sock_by_ip
(
char
ip
[
MAX_IP_LEN
],
int
sock
){
int
i
=
0
;
int
i
=
0
;
...
@@ -332,7 +329,6 @@ static int set_sock_by_ip(char ip[MAX_IP_LEN], int sock){
...
@@ -332,7 +329,6 @@ static int set_sock_by_ip(char ip[MAX_IP_LEN], int sock){
INFO_PRINT
(
"[%s] ip=%s
\n
"
,
__FUNCTION__
,
ip
);
INFO_PRINT
(
"[%s] ip=%s
\n
"
,
__FUNCTION__
,
ip
);
for
(;
i
<
MAX_LISTEN_NUM
;
i
++
){
for
(;
i
<
MAX_LISTEN_NUM
;
i
++
){
if
(
strcmp
(
ip
,
g_tcp_ctrl
[
i
].
ip
)
==
0
){
if
(
strcmp
(
ip
,
g_tcp_ctrl
[
i
].
ip
)
==
0
){
g_tcp_ctrl
[
i
].
sock
=
sock
;
g_tcp_ctrl
[
i
].
sock
=
sock
;
INFO_PRINT
(
"[%s] idx=%d ip=%s sock=%d
\n
"
,
__FUNCTION__
,
i
,
ip
,
g_tcp_ctrl
[
i
].
sock
);
INFO_PRINT
(
"[%s] idx=%d ip=%s sock=%d
\n
"
,
__FUNCTION__
,
i
,
ip
,
g_tcp_ctrl
[
i
].
sock
);
//create mutex
//create mutex
...
@@ -343,12 +339,10 @@ static int set_sock_by_ip(char ip[MAX_IP_LEN], int sock){
...
@@ -343,12 +339,10 @@ static int set_sock_by_ip(char ip[MAX_IP_LEN], int sock){
return
-
1
;
return
-
1
;
}
}
}
}
return
0
;
return
0
;
}
}
}
}
return
-
1
;
return
-
1
;
}
}
int
kk_is_tcp_channel
(
char
devCode
[
DEVICE_CODE_LEN
]){
int
kk_is_tcp_channel
(
char
devCode
[
DEVICE_CODE_LEN
]){
...
@@ -361,7 +355,6 @@ int kk_is_tcp_channel(char devCode[DEVICE_CODE_LEN]){
...
@@ -361,7 +355,6 @@ int kk_is_tcp_channel(char devCode[DEVICE_CODE_LEN]){
INFO_PRINT
(
"[%s] devCode=%s
\n
"
,
__FUNCTION__
,
devCode
);
INFO_PRINT
(
"[%s] devCode=%s
\n
"
,
__FUNCTION__
,
devCode
);
for
(;
i
<
MAX_LISTEN_NUM
;
i
++
){
for
(;
i
<
MAX_LISTEN_NUM
;
i
++
){
if
(
strcmp
(
devCode
,
g_tcp_ctrl
[
i
].
deviceCode
)
==
0
){
if
(
strcmp
(
devCode
,
g_tcp_ctrl
[
i
].
deviceCode
)
==
0
){
INFO_PRINT
(
"[%s] idx=%d ip=%s sock=%d
\n
"
,
__FUNCTION__
,
i
,
g_tcp_ctrl
[
i
].
ip
,
g_tcp_ctrl
[
i
].
sock
);
INFO_PRINT
(
"[%s] idx=%d ip=%s sock=%d
\n
"
,
__FUNCTION__
,
i
,
g_tcp_ctrl
[
i
].
ip
,
g_tcp_ctrl
[
i
].
sock
);
return
g_tcp_ctrl
[
i
].
sock
;
return
g_tcp_ctrl
[
i
].
sock
;
}
}
...
@@ -396,7 +389,6 @@ int kk_set_tcp_channel(char devCode[DEVICE_CODE_LEN], char ip[MAX_IP_LEN]){
...
@@ -396,7 +389,6 @@ int kk_set_tcp_channel(char devCode[DEVICE_CODE_LEN], char ip[MAX_IP_LEN]){
}
}
for
(;
i
<
MAX_LISTEN_NUM
;
i
++
){
for
(;
i
<
MAX_LISTEN_NUM
;
i
++
){
if
(
strcmp
(
devCode
,
g_tcp_ctrl
[
i
].
deviceCode
)
==
0
){
if
(
strcmp
(
devCode
,
g_tcp_ctrl
[
i
].
deviceCode
)
==
0
){
strncpy
(
g_tcp_ctrl
[
i
].
ip
,
ip
,
strlen
(
ip
));
strncpy
(
g_tcp_ctrl
[
i
].
ip
,
ip
,
strlen
(
ip
));
INFO_PRINT
(
"find and replace it [%d][%s][%s]
\n
"
,
i
,
g_tcp_ctrl
[
i
].
ip
,
devCode
);
INFO_PRINT
(
"find and replace it [%d][%s][%s]
\n
"
,
i
,
g_tcp_ctrl
[
i
].
ip
,
devCode
);
...
@@ -414,7 +406,6 @@ int kk_set_tcp_channel(char devCode[DEVICE_CODE_LEN], char ip[MAX_IP_LEN]){
...
@@ -414,7 +406,6 @@ int kk_set_tcp_channel(char devCode[DEVICE_CODE_LEN], char ip[MAX_IP_LEN]){
}
}
if
(
isEmptyIdx
!=
-
1
){
if
(
isEmptyIdx
!=
-
1
){
strncpy
(
g_tcp_ctrl
[
isEmptyIdx
].
ip
,
ip
,
strlen
(
ip
));
strncpy
(
g_tcp_ctrl
[
isEmptyIdx
].
ip
,
ip
,
strlen
(
ip
));
strncpy
(
g_tcp_ctrl
[
isEmptyIdx
].
deviceCode
,
devCode
,
strlen
(
devCode
));
strncpy
(
g_tcp_ctrl
[
isEmptyIdx
].
deviceCode
,
devCode
,
strlen
(
devCode
));
INFO_PRINT
(
"idx deviceCode ip[%d][%s][%s]"
,
isEmptyIdx
,
g_tcp_ctrl
[
isEmptyIdx
].
deviceCode
,
g_tcp_ctrl
[
isEmptyIdx
].
ip
);
INFO_PRINT
(
"idx deviceCode ip[%d][%s][%s]"
,
isEmptyIdx
,
g_tcp_ctrl
[
isEmptyIdx
].
deviceCode
,
g_tcp_ctrl
[
isEmptyIdx
].
ip
);
...
@@ -423,7 +414,6 @@ int kk_set_tcp_channel(char devCode[DEVICE_CODE_LEN], char ip[MAX_IP_LEN]){
...
@@ -423,7 +414,6 @@ int kk_set_tcp_channel(char devCode[DEVICE_CODE_LEN], char ip[MAX_IP_LEN]){
}
}
return
-
1
;
return
-
1
;
}
}
...
@@ -698,7 +688,6 @@ int kk_tcp_channel_ser_send(char* data, int len, char chalMark[DEVICE_CODE_LEN])
...
@@ -698,7 +688,6 @@ int kk_tcp_channel_ser_send(char* data, int len, char chalMark[DEVICE_CODE_LEN])
printf("[%s] write failed!!!! \n",__FUNCTION__);
printf("[%s] write failed!!!! \n",__FUNCTION__);
}*/
}*/
}
}
}
}
return
ret
;
return
ret
;
}
}
...
...
common/hal/HAL_OS_linux.c
View file @
46f832d8
doc/新中控业务层通讯协议ver1.0.1.docx
deleted
100644 → 0
View file @
af5cfaad
File deleted
midware/midware/area/kk_area_handle.c
View file @
46f832d8
...
@@ -69,8 +69,10 @@ static int _kk_area_db_init(void)
...
@@ -69,8 +69,10 @@ static int _kk_area_db_init(void)
const
char
*
pAreaDevTable
=
"CREATE TABLE IF NOT EXISTS AreaDevInfo( \
const
char
*
pAreaDevTable
=
"CREATE TABLE IF NOT EXISTS AreaDevInfo( \
idx INTEGER PRIMARY KEY, \
idx INTEGER PRIMARY KEY, \
roomId varchar(256), \
roomId varchar(256), \
roomName varchar(256), \
deviceCode varchar(33), \
deviceCode varchar(33), \
epNum varchar(10))"
;
epNum varchar(10), \
devName varchar(256))"
;
if
(
sqlite3_exec
(
ctx
->
pDb
,
pAreaDevTable
,
NULL
,
NULL
,
&
pcErr
)
!=
SQLITE_OK
)
if
(
sqlite3_exec
(
ctx
->
pDb
,
pAreaDevTable
,
NULL
,
NULL
,
&
pcErr
)
!=
SQLITE_OK
)
{
{
...
@@ -84,8 +86,6 @@ static int _kk_area_db_init(void)
...
@@ -84,8 +86,6 @@ static int _kk_area_db_init(void)
_kk_area_unlock
();
_kk_area_unlock
();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_area_init
(
void
)
int
kk_area_init
(
void
)
{
{
int
res
=
0
;
int
res
=
0
;
...
@@ -103,20 +103,17 @@ int kk_area_init(void)
...
@@ -103,20 +103,17 @@ int kk_area_init(void)
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_room_add
(
const
char
*
name
,
const
char
*
roomId
)
int
kk_room_add
(
const
char
*
name
,
const
char
*
roomId
)
{
{
int
res
=
0
;
int
res
=
0
;
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
char
*
zErrMsg
=
0
;
char
*
zErrMsg
=
0
;
printf
(
"--->kk_room_add,name=%s,roomid=%s
\n
"
,
name
,
roomId
);
const
char
*
insertCmd
=
"insert into AreaInfo (name, roomId) \
const
char
*
insertCmd
=
"insert into AreaInfo (name, roomId) \
values ('%s','%s');"
;
values ('%s','%s');"
;
_kk_area_lock
();
_kk_area_lock
();
ctx
->
roomNum
++
;
ctx
->
roomNum
++
;
HAL_GetTime_s
((
char
*
)
roomId
);
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
name
,
roomId
);
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
name
,
roomId
);
res
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
res
=
sqlite3_exec
(
ctx
->
pDb
,
sqlCmd
,
NULL
,
NULL
,
&
zErrMsg
);
...
@@ -130,7 +127,6 @@ int kk_room_add(const char *name,const char *roomId)
...
@@ -130,7 +127,6 @@ int kk_room_add(const char *name,const char *roomId)
_kk_area_unlock
();
_kk_area_unlock
();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_room_delete
(
const
char
*
roomId
)
int
kk_room_delete
(
const
char
*
roomId
)
{
{
int
res
=
0
;
int
res
=
0
;
...
@@ -139,7 +135,6 @@ int kk_room_delete(const char *roomId)
...
@@ -139,7 +135,6 @@ int kk_room_delete(const char *roomId)
char
*
zErrMsg
=
0
;
char
*
zErrMsg
=
0
;
const
char
*
deleteCmd
=
"delete from AreaInfo where roomId = '%s';"
;
const
char
*
deleteCmd
=
"delete from AreaInfo where roomId = '%s';"
;
_kk_area_lock
();
_kk_area_lock
();
sqlCmd
=
sqlite3_mprintf
(
deleteCmd
,
roomId
);
sqlCmd
=
sqlite3_mprintf
(
deleteCmd
,
roomId
);
...
@@ -158,11 +153,12 @@ int kk_room_delete(const char *roomId)
...
@@ -158,11 +153,12 @@ int kk_room_delete(const char *roomId)
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
static
int
_kk_check_dev_exist
(
const
char
*
deviceCode
)
static
int
_kk_check_dev_exist
(
const
char
*
deviceCode
,
const
char
*
epNum
)
{
{
int
isExist
=
0
;
int
isExist
=
0
;
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
char
*
pDeviceCode
=
NULL
;
char
*
pDeviceCode
=
NULL
;
char
*
pEpNum
=
NULL
;
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
const
char
*
searchCmd
=
"select * from AreaDevInfo;"
;
const
char
*
searchCmd
=
"select * from AreaDevInfo;"
;
_kk_area_lock
();
_kk_area_lock
();
...
@@ -171,9 +167,9 @@ static int _kk_check_dev_exist(const char* deviceCode)
...
@@ -171,9 +167,9 @@ static int _kk_check_dev_exist(const char* deviceCode)
//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
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
pDeviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
))
pEpNum
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_EPNUM
);
if
(
!
strcmp
(
deviceCode
,
pDeviceCode
)
&&
!
strcmp
(
pEpNum
,
epNum
))
{
{
isExist
=
1
;
isExist
=
1
;
break
;
break
;
}
}
...
@@ -184,22 +180,22 @@ static int _kk_check_dev_exist(const char* deviceCode)
...
@@ -184,22 +180,22 @@ static int _kk_check_dev_exist(const char* deviceCode)
return
isExist
;
return
isExist
;
}
}
int
kk_room_dev_add
(
const
char
*
roomId
,
const
char
*
deviceCode
,
const
char
*
epNum
)
int
kk_room_dev_add
(
const
char
*
roomId
,
const
char
*
roomName
,
const
char
*
deviceCode
,
const
char
*
epNum
,
const
char
*
devName
)
{
{
int
res
=
0
;
int
res
=
0
;
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
kk_area_ctx_t
*
ctx
=
_kk_area_get_ctx
();
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
char
*
zErrMsg
=
0
;
char
*
zErrMsg
=
0
;
if
(
_kk_check_dev_exist
(
deviceCode
)){
sqlCmd
=
sqlite3_mprintf
(
"UPDATE AreaDevInfo SET roomId='%s', epNum='%s' \
WHERE deviceCode= '%s'"
,
roomId
,
epNum
,
deviceCode
);
if
(
_kk_check_dev_exist
(
deviceCode
,
epNum
)){
sqlCmd
=
sqlite3_mprintf
(
"UPDATE AreaDevInfo SET roomId='%s', devName='%s', devName='%s'\
WHERE deviceCode= '%s' and epNum = '%s'"
,
roomId
,
roomName
,
devName
,
deviceCode
,
epNum
);
}
}
else
{
else
{
const
char
*
insertCmd
=
"insert into AreaDevInfo (roomId,
deviceCode, epNum
) \
const
char
*
insertCmd
=
"insert into AreaDevInfo (roomId,
roomName, deviceCode, epNum, devName
) \
values ('%s','%s','%s');"
;
values ('%s','%s','%s'
,'%s','%s'
);"
;
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
roomId
,
deviceCode
,
epNum
);
sqlCmd
=
sqlite3_mprintf
(
insertCmd
,
roomId
,
roomName
,
deviceCode
,
epNum
,
devName
);
}
}
_kk_area_lock
();
_kk_area_lock
();
...
@@ -223,6 +219,9 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
...
@@ -223,6 +219,9 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
char
*
zErrMsg
=
0
;
char
*
zErrMsg
=
0
;
const
char
*
insertCmd
=
NULL
;
const
char
*
insertCmd
=
NULL
;
printf
(
"deviceCode---->%s,%s
\n
"
,
deviceCode
,
epNum
);
if
(
epNum
==
NULL
){
if
(
epNum
==
NULL
){
insertCmd
=
"delete from AreaDevInfo where deviceCode = '%s';"
;
insertCmd
=
"delete from AreaDevInfo where deviceCode = '%s';"
;
}
}
...
@@ -244,8 +243,6 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
...
@@ -244,8 +243,6 @@ int kk_room_dev_remove(const char *deviceCode,const char *epNum)
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_room_device_list_add
(
const
char
*
deviceCode
)
int
kk_room_device_list_add
(
const
char
*
deviceCode
)
{
{
//int len;
//int len;
...
...
midware/midware/area/kk_area_handle.h
View file @
46f832d8
...
@@ -16,14 +16,15 @@ enum{
...
@@ -16,14 +16,15 @@ enum{
enum
{
enum
{
DB_DEV_IDX
=
0
,
DB_DEV_IDX
=
0
,
DB_DEV_ROOM_ID
,
DB_DEV_ROOM_ID
,
DB_DEV_ROOM_NAME
,
DB_DEV_DEVICECODE
,
DB_DEV_DEVICECODE
,
DB_DEV_EPNUM
,
DB_DEV_EPNUM
,
DB_DEV_DEV_NAME
,
};
};
int
kk_room_delete
(
const
char
*
roomId
);
int
kk_room_delete
(
const
char
*
roomId
);
int
kk_room_add
(
const
char
*
name
,
const
char
*
roomId
);
int
kk_room_add
(
const
char
*
name
,
const
char
*
roomId
);
int
kk_area_init
(
void
);
int
kk_area_init
(
void
);
int
kk_room_dev_add
(
const
char
*
roomId
,
const
char
*
deviceCode
,
const
char
*
epNum
);
int
kk_room_dev_add
(
const
char
*
roomId
,
const
char
*
roomName
,
const
char
*
deviceCode
,
const
char
*
epNum
,
const
char
*
devName
);
int
kk_room_dev_remove
(
const
char
*
deviceCode
,
const
char
*
epNum
);
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
);
kk_dev_list_t
*
kk_get_room_deviceCode
(
const
char
*
roomId
);
kk_dev_list_t
*
kk_get_room_deviceCode
(
const
char
*
roomId
);
...
...
midware/midware/dm/dm_fota.c
View file @
46f832d8
midware/midware/dm/dm_fota.h
View file @
46f832d8
midware/midware/dm/dm_ota.c
View file @
46f832d8
...
@@ -199,14 +199,11 @@ void dm_ota_handle(void *data){
...
@@ -199,14 +199,11 @@ void dm_ota_handle(void *data){
}
else
{
}
else
{
printf
(
"parse params error !!
\n
"
);
printf
(
"parse params error !!
\n
"
);
}
}
}
else
{
}
else
{
printf
(
"invaild ota type: [%d]
\n
"
,
atoi
(
typeJson
->
valuestring
));
printf
(
"invaild ota type: [%d]
\n
"
,
atoi
(
typeJson
->
valuestring
));
}
}
cJSON_Delete
(
json
);
cJSON_Delete
(
json
);
cJSON_Delete
(
info
);
cJSON_Delete
(
info
);
}
}
int
dm_ota_check
(
void
*
payload
,
int
len
,
iotx_ota_topic_types_t
type
){
int
dm_ota_check
(
void
*
payload
,
int
len
,
iotx_ota_topic_types_t
type
){
...
@@ -217,7 +214,6 @@ int dm_ota_check(void* payload, int len, iotx_ota_topic_types_t type){
...
@@ -217,7 +214,6 @@ int dm_ota_check(void* payload, int len, iotx_ota_topic_types_t type){
dm_ota_get_ota_handle
(
&
otaHandle
);
dm_ota_get_ota_handle
(
&
otaHandle
);
return
ota_callback
(
otaHandle
,
payload
,
len
,
type
);
return
ota_callback
(
otaHandle
,
payload
,
len
,
type
);
}
}
int
dm_ota_yield
(
int
timeout_ms
)
int
dm_ota_yield
(
int
timeout_ms
)
...
@@ -236,7 +232,6 @@ int dm_ota_yield(int timeout_ms)
...
@@ -236,7 +232,6 @@ int dm_ota_yield(int timeout_ms)
printf
(
"dm_ota_yield call
\n
"
);
printf
(
"dm_ota_yield call
\n
"
);
dm_ota_handle
(
data
);
dm_ota_handle
(
data
);
free
(
data
);
free
(
data
);
data
=
NULL
;
data
=
NULL
;
}
else
{
}
else
{
...
...
midware/midware/dm/dm_ota.h
View file @
46f832d8
midware/midware/dm/kk_dm_api.c
View file @
46f832d8
...
@@ -342,15 +342,11 @@ int iotx_dm_subscribe(_IN_ int devid)
...
@@ -342,15 +342,11 @@ int iotx_dm_subscribe(_IN_ int devid)
dm_queue_msg_insert4
(
buf
);
dm_queue_msg_insert4
(
buf
);
#endif
#endif
}
else
{
}
else
{
ERROR_PRINT
(
"
\n
[%d][%s] malloc faild kk_ipc_send
\n
"
,
__LINE__
,
__FUNCTION__
);
ERROR_PRINT
(
"
\n
[%d][%s] malloc faild kk_ipc_send
\n
"
,
__LINE__
,
__FUNCTION__
);
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
INFO_PRINT
(
"
\n
[%d][%s] [%lu] send app to subscribe mqtt
\n
"
,
__LINE__
,
__FUNCTION__
,
HAL_UptimeMs
());
INFO_PRINT
(
"
\n
[%d][%s] [%lu] send app to subscribe mqtt
\n
"
,
__LINE__
,
__FUNCTION__
,
HAL_UptimeMs
());
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -368,7 +364,6 @@ void kk_dm_ota_send(void *data, int len){
...
@@ -368,7 +364,6 @@ void kk_dm_ota_send(void *data, int len){
free
(
buf
);
free
(
buf
);
return
;
return
;
}
}
}
}
}
}
...
...
midware/midware/dm/kk_dm_api.h
View file @
46f832d8
midware/midware/dm/kk_dm_heartbeat.c
View file @
46f832d8
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
*************************************************************/
*************************************************************/
typedef
struct
{
typedef
struct
{
void
*
mutex
;
void
*
mutex
;
void
*
hearbeat_thread
;
void
*
hearbeat_thread
;
int
hearbeat_thread_running
;
int
hearbeat_thread_running
;
...
@@ -90,7 +89,6 @@ void *kk_heartbeat_yield(void *args)
...
@@ -90,7 +89,6 @@ void *kk_heartbeat_yield(void *args)
list_for_each_entry
(
gw
,
&
ctx
->
gw_status_list
,
linked_list
,
kk_gw_status_ctx_t
){
list_for_each_entry
(
gw
,
&
ctx
->
gw_status_list
,
linked_list
,
kk_gw_status_ctx_t
){
if
(
gw
->
isOnline
==
KK_DEV_ONLINE
){
if
(
gw
->
isOnline
==
KK_DEV_ONLINE
){
list_del
(
&
gw
->
linked_list
);
list_del
(
&
gw
->
linked_list
);
//kk_subDev_send_property_get(gw->deviceCode);
//kk_subDev_send_property_get(gw->deviceCode);
free
(
gw
);
free
(
gw
);
}
}
...
@@ -155,7 +153,6 @@ int kk_heartbeat_init(void)
...
@@ -155,7 +153,6 @@ int kk_heartbeat_init(void)
/* Init Device List */
/* Init Device List */
// INIT_LIST_HEAD(&ctx->dev_list);
// INIT_LIST_HEAD(&ctx->dev_list);
}
}
/************************************************************
/************************************************************
*功能描述: 上电把需要查询状态的网关加入队列,load设备的时候调用此函数
*功能描述: 上电把需要查询状态的网关加入队列,load设备的时候调用此函数
...
...
midware/midware/dm/kk_dm_mng.c
View file @
46f832d8
...
@@ -166,7 +166,6 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
...
@@ -166,7 +166,6 @@ int dm_mgr_properities_db_create(kk_tsl_t* dev_shadow,char *deviceCode,int devTy
}
}
num
=
dev_shadow
->
property_number
;
num
=
dev_shadow
->
property_number
;
for
(
idx
=
0
;
idx
<
num
;
idx
++
){
for
(
idx
=
0
;
idx
<
num
;
idx
++
){
pProperty
=
dev_shadow
->
properties
+
idx
;
pProperty
=
dev_shadow
->
properties
+
idx
;
//INFO_PRINT("dm_mgr_properities_db_create pProperty->identifier:%s!!\n",pProperty->identifier);
//INFO_PRINT("dm_mgr_properities_db_create pProperty->identifier:%s!!\n",pProperty->identifier);
if
(
pProperty
){
if
(
pProperty
){
...
@@ -661,7 +660,6 @@ static unsigned int g_report_id = 1;
...
@@ -661,7 +660,6 @@ static unsigned int g_report_id = 1;
int
iotx_report_id
(
void
)
int
iotx_report_id
(
void
)
{
{
return
g_report_id
++
;
return
g_report_id
++
;
}
}
...
@@ -933,9 +931,13 @@ int dm_mgr_upstream_thing_sub_unregister(_IN_ int devid)
...
@@ -933,9 +931,13 @@ int dm_mgr_upstream_thing_sub_unregister(_IN_ int devid)
memset
(
&
request
,
0
,
sizeof
(
dm_msg_request_t
));
memset
(
&
request
,
0
,
sizeof
(
dm_msg_request_t
));
request
.
msgTypeStr
=
(
char
*
)
DM_URI_THING_SUB_UNREGISTER
;
request
.
msgTypeStr
=
(
char
*
)
DM_URI_THING_SUB_UNREGISTER
;
if
(
devid
==
KK_DM_DEVICE_CCU_DEVICEID
){
memcpy
(
request
.
productCode
,
node
->
productCode
,
strlen
(
node
->
productCode
));
memcpy
(
request
.
deviceCode
,
node
->
deviceCode
,
strlen
(
node
->
deviceCode
));
}
else
{
memcpy
(
request
.
productCode
,
gw_node
->
productCode
,
strlen
(
gw_node
->
productCode
));
memcpy
(
request
.
productCode
,
gw_node
->
productCode
,
strlen
(
gw_node
->
productCode
));
memcpy
(
request
.
deviceCode
,
gw_node
->
deviceCode
,
strlen
(
gw_node
->
deviceCode
));
memcpy
(
request
.
deviceCode
,
gw_node
->
deviceCode
,
strlen
(
gw_node
->
deviceCode
));
}
/* Get Params And Method */
/* Get Params And Method */
res
=
dm_msg_thing_sub_unregister
(
node
->
deviceCode
,
&
request
);
res
=
dm_msg_thing_sub_unregister
(
node
->
deviceCode
,
&
request
);
...
@@ -1573,6 +1575,5 @@ int dm_mgr_subdev_delete(_IN_ char deviceCode[DEVICE_CODE_MAXLEN])
...
@@ -1573,6 +1575,5 @@ int dm_mgr_subdev_delete(_IN_ char deviceCode[DEVICE_CODE_MAXLEN])
free
(
node
);
free
(
node
);
node
=
NULL
;
node
=
NULL
;
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
midware/midware/dm/kk_dm_mng.h
View file @
46f832d8
midware/midware/dm/kk_dm_msg.c
View file @
46f832d8
...
@@ -263,9 +263,9 @@ int dm_msg_thing_topo_delete(_IN_ char deviceCode[DEVICE_CODE_MAXLEN],_OU_ dm_ms
...
@@ -263,9 +263,9 @@ int dm_msg_thing_topo_delete(_IN_ char deviceCode[DEVICE_CODE_MAXLEN],_OU_ dm_ms
const
char
DM_MSG_STATUS_CLOUD_METHOD
[]
DM_READ_ONLY
=
"thing.ccu.cloudstate"
;
const
char
DM_MSG_STATUS_CLOUD_METHOD
[]
DM_READ_ONLY
=
"thing.ccu.cloudstate"
;
const
char
DM_MSG_STATUS_CLOUD
[]
DM_READ_ONLY
=
const
char
DM_MSG_STATUS_CLOUD
[]
DM_READ_ONLY
=
"{
\"
deviceCode
\"
:
\"
%s
\"
}"
;
"{
\"
deviceCode
\"
:
\"
%s
\"
}"
;
int
dm_msg_status_cloud
(
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
int
dm_msg_status_cloud
(
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_OU_
dm_msg_request_t
*
request
)
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_OU_
dm_msg_request_t
*
request
)
{
{
char
*
params
=
NULL
;
char
*
params
=
NULL
;
int
params_len
=
0
;
int
params_len
=
0
;
...
@@ -292,13 +292,13 @@ const char DM_MSG_STATUS_CLOUD[] DM_READ_ONLY =
...
@@ -292,13 +292,13 @@ const char DM_MSG_STATUS_CLOUD[] DM_READ_ONLY =
request
->
params_len
=
strlen
(
request
->
params
);
request
->
params_len
=
strlen
(
request
->
params
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
const
char
DM_MSG_COMBINE_STATUS_ONLINE_METHOD
[]
DM_READ_ONLY
=
"thing.status.online"
;
const
char
DM_MSG_COMBINE_STATUS_ONLINE_METHOD
[]
DM_READ_ONLY
=
"thing.status.online"
;
const
char
DM_MSG_COMBINE_STATUS_ONLINE
[]
DM_READ_ONLY
=
const
char
DM_MSG_COMBINE_STATUS_ONLINE
[]
DM_READ_ONLY
=
"{
\"
deviceCode
\"
:
\"
%s
\"
}"
;
"{
\"
deviceCode
\"
:
\"
%s
\"
}"
;
int
dm_msg_status_online
(
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
int
dm_msg_status_online
(
_IN_
char
productCode
[
PRODUCT_CODE_MAXLEN
],
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_OU_
dm_msg_request_t
*
request
)
_IN_
char
deviceCode
[
DEVICE_CODE_MAXLEN
],
_OU_
dm_msg_request_t
*
request
)
{
{
char
*
params
=
NULL
;
char
*
params
=
NULL
;
int
params_len
=
0
;
int
params_len
=
0
;
char
timestamp
[
DM_UTILS_UINT64_STRLEN
]
=
{
0
};
char
timestamp
[
DM_UTILS_UINT64_STRLEN
]
=
{
0
};
...
@@ -331,7 +331,7 @@ const char DM_MSG_COMBINE_STATUS_ONLINE[] DM_READ_ONLY =
...
@@ -331,7 +331,7 @@ const char DM_MSG_COMBINE_STATUS_ONLINE[] DM_READ_ONLY =
request
->
params_len
=
strlen
(
request
->
params
);
request
->
params_len
=
strlen
(
request
->
params
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
const
char
DM_MSG_COMBINE_STATUS_OFFLINE_METHOD
[]
DM_READ_ONLY
=
"thing.status.offline"
;
const
char
DM_MSG_COMBINE_STATUS_OFFLINE_METHOD
[]
DM_READ_ONLY
=
"thing.status.offline"
;
const
char
DM_MSG_COMBINE_STATUS_OFFLINE
[]
DM_READ_ONLY
=
const
char
DM_MSG_COMBINE_STATUS_OFFLINE
[]
DM_READ_ONLY
=
...
@@ -902,7 +902,6 @@ int dm_msg_ccu_property_post(dm_mgr_dev_node_t *node)
...
@@ -902,7 +902,6 @@ int dm_msg_ccu_property_post(dm_mgr_dev_node_t *node)
{
{
if
(
node
==
NULL
){
if
(
node
==
NULL
){
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
char
*
payload_property
=
kk_tsl_get_post_property_str
(
node
->
dev_shadow
,
NULL
);
char
*
payload_property
=
kk_tsl_get_post_property_str
(
node
->
dev_shadow
,
NULL
);
if
(
payload_property
!=
NULL
){
if
(
payload_property
!=
NULL
){
...
@@ -1088,7 +1087,6 @@ int kk_msg_execute_property_set(const char *productCode,const char *deviceCode,c
...
@@ -1088,7 +1087,6 @@ int kk_msg_execute_property_set(const char *productCode,const char *deviceCode,c
free
(
payload
);
free
(
payload
);
cJSON_Delete
(
root
);
cJSON_Delete
(
root
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
...
@@ -1121,11 +1119,9 @@ int kk_msg_execute_property_get(dm_mgr_dev_node_t *node)
...
@@ -1121,11 +1119,9 @@ int kk_msg_execute_property_get(dm_mgr_dev_node_t *node)
for
(
i
=
0
;
i
<
serviceNum
;
i
++
){
for
(
i
=
0
;
i
<
serviceNum
;
i
++
){
kk_tsl_service_t
*
item
=
node
->
dev_shadow
->
services
+
i
;
kk_tsl_service_t
*
item
=
node
->
dev_shadow
->
services
+
i
;
if
(
!
strcmp
(
item
->
identifier
,
"get"
)){
if
(
!
strcmp
(
item
->
identifier
,
"get"
)){
int
inputNum
=
item
->
input_data_number
;
int
inputNum
=
item
->
input_data_number
;
if
(
inputNum
==
0
){
if
(
inputNum
==
0
){
paramS
=
"{}"
;
paramS
=
"{}"
;
}
else
{
}
else
{
for
(
j
=
0
;
j
<
inputNum
;
j
++
){
for
(
j
=
0
;
j
<
inputNum
;
j
++
){
kk_tsl_data_t
*
inputItem
=
item
->
input_datas
+
j
;
kk_tsl_data_t
*
inputItem
=
item
->
input_datas
+
j
;
...
@@ -1293,7 +1289,6 @@ int kk_msg_execute_scene_action(const char* params,const char *fatherDeviceCode)
...
@@ -1293,7 +1289,6 @@ int kk_msg_execute_scene_action(const char* params,const char *fatherDeviceCode)
free
(
payload
);
free
(
payload
);
cJSON_Delete
(
root
);
cJSON_Delete
(
root
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_msg_execute_scene_delete
(
const
char
*
params
,
const
char
*
fatherDeviceCode
)
int
kk_msg_execute_scene_delete
(
const
char
*
params
,
const
char
*
fatherDeviceCode
)
...
...
midware/midware/dm/kk_dm_msg.h
View file @
46f832d8
midware/midware/dm/kk_dm_queue.c
View file @
46f832d8
...
@@ -209,9 +209,6 @@ void dm_queue_deinit(void)
...
@@ -209,9 +209,6 @@ void dm_queue_deinit(void)
list_del
(
&
del_node
->
linked_list
);
list_del
(
&
del_node
->
linked_list
);
free
(
del_node
);
free
(
del_node
);
}
}
}
}
int
dm_queue_msg_insert
(
void
*
data
)
int
dm_queue_msg_insert
(
void
*
data
)
...
...
midware/midware/dm/kk_dm_queue.h
View file @
46f832d8
midware/midware/dm/kk_linkkit.c
View file @
46f832d8
...
@@ -333,8 +333,6 @@ int kk_topo_delete_handle(cJSON *payload)
...
@@ -333,8 +333,6 @@ int kk_topo_delete_handle(cJSON *payload)
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
...
@@ -363,13 +361,14 @@ static int kk_service_addRoom_handle(const char *deviceCode, cJSON *params)
...
@@ -363,13 +361,14 @@ static int kk_service_addRoom_handle(const char *deviceCode, cJSON *params)
return
res
;
return
res
;
}
}
cJSON
*
roomInfoStr
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ADDROOM_ROOMNAME
);
cJSON
*
roomInfoStr
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ADDROOM_ROOMNAME
);
cJSON
*
roomIdStr
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ROOM_ROOMID
);
if
(
roomInfoStr
==
NULL
){
if
(
roomInfoStr
==
NULL
){
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
kk_room_add
(
roomInfoStr
->
valuestring
,
roomId
);
memcpy
(
roomId
,
roomIdStr
->
valuestring
,
strlen
(
roomIdStr
->
valuestring
));
kk_room_add
(
roomInfoStr
->
valuestring
,
roomIdStr
->
valuestring
);
kk_tsl_set_value
(
kk_tsl_set_event_output_value
,
node
->
dev_shadow
,
MSG_AREA_ADDROOM_NOTIFICATION_ROOMID
,
NULL
,
roomId
);
kk_tsl_set_value
(
kk_tsl_set_event_output_value
,
node
->
dev_shadow
,
MSG_AREA_ADDROOM_NOTIFICATION_ROOMID
,
NULL
,
roomId
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
*功能描述:删除房间处理函数
*功能描述:删除房间处理函数
...
@@ -406,6 +405,14 @@ static int kk_service_addDeviceToRoom_handle(cJSON *params)
...
@@ -406,6 +405,14 @@ static int kk_service_addDeviceToRoom_handle(cJSON *params)
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
cJSON
*
dev_name
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ADDROOM_DEVICENAME
);
if
(
dev_name
==
NULL
){
return
FAIL_RETURN
;
}
cJSON
*
room_name
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ADDROOM_ROOMNAME
);
if
(
room_name
==
NULL
){
return
FAIL_RETURN
;
}
cJSON
*
roomId
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ROOM_ROOMID
);
cJSON
*
roomId
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ROOM_ROOMID
);
if
(
roomId
==
NULL
){
if
(
roomId
==
NULL
){
return
FAIL_RETURN
;
return
FAIL_RETURN
;
...
@@ -420,7 +427,7 @@ static int kk_service_addDeviceToRoom_handle(cJSON *params)
...
@@ -420,7 +427,7 @@ static int kk_service_addDeviceToRoom_handle(cJSON *params)
}
else
{
}
else
{
strcpy
(
epNumStr
,
epNum
->
valuestring
);
strcpy
(
epNumStr
,
epNum
->
valuestring
);
}
}
kk_room_dev_add
(
roomId
->
valuestring
,
deviceCode
->
valuestring
,
epNumStr
);
kk_room_dev_add
(
roomId
->
valuestring
,
room_name
->
valuestring
,
deviceCode
->
valuestring
,
epNumStr
,
dev_name
->
valuestring
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
...
@@ -525,7 +532,6 @@ static int kk_service_executeRoom_handle(cJSON *params)
...
@@ -525,7 +532,6 @@ static int kk_service_executeRoom_handle(cJSON *params)
cJSON
*
action
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ROOM_ACTION
);
cJSON
*
action
=
cJSON_GetObjectItem
(
params
,
MSG_AREA_ROOM_ACTION
);
if
(
action
!=
NULL
){
if
(
action
!=
NULL
){
kk_service_execute_action
(
action
,
search_node
);
kk_service_execute_action
(
action
,
search_node
);
}
}
}
}
pList
=
pList
->
next
;
pList
=
pList
->
next
;
...
@@ -954,11 +960,9 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -954,11 +960,9 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
usleep
(
200000
);
usleep
(
200000
);
dm_msg_ccu_property_post
(
node
);
dm_msg_ccu_property_post
(
node
);
}
}
}
else
if
(
strstr
(
typeJson
->
valuestring
,
KK_THING_OTA_DEVICE_UPGRADE
)){
}
else
if
(
strstr
(
typeJson
->
valuestring
,
KK_THING_OTA_DEVICE_UPGRADE
)){
INFO_PRINT
(
"ota upgrade...
\n
"
);
INFO_PRINT
(
"ota upgrade...
\n
"
);
kk_dm_ota_send
(
data
,
strlen
(
data
)
+
1
);
kk_dm_ota_send
(
data
,
strlen
(
data
)
+
1
);
}
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_REBOOT
)
==
0
){
}
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_REBOOT
)
==
0
){
INFO_PRINT
(
" reboot called!!!
\n
"
);
INFO_PRINT
(
" reboot called!!!
\n
"
);
cJSON
*
msgId
=
cJSON_GetObjectItem
(
payload
,
MSG_COMMON_MSGID
);
cJSON
*
msgId
=
cJSON_GetObjectItem
(
payload
,
MSG_COMMON_MSGID
);
...
@@ -977,7 +981,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -977,7 +981,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
INFO_PRINT
(
" delete room
\n
"
);
INFO_PRINT
(
" delete room
\n
"
);
cJSON
*
paramStr
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
cJSON
*
paramStr
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
kk_service_deleteRoom_handle
(
paramStr
);
kk_service_deleteRoom_handle
(
paramStr
);
}
}
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_ADDDEVICETOROOM
)
==
0
){
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_ADDDEVICETOROOM
)
==
0
){
INFO_PRINT
(
" adddevicetoroom
\n
"
);
INFO_PRINT
(
" adddevicetoroom
\n
"
);
...
@@ -993,7 +996,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -993,7 +996,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
INFO_PRINT
(
" executeroom
\n
"
);
INFO_PRINT
(
" executeroom
\n
"
);
cJSON
*
paramStr
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
cJSON
*
paramStr
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
kk_service_executeRoom_handle
(
paramStr
);
kk_service_executeRoom_handle
(
paramStr
);
}
}
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_ADDSCENC
)
==
0
){
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_ADDSCENC
)
==
0
){
INFO_PRINT
(
" add scene
\n
"
);
INFO_PRINT
(
" add scene
\n
"
);
...
@@ -1040,7 +1042,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -1040,7 +1042,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
cJSON_Delete
(
root_
);
cJSON_Delete
(
root_
);
free
(
out_
);
free
(
out_
);
}
}
}
}
}
}
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_SYNCINFO
)
==
0
){
else
if
(
strcmp
(
typeJson
->
valuestring
,
KK_THING_SERVICE_SYNCINFO
)
==
0
){
...
@@ -1049,7 +1050,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
...
@@ -1049,7 +1050,6 @@ static void _iotx_linkkit_event_callback(iotx_dm_event_types_t type, char *data)
}
}
else
{
else
{
INFO_PRINT
(
"Error msgtype!!!
\n
"
);
INFO_PRINT
(
"Error msgtype!!!
\n
"
);
}
}
directReturn:
directReturn:
...
@@ -1508,12 +1508,10 @@ int kk_mid_subdev_batch_add( char productCode[PRODUCT_CODE_MAXLEN], char deviceC
...
@@ -1508,12 +1508,10 @@ int kk_mid_subdev_batch_add( char productCode[PRODUCT_CODE_MAXLEN], char deviceC
res
=
_iotx_linkkit_subdev_login
(
devid
);
res
=
_iotx_linkkit_subdev_login
(
devid
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
_iotx_linkkit_mutex_unlock
();
_iotx_linkkit_mutex_unlock
();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
midware/midware/dm/kk_property_db.c
View file @
46f832d8
...
@@ -60,8 +60,6 @@ static int _kk_property_db_Init(void)
...
@@ -60,8 +60,6 @@ static int _kk_property_db_Init(void)
_kk_property_db_lock
();
_kk_property_db_lock
();
ctx
->
pDb
=
g_kk_pDb
;
ctx
->
pDb
=
g_kk_pDb
;
const
char
*
pPrpertyTable
=
"CREATE TABLE IF NOT EXISTS PropertiesInfo( \
const
char
*
pPrpertyTable
=
"CREATE TABLE IF NOT EXISTS PropertiesInfo( \
idx INTEGER PRIMARY KEY, \
idx INTEGER PRIMARY KEY, \
deviceCode varchar(33), \
deviceCode varchar(33), \
...
@@ -129,7 +127,6 @@ int kk_property_db_init(void)
...
@@ -129,7 +127,6 @@ int kk_property_db_init(void)
res
=
_kk_property_db_Init
();
res
=
_kk_property_db_Init
();
if
(
res
!=
SUCCESS_RETURN
){
if
(
res
!=
SUCCESS_RETURN
){
ERROR_PRINT
(
"[%s][%d]kk_wlist_db_Init FAIL!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
ERROR_PRINT
(
"[%s][%d]kk_wlist_db_Init FAIL!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
}
}
//_kk_load_subDevice();
//_kk_load_subDevice();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
...
@@ -157,7 +154,6 @@ static int _kk_check_property_exist(const char* deviceCode,const char* identifie
...
@@ -157,7 +154,6 @@ static int _kk_check_property_exist(const char* deviceCode,const char* identifie
pDeviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
);
pDeviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEVICECODE
);
pIdentifier
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_IDENTIFITER
);
pIdentifier
=
(
char
*
)
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
;
...
@@ -303,7 +299,6 @@ int kk_property_db_get_value(const char *deviceCode,const char *identifier,void*
...
@@ -303,7 +299,6 @@ int kk_property_db_get_value(const char *deviceCode,const char *identifier,void*
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
valueType
==
KK_TSL_DATA_TYPE_BOOL
){
int
value_int
=
atoi
(
valueStr
);
int
value_int
=
atoi
(
valueStr
);
*
(
int
*
)
value
=
value_int
;
*
(
int
*
)
value
=
value_int
;
}
}
else
if
(
valueType
==
KK_TSL_DATA_TYPE_FLOAT
){
else
if
(
valueType
==
KK_TSL_DATA_TYPE_FLOAT
){
float
value_float
=
atoi
(
valueStr
);
float
value_float
=
atoi
(
valueStr
);
...
@@ -360,7 +355,6 @@ int kk_property_db_get_rawdata(const char *identifier,const int dev_type, kk_pro
...
@@ -360,7 +355,6 @@ int kk_property_db_get_rawdata(const char *identifier,const int dev_type, kk_pro
memcpy
(
curData
->
deviceCode
,
devcode
,
strlen
(
devcode
));
memcpy
(
curData
->
deviceCode
,
devcode
,
strlen
(
devcode
));
memcpy
(
curData
->
raw
,
valueStr
,
strlen
(
valueStr
));
memcpy
(
curData
->
raw
,
valueStr
,
strlen
(
valueStr
));
curData
->
type
=
valueType
;
curData
->
type
=
valueType
;
curData
++
;
curData
++
;
idx
++
;
idx
++
;
}
}
...
@@ -378,7 +372,6 @@ int kk_property_db_get_rawdata(const char *identifier,const int dev_type, kk_pro
...
@@ -378,7 +372,6 @@ int kk_property_db_get_rawdata(const char *identifier,const int dev_type, kk_pro
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
int
kk_property_db_update
(
const
char
*
deviceCode
)
int
kk_property_db_update
(
const
char
*
deviceCode
)
{
{
int
res
=
0
;
int
res
=
0
;
int
idx
=
0
;
int
idx
=
0
;
...
@@ -403,8 +396,6 @@ int kk_property_db_update(const char *deviceCode)
...
@@ -403,8 +396,6 @@ int kk_property_db_update(const char *deviceCode)
else
if
(
property
->
data_value
.
type
==
KK_TSL_DATA_TYPE_FLOAT
){
else
if
(
property
->
data_value
.
type
==
KK_TSL_DATA_TYPE_FLOAT
){
sprintf
(
tmpValue
,
"%f"
,
property
->
data_value
.
value_float
);
sprintf
(
tmpValue
,
"%f"
,
property
->
data_value
.
value_float
);
kk_property_db_update_value
(
deviceCode
,
property
->
identifier
,
tmpValue
);
kk_property_db_update_value
(
deviceCode
,
property
->
identifier
,
tmpValue
);
}
}
else
if
(
property
->
data_value
.
type
==
KK_TSL_DATA_TYPE_DOUBLE
){
else
if
(
property
->
data_value
.
type
==
KK_TSL_DATA_TYPE_DOUBLE
){
sprintf
(
tmpValue
,
"%f"
,
property
->
data_value
.
value_double
);
sprintf
(
tmpValue
,
"%f"
,
property
->
data_value
.
value_double
);
...
...
midware/midware/dm/kk_property_db.h
View file @
46f832d8
midware/midware/dm/kk_sub_db.c
View file @
46f832d8
...
@@ -94,7 +94,6 @@ static int kk_subDev_db_Init(void)
...
@@ -94,7 +94,6 @@ static int kk_subDev_db_Init(void)
_kk_subDb_unlock
();
_kk_subDb_unlock
();
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
}
}
//eUtils_LockUnlock(&sLock);
//eUtils_LockUnlock(&sLock);
...
@@ -134,7 +133,7 @@ static int _kk_load_subDevice(void)
...
@@ -134,7 +133,7 @@ static int _kk_load_subDevice(void)
ctx
->
subDevNum
++
;
ctx
->
subDevNum
++
;
}
}
usleep
(
100000
);
usleep
(
100000
);
// send the topc info
// send the topo info
iotx_dm_subscribe
(
devId
);
iotx_dm_subscribe
(
devId
);
//sync the data from property db
//sync the data from property db
...
...
midware/midware/dm/kk_sync_data.c
View file @
46f832d8
...
@@ -84,7 +84,9 @@ static int kk_get_rooms_devices(cJSON *roomDevicesArray,char *roomId)
...
@@ -84,7 +84,9 @@ static int kk_get_rooms_devices(cJSON *roomDevicesArray,char *roomId)
deviceObj
=
cJSON_CreateObject
();
deviceObj
=
cJSON_CreateObject
();
deviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
deviceCode
=
(
char
*
)
sqlite3_column_text
(
stmt
,
DB_DEV_DEVICECODE
);
cJSON_AddStringToObject
(
deviceObj
,
KK_SYNC_DEVICECODE_STR
,
deviceCode
);
cJSON_AddStringToObject
(
deviceObj
,
KK_SYNC_DEVICECODE_STR
,
deviceCode
);
//cJSON_AddItemToArray(roomDevicesArray,deviceObj);
}
}
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
sqlite3_finalize
(
stmt
);
sqlite3_finalize
(
stmt
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
...
@@ -413,7 +415,6 @@ static int kk_get_scenes_info(cJSON *data)
...
@@ -413,7 +415,6 @@ static int kk_get_scenes_info(cJSON *data)
static
int
kk_get_ccu_properties
(
cJSON
*
property
)
static
int
kk_get_ccu_properties
(
cJSON
*
property
)
{
{
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
//char *zErrMsg = 0;
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
char
*
propertyStr
=
NULL
;
char
*
propertyStr
=
NULL
;
char
*
valueStr
=
NULL
;
char
*
valueStr
=
NULL
;
...
@@ -474,10 +475,11 @@ char *kk_sync_get_info()
...
@@ -474,10 +475,11 @@ char *kk_sync_get_info()
cJSON_AddStringToObject
(
data
,
KK_SYNC_ONLINE_STR
,
cloudstatus_str
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_ONLINE_STR
,
cloudstatus_str
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_PRODUCTCODE_STR
,
ccu_productCode
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_PRODUCTCODE_STR
,
ccu_productCode
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_VERSION_STR
,
version
);
cJSON_AddStringToObject
(
data
,
KK_SYNC_VERSION_STR
,
version
);
cJSON
*
property
=
cJSON_CreateObject
();
cJSON
*
property
=
cJSON_CreateObject
();
kk_get_ccu_properties
(
property
);
kk_get_ccu_properties
(
property
);
cJSON_AddItemToObject
(
data
,
KK_SYNC_PROPERTY_STR
,
property
);
cJSON_AddItemToObject
(
data
,
KK_SYNC_PROPERTY_STR
,
property
);
out
=
cJSON_Print
(
root
);
out
=
cJSON_Print
(
root
);
printf
(
"kk_sync_get_info:%s
\n
"
,
out
);
printf
(
"kk_sync_get_info:%s
\n
"
,
out
);
cJSON_Delete
(
root
);
cJSON_Delete
(
root
);
...
...
midware/midware/history/kk_history_db.c
View file @
46f832d8
midware/midware/midware.c
View file @
46f832d8
...
@@ -203,7 +203,6 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
...
@@ -203,7 +203,6 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
}
}
}
}
else
{
else
{
kk_tsl_data_value_complex_t
*
complex_struct_1
=
NULL
;
kk_tsl_data_value_complex_t
*
complex_struct_1
=
NULL
;
...
@@ -246,7 +245,6 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
...
@@ -246,7 +245,6 @@ static int kk_property_set_data_check(cJSON * payload,const char *deviceCode){
}
}
else
if
(
property
->
data_value
.
type
==
KK_TSL_DATA_TYPE_TEXT
){
else
if
(
property
->
data_value
.
type
==
KK_TSL_DATA_TYPE_TEXT
){
if
(
strlen
(
propertyItem
->
valuestring
)
>
property
->
data_value
.
length
){
if
(
strlen
(
propertyItem
->
valuestring
)
>
property
->
data_value
.
length
){
ERROR_PRINT
(
"ERROR !!!strlen(propertyItem->valuestring):%d,property->data_value.length:%d
\n
"
,
strlen
(
propertyItem
->
valuestring
),
property
->
data_value
.
length
);
ERROR_PRINT
(
"ERROR !!!strlen(propertyItem->valuestring):%d,property->data_value.length:%d
\n
"
,
strlen
(
propertyItem
->
valuestring
),
property
->
data_value
.
length
);
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
...
@@ -339,7 +337,6 @@ void mid_cb(void* data, int len){
...
@@ -339,7 +337,6 @@ void mid_cb(void* data, int len){
ERROR_PRINT
(
"wrong type
\n
"
);
ERROR_PRINT
(
"wrong type
\n
"
);
}
}
cJSON_Delete
(
json
);
cJSON_Delete
(
json
);
}
}
}
}
}
}
...
@@ -353,7 +350,6 @@ void mid_cb(void* data, int len){
...
@@ -353,7 +350,6 @@ void mid_cb(void* data, int len){
*返 回 值: 无
*返 回 值: 无
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
void
mid2p_cb
(
void
*
data
,
int
len
,
char
*
chalMark
){
void
mid2p_cb
(
void
*
data
,
int
len
,
char
*
chalMark
){
if
(
data
!=
NULL
){
if
(
data
!=
NULL
){
//printf("mid2plat_cb: %s RECEIVED \r\n", data);
//printf("mid2plat_cb: %s RECEIVED \r\n", data);
...
@@ -413,7 +409,6 @@ void gw2mid_cb(void* data, int len, char* chalMark){
...
@@ -413,7 +409,6 @@ void gw2mid_cb(void* data, int len, char* chalMark){
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
void
kk_platMsg_handle
(
void
*
data
,
char
*
chalMark
){
void
kk_platMsg_handle
(
void
*
data
,
char
*
chalMark
){
int
res
=
0
;
int
res
=
0
;
cJSON
*
json
;
cJSON
*
json
;
cJSON
*
info
;
cJSON
*
info
;
...
@@ -472,7 +467,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -472,7 +467,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
kk_mid_subdev_add
(
KK_DM_DEVICE_SUBDEV
,
proCode
->
valuestring
,
devCode
->
valuestring
,
mac
->
valuestring
,
info_dcode
->
valuestring
);
kk_mid_subdev_add
(
KK_DM_DEVICE_SUBDEV
,
proCode
->
valuestring
,
devCode
->
valuestring
,
mac
->
valuestring
,
info_dcode
->
valuestring
);
}
}
dm_mgr_update_timestamp_by_devicecode
(
devCode
->
valuestring
,
HAL_Uptimes
());
dm_mgr_update_timestamp_by_devicecode
(
devCode
->
valuestring
,
HAL_Uptimes
());
}
}
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_TOPO_BATCH_ADD_MSG
)
!=
NULL
){
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_TOPO_BATCH_ADD_MSG
)
!=
NULL
){
kk_ipc_send
(
IPC_MID2APP
,
data
,
strlen
(
data
));
kk_ipc_send
(
IPC_MID2APP
,
data
,
strlen
(
data
));
...
@@ -489,7 +483,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -489,7 +483,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
kk_mid_subdev_batch_add
(
productCode
,
deviceCode
,
mac_s
,
fatherMac
);
kk_mid_subdev_batch_add
(
productCode
,
deviceCode
,
mac_s
,
fatherMac
);
item
=
item
->
next
;
item
=
item
->
next
;
}
}
}
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_PROPERTY_POST
)
!=
NULL
){
}
else
if
(
strstr
(
msgType
->
valuestring
,
KK_THING_PROPERTY_POST
)
!=
NULL
){
INFO_PRINT
(
"save property and send to cloud
\n
"
);
INFO_PRINT
(
"save property and send to cloud
\n
"
);
jsonPay
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
jsonPay
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
);
...
@@ -621,8 +614,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -621,8 +614,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
}
}
}
}
}
}
else
if
(
strcmp
(
eventItem
->
identifier
,
MSG_PROPERTY_STR
)
!=
0
&&
else
if
(
strcmp
(
eventItem
->
identifier
,
MSG_PROPERTY_STR
)
!=
0
&&
eventItem
->
output_data_number
==
0
){
eventItem
->
output_data_number
==
0
){
...
@@ -672,7 +663,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
...
@@ -672,7 +663,6 @@ void kk_platMsg_handle(void* data, char* chalMark){
}
}
else
{
else
{
INFO_PRINT
(
"kk_platMsg_handle data: don't handle it
\n
"
);
INFO_PRINT
(
"kk_platMsg_handle data: don't handle it
\n
"
);
}
}
error:
error:
cJSON_Delete
(
json
);
cJSON_Delete
(
json
);
...
@@ -692,12 +682,10 @@ void kk_platMsg_dispatch(void)
...
@@ -692,12 +682,10 @@ void kk_platMsg_dispatch(void)
void
*
data
=
NULL
;
void
*
data
=
NULL
;
while
(
CONFIG_DISPATCH_QUEUE_MAXLEN
==
0
||
count
++
<
CONFIG_DISPATCH_QUEUE_MAXLEN
)
{
while
(
CONFIG_DISPATCH_QUEUE_MAXLEN
==
0
||
count
++
<
CONFIG_DISPATCH_QUEUE_MAXLEN
)
{
if
(
dm_queue_msg_next2
(
&
data
)
==
SUCCESS_RETURN
)
{
if
(
dm_queue_msg_next2
(
&
data
)
==
SUCCESS_RETURN
)
{
dm_queue_msg_t
*
msg
=
(
dm_queue_msg_t
*
)
data
;
dm_queue_msg_t
*
msg
=
(
dm_queue_msg_t
*
)
data
;
//INFO_PRINT("kk_handle_platMsg_dispatch get call \n");
//INFO_PRINT("kk_handle_platMsg_dispatch get call \n");
kk_platMsg_handle
(
msg
->
data
,(
char
*
)
msg
->
chalMark
);
kk_platMsg_handle
(
msg
->
data
,(
char
*
)
msg
->
chalMark
);
if
(
msg
->
data
!=
NULL
){
if
(
msg
->
data
!=
NULL
){
free
(
msg
->
data
);
free
(
msg
->
data
);
}
}
...
@@ -785,8 +773,6 @@ void *ota_dispatch_yield(void *args)
...
@@ -785,8 +773,6 @@ void *ota_dispatch_yield(void *args)
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
void
*
udp_dispatch_yield
(
void
*
args
){
void
*
udp_dispatch_yield
(
void
*
args
){
INFO_PRINT
(
"udp_dispatch_yield udp thread create
\n
"
);
INFO_PRINT
(
"udp_dispatch_yield udp thread create
\n
"
);
// 绑定地址
// 绑定地址
...
@@ -845,7 +831,6 @@ void *udp_dispatch_yield(void *args){
...
@@ -845,7 +831,6 @@ void *udp_dispatch_yield(void *args){
while
(
1
)
while
(
1
)
{
{
//从广播地址接受消息
//从广播地址接受消息
memset
(
szDec
,
0
,
sizeof
(
szDec
));
memset
(
szDec
,
0
,
sizeof
(
szDec
));
int
size
=
recvfrom
(
sock
,
szDec
,
sizeof
(
szDec
),
0
,
(
struct
sockaddr
*
)
&
from
,(
socklen_t
*
)
&
len
);
int
size
=
recvfrom
(
sock
,
szDec
,
sizeof
(
szDec
),
0
,
(
struct
sockaddr
*
)
&
from
,(
socklen_t
*
)
&
len
);
...
@@ -855,12 +840,10 @@ void *udp_dispatch_yield(void *args){
...
@@ -855,12 +840,10 @@ void *udp_dispatch_yield(void *args){
}
}
else
else
{
{
DEBUG_PRINT
(
"lan recmsg: %s
\n
"
,
szDec
);
DEBUG_PRINT
(
"lan recmsg: %s
\n
"
,
szDec
);
//DEBUG_PRINT("udp client ip:%s ,port is :%d htons(UDP_LAN_PORT)=%d \n",inet_ntoa(from.sin_addr),from.sin_port, htons(UDP_LAN_PORT));
//DEBUG_PRINT("udp client ip:%s ,port is :%d htons(UDP_LAN_PORT)=%d \n",inet_ntoa(from.sin_addr),from.sin_port, htons(UDP_LAN_PORT));
//"search_kk_ccu|deviceCode=1122334455667788;protocol=tcp"
//"search_kk_ccu|deviceCode=1122334455667788;protocol=tcp"
if
(
strstr
(
szDec
,
"search_kk_ccu|"
)
!=
NULL
){
if
(
strstr
(
szDec
,
"search_kk_ccu|"
)
!=
NULL
){
char
*
getConnet
=
szDec
+
strlen
(
"search_kk_ccu|"
);
char
*
getConnet
=
szDec
+
strlen
(
"search_kk_ccu|"
);
char
*
tmp
=
NULL
;
char
*
tmp
=
NULL
;
char
*
endIdx
=
NULL
;
char
*
endIdx
=
NULL
;
...
@@ -870,7 +853,6 @@ void *udp_dispatch_yield(void *args){
...
@@ -870,7 +853,6 @@ void *udp_dispatch_yield(void *args){
char
proto
[
10
]
=
{
0
};
char
proto
[
10
]
=
{
0
};
char
portStr
[
10
]
=
{
0
};
char
portStr
[
10
]
=
{
0
};
tmp
=
strstr
(
getConnet
,
"deviceCode="
);
tmp
=
strstr
(
getConnet
,
"deviceCode="
);
itemLen
=
strlen
(
"deviceCode="
);
itemLen
=
strlen
(
"deviceCode="
);
if
(
tmp
!=
NULL
){
if
(
tmp
!=
NULL
){
...
@@ -910,7 +892,6 @@ void *udp_dispatch_yield(void *args){
...
@@ -910,7 +892,6 @@ void *udp_dispatch_yield(void *args){
DEBUG_PRINT
(
"gwDevCode =%s proto=%s portStr=%s
\n
"
,
gwDevCode
,
proto
,
portStr
);
DEBUG_PRINT
(
"gwDevCode =%s proto=%s portStr=%s
\n
"
,
gwDevCode
,
proto
,
portStr
);
if
(
strcmp
(
proto
,
"tcp"
)
==
0
){
if
(
strcmp
(
proto
,
"tcp"
)
==
0
){
//
//
kk_set_tcp_channel
(
gwDevCode
,
inet_ntoa
(
from
.
sin_addr
));
kk_set_tcp_channel
(
gwDevCode
,
inet_ntoa
(
from
.
sin_addr
));
}
}
...
@@ -941,12 +922,10 @@ void *udp_dispatch_yield(void *args){
...
@@ -941,12 +922,10 @@ void *udp_dispatch_yield(void *args){
// DEBUG_PRINT("udp client is not local ip , refused send ack to it\n");
// DEBUG_PRINT("udp client is not local ip , refused send ack to it\n");
//}
//}
}
}
}
}
usleep
(
100000
);
usleep
(
100000
);
}
}
close
(
sock
);
close
(
sock
);
close
(
sock_host
);
close
(
sock_host
);
}
}
...
@@ -1054,6 +1033,7 @@ int main(const int argc, const char **argv)
...
@@ -1054,6 +1033,7 @@ int main(const int argc, const char **argv)
kk_history_db_init
();
kk_history_db_init
();
kk_scene_init
();
kk_scene_init
();
g_timezone
=
HAL_Get_TimeZone
();
g_timezone
=
HAL_Get_TimeZone
();
mid_ctx
->
g_mid_dispatch_thread_running
=
1
;
mid_ctx
->
g_mid_dispatch_thread_running
=
1
;
res
=
pthread_create
(
&
mid_ctx
->
g_mid_dispatch_thread
,
NULL
,
mid_dispatch_yield
,
NULL
);
res
=
pthread_create
(
&
mid_ctx
->
g_mid_dispatch_thread
,
NULL
,
mid_dispatch_yield
,
NULL
);
if
(
res
<
0
)
{
if
(
res
<
0
)
{
...
@@ -1088,48 +1068,6 @@ int main(const int argc, const char **argv)
...
@@ -1088,48 +1068,6 @@ int main(const int argc, const char **argv)
for
(;;)
{
for
(;;)
{
usleep
(
200000
);
usleep
(
200000
);
kk_platMsg_dispatch
();
kk_platMsg_dispatch
();
/*
if (ct == 0){
ct =1;
void* buf = "{\
\"info\": {\
\"msgtype\": \"/thing/service/property/post\",\
\"productCode\": \"130\",\
\"deviceCode\": \"086BD7FFFE916442\"\
},\
\"payload\": {\
\"msgId\": \"1\",\
\"version\": \"1.0\",\
\"params\": {\
\"LockKeys\": [\
{\
\"KeyID\": \"1\",\
\"KeyType\": 0, \
\"KeyRole\": 0, \
\"IsValid\": 1, \
\"KeyName\": \"test1\", \
\"KeyEffectiveTime\": 0, \
\"KeyExpiryTime\": 1 \
},\
{\
\"KeyID\": \"2\",\
\"KeyType\": 1, \
\"KeyRole\": 1, \
\"IsValid\": 1, \
\"KeyName\": \"test2\", \
\"KeyEffectiveTime\": 3, \
\"KeyExpiryTime\": 4 \
} \
]\
}\
}\
}";
kk_platMsg_handle(buf, "086BD7FFFE916442");
//kk_set_tsl_by_productKey("a1OYuSallan","model.json");
//kk_mid_subdev_add("a1OYuSallan","allanWno8yDdsjCX15iq","","aabbccddeeff1122");
}*/
}
}
}
}
midware/midware/ota/iotx_ota.c
View file @
46f832d8
midware/midware/ota/ota_lib.c
View file @
46f832d8
midware/midware/scene/kk_scene_db.c
View file @
46f832d8
...
@@ -231,7 +231,6 @@ int kk_scene_insert_scene_info(const char* name,int sceneType,int enable,const c
...
@@ -231,7 +231,6 @@ int kk_scene_insert_scene_info(const char* name,int sceneType,int enable,const c
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
_kk_scene_unlock
();
_kk_scene_unlock
();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
*功能描述: 检查场景触发是否已经存在
*功能描述: 检查场景触发是否已经存在
...
@@ -245,7 +244,6 @@ int kk_scene_insert_scene_info(const char* name,int sceneType,int enable,const c
...
@@ -245,7 +244,6 @@ int kk_scene_insert_scene_info(const char* name,int sceneType,int enable,const c
*返 回 值: 0:成功;其他:失败
*返 回 值: 0:成功;其他:失败
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
static
int
kk_scene_check_trigger_exist
(
const
char
*
deviceCode
,
int
epNum
,
const
char
*
propertyName
,
static
int
kk_scene_check_trigger_exist
(
const
char
*
deviceCode
,
int
epNum
,
const
char
*
propertyName
,
const
char
*
compareType
,
const
char
*
compareValue
,
const
char
*
sceneId
)
const
char
*
compareType
,
const
char
*
compareValue
,
const
char
*
sceneId
)
{
{
...
@@ -281,7 +279,6 @@ static int kk_scene_check_trigger_exist(const char* deviceCode,int epNum,const c
...
@@ -281,7 +279,6 @@ static int kk_scene_check_trigger_exist(const char* deviceCode,int epNum,const c
_kk_scene_unlock
();
_kk_scene_unlock
();
return
res
;
return
res
;
}
}
/************************************************************
/************************************************************
...
@@ -297,7 +294,6 @@ static int kk_scene_check_trigger_exist(const char* deviceCode,int epNum,const c
...
@@ -297,7 +294,6 @@ static int kk_scene_check_trigger_exist(const char* deviceCode,int epNum,const c
*返 回 值: 0:成功;其他:失败
*返 回 值: 0:成功;其他:失败
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
int
kk_scene_insert_scene_trigger
(
const
char
*
type
,
const
char
*
deviceCode
,
int
epNum
,
const
char
*
propertyName
,
int
kk_scene_insert_scene_trigger
(
const
char
*
type
,
const
char
*
deviceCode
,
int
epNum
,
const
char
*
propertyName
,
const
char
*
compareType
,
const
char
*
compareValue
,
const
char
*
sceneId
,
int
isAnd
)
const
char
*
compareType
,
const
char
*
compareValue
,
const
char
*
sceneId
,
int
isAnd
)
{
{
...
@@ -475,7 +471,6 @@ int kk_scene_insert_scene_invokeService(const char* type,const char* identifier,
...
@@ -475,7 +471,6 @@ int kk_scene_insert_scene_invokeService(const char* type,const char* identifier,
_kk_scene_unlock
();
_kk_scene_unlock
();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
*功能描述: 添加场景执行动作到数据库
*功能描述: 添加场景执行动作到数据库
...
@@ -526,7 +521,6 @@ int kk_scene_insert_scene_action(const char* type,const char* deviceCode,int epN
...
@@ -526,7 +521,6 @@ int kk_scene_insert_scene_action(const char* type,const char* deviceCode,int epN
*返 回 值: 0:成功;其他:失败
*返 回 值: 0:成功;其他:失败
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
int
kk_scene_delete_scene_info
(
const
char
*
sceneId
)
int
kk_scene_delete_scene_info
(
const
char
*
sceneId
)
{
{
int
res
=
0
;
int
res
=
0
;
...
@@ -703,7 +697,6 @@ int kk_scene_delete_scene_invokeservice(const char *sceneId)
...
@@ -703,7 +697,6 @@ int kk_scene_delete_scene_invokeservice(const char *sceneId)
*返 回 值: 0:成功;其他:失败
*返 回 值: 0:成功;其他:失败
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
int
kk_scene_delete_scene_action
(
const
char
*
sceneId
,
int
isforword
)
int
kk_scene_delete_scene_action
(
const
char
*
sceneId
,
int
isforword
)
{
{
int
res
=
0
;
int
res
=
0
;
...
...
midware/midware/scene/kk_scene_handle.c
View file @
46f832d8
...
@@ -118,7 +118,6 @@ static int kk_scene_tsl_load(void)
...
@@ -118,7 +118,6 @@ static int kk_scene_tsl_load(void)
}
}
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/******************************************************************************/
/******************************************************************************/
/* 函 数 名: kk_scene_timer_check_able */
/* 函 数 名: kk_scene_timer_check_able */
...
@@ -589,7 +588,9 @@ static int kk_scene_parse_trigger_detail(const char *type,const cJSON *item,cons
...
@@ -589,7 +588,9 @@ static int kk_scene_parse_trigger_detail(const char *type,const cJSON *item,cons
deviceCode
=
cJSON_GetObjectItem
(
item
,
MSG_DEVICE_CODE_STR
);
deviceCode
=
cJSON_GetObjectItem
(
item
,
MSG_DEVICE_CODE_STR
);
if
(
deviceCode
==
NULL
)
return
FAIL_RETURN
;
if
(
deviceCode
==
NULL
)
return
FAIL_RETURN
;
epNum
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_EPNUM
);
epNum
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_EPNUM
);
if
(
epNum
==
NULL
)
return
FAIL_RETURN
;
if
(
epNum
==
NULL
){
epNum
=
cJSON_CreateNumber
(
1
);
}
propertyName
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_PROPERTYNAME
);
propertyName
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_PROPERTYNAME
);
if
(
propertyName
==
NULL
)
return
FAIL_RETURN
;
if
(
propertyName
==
NULL
)
return
FAIL_RETURN
;
compareType
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_COMPARETYPE
);
compareType
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_COMPARETYPE
);
...
@@ -633,14 +634,14 @@ int kk_scene_parse_scene_trigger(const cJSON* str,const char *sceneId)
...
@@ -633,14 +634,14 @@ int kk_scene_parse_scene_trigger(const cJSON* str,const char *sceneId)
while
(
item
!=
NULL
){
while
(
item
!=
NULL
){
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
if
(
type
==
NULL
)
return
FAIL_RETURN
;
if
(
type
==
NULL
)
return
FAIL_RETURN
;
if
(
!
strcmp
(
"trigger/thing/property"
,
type
->
valuestring
)){
if
(
!
strcmp
(
"trigger/thing/property"
,
type
->
valuestring
)){
res
=
kk_scene_parse_trigger_detail
(
type
->
valuestring
,
item
,
sceneId
,
0
);
res
=
kk_scene_parse_trigger_detail
(
type
->
valuestring
,
item
,
sceneId
,
0
);
if
(
res
!=
SUCCESS_RETURN
){
if
(
res
!=
SUCCESS_RETURN
){
ERROR_PRINT
(
"kk_scene_parse_scene_trigger fail!!!
\n
"
);
ERROR_PRINT
(
"kk_scene_parse_scene_trigger fail!!!
\n
"
);
return
res
;
return
res
;
}
}
}
}
else
if
(
!
strcmp
(
"trigger/timing"
,
type
->
valuestring
)){
else
if
(
!
strcmp
(
"trigger/timing"
,
type
->
valuestring
)){
week
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_WEEK
);
week
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_WEEK
);
if
(
week
==
NULL
)
return
FAIL_RETURN
;
if
(
week
==
NULL
)
return
FAIL_RETURN
;
weekflag
=
kk_scene_parse_repeatday
(
week
);
weekflag
=
kk_scene_parse_repeatday
(
week
);
...
@@ -729,7 +730,6 @@ static int kk_scene_parse_repeatday(cJSON *repeatday)
...
@@ -729,7 +730,6 @@ static int kk_scene_parse_repeatday(cJSON *repeatday)
*返 回 值: 无
*返 回 值: 无
*其他说明:
*其他说明:
*************************************************************/
*************************************************************/
void
kk_scene_remove_timer_info
(
char
*
sceneId
,
int
lockflag
)
void
kk_scene_remove_timer_info
(
char
*
sceneId
,
int
lockflag
)
{
{
kk_scene_timer_list_t
*
ptr
=
NULL
,
*
ptemp
=
NULL
;
kk_scene_timer_list_t
*
ptr
=
NULL
,
*
ptemp
=
NULL
;
...
@@ -891,6 +891,8 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -891,6 +891,8 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
cJSON
*
epNum
;
cJSON
*
epNum
;
int
iepnum
;
int
iepnum
;
printf
(
"----->kk_scene_parse_scene_action
\r\n
"
);
dm_mgr_dev_node_t
*
node
=
NULL
;
dm_mgr_dev_node_t
*
node
=
NULL
;
if
(
str
==
NULL
||
sceneId
==
NULL
){
if
(
str
==
NULL
||
sceneId
==
NULL
){
ERROR_PRINT
(
"kk_scene_parse_scene_action failed
\n
"
);
ERROR_PRINT
(
"kk_scene_parse_scene_action failed
\n
"
);
...
@@ -901,6 +903,7 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -901,6 +903,7 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
if
(
action
==
NULL
)
return
FAIL_RETURN
;
if
(
action
==
NULL
)
return
FAIL_RETURN
;
item
=
action
->
child
;
item
=
action
->
child
;
while
(
item
!=
NULL
){
while
(
item
!=
NULL
){
printf
(
"+++
\r\n
"
);
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
type
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_TYPE
);
if
(
type
==
NULL
)
return
FAIL_RETURN
;
if
(
type
==
NULL
)
return
FAIL_RETURN
;
/*内嵌场景设置*/
/*内嵌场景设置*/
...
@@ -944,23 +947,41 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
...
@@ -944,23 +947,41 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
delay
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_DELAY
);
delay
=
cJSON_GetObjectItem
(
item
,
MSG_SCENE_DELAY
);
if
(
delay
==
NULL
)
return
FAIL_RETURN
;
if
(
delay
==
NULL
)
return
FAIL_RETURN
;
int
idelay
=
delay
->
valueint
;
int
idelay
=
delay
->
valueint
;
res
=
dm_mgr_get_device_by_devicecode
(
deviceCode
->
valuestring
,
&
node
);
res
=
dm_mgr_get_device_by_devicecode
(
deviceCode
->
valuestring
,
&
node
);
if
(
res
!=
SUCCESS_RETURN
)
{
if
(
res
!=
SUCCESS_RETURN
)
{
item
=
item
->
next
;
item
=
item
->
next
;
continue
;
continue
;
}
}
if
(
kk_subDev_check_scene_support
(
node
->
fatherDeviceCode
)
==
1
){
if
(
kk_subDev_check_scene_support
(
node
->
fatherDeviceCode
)
==
1
){
kk_scene_action_detail_t
info
=
{
0
};
kk_scene_action_detail_t
info
=
{
0
};
memcpy
(
info
.
deviceCode
,
node
->
deviceCode
,
strlen
(
node
->
deviceCode
));
memcpy
(
info
.
deviceCode
,
node
->
deviceCode
,
strlen
(
node
->
deviceCode
));
memcpy
(
info
.
propertyName
,
propertyName
->
valuestring
,
strlen
(
propertyName
->
valuestring
));
memcpy
(
info
.
propertyName
,
propertyName
->
valuestring
,
strlen
(
propertyName
->
valuestring
));
if
(
propertyValue
->
type
==
cJSON_Number
){
char
temp
[
64
]
=
{
0
};
snprintf
(
temp
,
64
,
"%d"
,
propertyValue
->
valueint
);
memcpy
(
info
.
propertyValue
,
temp
,
strlen
(
temp
));
}
else
{
memcpy
(
info
.
propertyValue
,
propertyValue
->
valuestring
,
strlen
(
propertyValue
->
valuestring
));
memcpy
(
info
.
propertyValue
,
propertyValue
->
valuestring
,
strlen
(
propertyValue
->
valuestring
));
}
info
.
epNum
=
iepnum
;
info
.
epNum
=
iepnum
;
info
.
delay
=
idelay
;
info
.
delay
=
idelay
;
kk_scene_action_add
(
node
->
fatherDeviceCode
,
sceneId
,
info
);
kk_scene_action_add
(
node
->
fatherDeviceCode
,
sceneId
,
info
);
}
}
res
=
kk_scene_insert_scene_action
(
type
->
valuestring
,
node
->
deviceCode
,
iepnum
,
res
=
kk_scene_insert_scene_action
(
type
->
valuestring
,
node
->
deviceCode
,
iepnum
,
propertyName
->
valuestring
,
propertyValue
->
valuestring
,
idelay
,
sceneId
,
node
->
fatherDeviceCode
);
propertyName
->
valuestring
,
propertyValue
->
valuestring
,
idelay
,
sceneId
,
node
->
fatherDeviceCode
);
if
(
res
!=
SUCCESS_RETURN
){
if
(
res
!=
SUCCESS_RETURN
){
INFO_PRINT
(
"kk_scene_insert_scene_action fail!!!
\n
"
);
INFO_PRINT
(
"kk_scene_insert_scene_action fail!!!
\n
"
);
return
res
;
return
res
;
...
@@ -1093,7 +1114,6 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate,const c
...
@@ -1093,7 +1114,6 @@ int kk_scene_parse_addscene(const cJSON* args,char *sceneId,int isUpdate,const c
}
}
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
...
@@ -1540,7 +1560,6 @@ static int kk_scene_check_value(const char * compareType,const char * compareVal
...
@@ -1540,7 +1560,6 @@ static int kk_scene_check_value(const char * compareType,const char * compareVal
}
}
return
res
;
return
res
;
}
}
/************************************************************
/************************************************************
*功能描述:发送action内容到网关,此函数只有不支持内场景的网关用到
*功能描述:发送action内容到网关,此函数只有不支持内场景的网关用到
...
@@ -1678,8 +1697,6 @@ static int kk_scene_start_action(const char *deviceCode,const char *propertyName
...
@@ -1678,8 +1697,6 @@ static int kk_scene_start_action(const char *deviceCode,const char *propertyName
kk_scene_push_action_list
(
actionInfo
,
delay
);
kk_scene_push_action_list
(
actionInfo
,
delay
);
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
*功能描述:触发完成并符合条件后调用此函数执行场景
*功能描述:触发完成并符合条件后调用此函数执行场景
...
@@ -1697,7 +1714,8 @@ int kk_scene_execute_action(const char* sceneId,char *msgId)
...
@@ -1697,7 +1714,8 @@ int kk_scene_execute_action(const char* sceneId,char *msgId)
char
*
gwdeviceCode
=
NULL
;
char
*
gwdeviceCode
=
NULL
;
int
delay
=
0
;
int
delay
=
0
;
char
*
sqlCmd
=
NULL
;
char
*
sqlCmd
=
NULL
;
char
gwdevice
[][
DEVICE_CODE_MAXLEN
]
=
{
0
};
//
char
gwdevice
[
5
][
DEVICE_CODE_MAXLEN
]
=
{
0
};
int
idx
=
0
,
num
=
0
;
int
idx
=
0
,
num
=
0
;
sqlite3_stmt
*
stmt
;
sqlite3_stmt
*
stmt
;
kk_scene_ctx_t
*
ctx
=
_kk_scene_get_ctx
();
kk_scene_ctx_t
*
ctx
=
_kk_scene_get_ctx
();
...
@@ -1779,7 +1797,6 @@ static int kk_scene_push_embed_list(int delay,const char* sceneId)
...
@@ -1779,7 +1797,6 @@ static int kk_scene_push_embed_list(int delay,const char* sceneId)
}
}
_kk_scene_unlock
();
_kk_scene_unlock
();
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
/************************************************************
/************************************************************
*功能描述:查找是否有场景嵌套
*功能描述:查找是否有场景嵌套
...
@@ -1931,7 +1948,6 @@ int kk_scene_query_trigger_info(const char *deviceCode,cJSON *param)
...
@@ -1931,7 +1948,6 @@ int kk_scene_query_trigger_info(const char *deviceCode,cJSON *param)
}
}
}
}
}
}
}
}
sqlite3_finalize
(
stmt
);
sqlite3_finalize
(
stmt
);
sqlite3_free
(
sqlCmd
);
sqlite3_free
(
sqlCmd
);
...
@@ -2000,6 +2016,5 @@ void kk_scene_execute_event_post(const char* sceneId,const char *msgId)
...
@@ -2000,6 +2016,5 @@ void kk_scene_execute_event_post(const char* sceneId,const char *msgId)
kk_tsl_set_value
(
kk_tsl_set_event_output_value
,
pSceneShadow
,
MSG_SCENE_EXECUTENOTIFICATION_SCENEID
,
NULL
,
sceneId
);
kk_tsl_set_value
(
kk_tsl_set_event_output_value
,
pSceneShadow
,
MSG_SCENE_EXECUTENOTIFICATION_SCENEID
,
NULL
,
sceneId
);
dm_msg_scene_event_post
(
MSG_SCENE_EXECUTENOTIFICATION
,
pSceneShadow
,
msgIdbuf
);
dm_msg_scene_event_post
(
MSG_SCENE_EXECUTENOTIFICATION
,
pSceneShadow
,
msgIdbuf
);
}
}
}
}
midware/midware/scene/kk_scene_handle.h
View file @
46f832d8
midware/midware/utils/infra_md5.c
View file @
46f832d8
midware/tsl/tsl_handle/kk_tsl_api.c
View file @
46f832d8
...
@@ -55,7 +55,6 @@ static int _kk_msg_get_service_input_data(_IN_ kk_tsl_t *dev_shadow, _IN_ char *
...
@@ -55,7 +55,6 @@ static int _kk_msg_get_service_input_data(_IN_ kk_tsl_t *dev_shadow, _IN_ char *
{
{
int
res
=
0
;
int
res
=
0
;
if
(
key
==
NULL
||
key_len
<=
0
)
{
if
(
key
==
NULL
||
key_len
<=
0
)
{
return
INVALID_PARAMETER
;
return
INVALID_PARAMETER
;
}
}
...
@@ -1040,6 +1039,7 @@ int kk_tsl_get_value(kk_tsl_get_t method_get, kk_tsl_t * dev_shadow, const char
...
@@ -1040,6 +1039,7 @@ int kk_tsl_get_value(kk_tsl_get_t method_get, kk_tsl_t * dev_shadow, const char
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
//kk_tsl_set_value(kk_tsl_set_event_output_value,pSceneShadow,MSG_SCENE_ADDNOTIFICATION_SCENEID,NULL,sceneId);
int
kk_tsl_set_value
(
kk_tsl_set_t
set
,
kk_tsl_t
*
dev_shadow
,
const
char
*
identifier
,
int
kk_tsl_set_value
(
kk_tsl_set_t
set
,
kk_tsl_t
*
dev_shadow
,
const
char
*
identifier
,
const
void
*
value
,
const
void
*
value
,
...
@@ -1064,7 +1064,7 @@ int kk_tsl_set_value(kk_tsl_set_t set, kk_tsl_t * dev_shadow, const char *identi
...
@@ -1064,7 +1064,7 @@ int kk_tsl_set_value(kk_tsl_set_t set, kk_tsl_t * dev_shadow, const char *identi
property
=
dev_shadow
->
events
+
index
;
property
=
dev_shadow
->
events
+
index
;
if
(
strcmp
(
property
->
identifier
,
"property"
)
==
0
||
if
(
strcmp
(
property
->
identifier
,
"property"
)
==
0
||
strcmp
(
property
->
identifier
,
"post"
)
==
0
)
strcmp
(
property
->
identifier
,
"post"
)
==
0
)
{
{
e_identifier
=
property
->
identifier
;
e_identifier
=
property
->
identifier
;
break
;
break
;
}
}
...
@@ -1288,7 +1288,7 @@ int kk_tsl_post_property_add(_IN_ void *handle, _IN_ char *identifier, _IN_ int
...
@@ -1288,7 +1288,7 @@ int kk_tsl_post_property_add(_IN_ void *handle, _IN_ char *identifier, _IN_ int
event
=
dapi_property
->
shadow
->
events
+
index
;
event
=
dapi_property
->
shadow
->
events
+
index
;
if
(
strcmp
(
event
->
identifier
,
"property"
)
==
0
||
if
(
strcmp
(
event
->
identifier
,
"property"
)
==
0
||
strcmp
(
event
->
identifier
,
"post"
)
==
0
)
strcmp
(
event
->
identifier
,
"post"
)
==
0
)
{
{
pEventoutput
=
(
kk_tsl_data_t
*
)(
event
->
output_datas
);
pEventoutput
=
(
kk_tsl_data_t
*
)(
event
->
output_datas
);
number
=
event
->
output_data_number
;
number
=
event
->
output_data_number
;
break
;
break
;
...
@@ -1347,7 +1347,6 @@ char* kk_tsl_get_post_property_str(kk_tsl_t *dev_shadow, const char *propert
...
@@ -1347,7 +1347,6 @@ char* kk_tsl_get_post_property_str(kk_tsl_t *dev_shadow, const char *propert
_kk_tsl_api_unlock
();
_kk_tsl_api_unlock
();
return
kk_tsl_post_property_end
(
property_handle
);
return
kk_tsl_post_property_end
(
property_handle
);
}
}
static
int
kk_tsl_event_output
(
_IN_
kk_tsl_t
*
dev_shadow
,
_IN_
char
*
identifier
,
_IN_
int
identifier_len
,
static
int
kk_tsl_event_output
(
_IN_
kk_tsl_t
*
dev_shadow
,
_IN_
char
*
identifier
,
_IN_
int
identifier_len
,
_IN_
lite_cjson_item_t
*
lite
)
_IN_
lite_cjson_item_t
*
lite
)
...
...
midware/tsl/tsl_handle/kk_tsl_api.h
View file @
46f832d8
midware/tsl/tsl_handle/kk_tsl_common.h
View file @
46f832d8
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
#define KK_TSL_GATAWAY_SN_IDENTIFIER "SN"
#define KK_TSL_GATAWAY_SN_IDENTIFIER "SN"
#define KK_TSL_GATAWAY_WHITELIST_IDENTIFIER "WhiteListState"
#define KK_TSL_GATAWAY_WHITELIST_IDENTIFIER "WhiteListState"
#define DEFAULT_HEARTBEAT_TIMEOUT (60*1
0
)// ten minutes
#define DEFAULT_HEARTBEAT_TIMEOUT (60*1)// ten minutes
typedef
enum
{
typedef
enum
{
KK_DEV_ONLINE
=
0
,
KK_DEV_ONLINE
=
0
,
...
...
midware/tsl/tsl_handle/kk_tsl_func.c
View file @
46f832d8
midware/tsl/tsl_handle/kk_tsl_load.c
View file @
46f832d8
...
@@ -50,7 +50,6 @@ char* kk_load_json(const char *productCode,int type)
...
@@ -50,7 +50,6 @@ char* kk_load_json(const char *productCode,int type)
snprintf
(
tslPath
,
path_len
,
TSL_SCENE_PATH_FILE
,
productCode
);
snprintf
(
tslPath
,
path_len
,
TSL_SCENE_PATH_FILE
,
productCode
);
}
}
INFO_PRINT
(
"
\n
[%s][%d]tslPath:%s!!!
\n
"
,
__FUNCTION__
,
__LINE__
,
tslPath
);
INFO_PRINT
(
"
\n
[%s][%d]tslPath:%s!!!
\n
"
,
__FUNCTION__
,
__LINE__
,
tslPath
);
if
(
!
(
fp
=
fopen
(
tslPath
,
"r"
)))
if
(
!
(
fp
=
fopen
(
tslPath
,
"r"
)))
{
{
...
...
midware/tsl/tsl_handle/kk_tsl_parse.c
View file @
46f832d8
...
@@ -364,7 +364,6 @@ static int _kk_tsl_opt_parse(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cjs
...
@@ -364,7 +364,6 @@ static int _kk_tsl_opt_parse(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cjs
else
if
(
data_value
->
type
==
KK_TSL_DATA_TYPE_INT
){
else
if
(
data_value
->
type
==
KK_TSL_DATA_TYPE_INT
){
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_MIN
,
strlen
(
KK_TSL_KEY_MIN
),
&
lite_item
);
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_MIN
,
strlen
(
KK_TSL_KEY_MIN
),
&
lite_item
);
if
(
res
==
SUCCESS_RETURN
){
if
(
res
==
SUCCESS_RETURN
){
data_value
->
mix
=
atoi
(
lite_item
.
value
);
data_value
->
mix
=
atoi
(
lite_item
.
value
);
//printf("------------>[%s][%d]data_value->mix:%d\n",__FUNCTION__,__LINE__,data_value->mix);
//printf("------------>[%s][%d]data_value->mix:%d\n",__FUNCTION__,__LINE__,data_value->mix);
}
}
...
@@ -374,11 +373,19 @@ static int _kk_tsl_opt_parse(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cjs
...
@@ -374,11 +373,19 @@ static int _kk_tsl_opt_parse(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cjs
//printf("------------>[%s][%d]data_value->max:%d\n",__FUNCTION__,__LINE__,data_value->max);
//printf("------------>[%s][%d]data_value->max:%d\n",__FUNCTION__,__LINE__,data_value->max);
}
}
}
else
if
(
data_value
->
type
==
KK_TSL_DATA_TYPE_FLOAT
||
data_value
->
type
==
KK_TSL_DATA_TYPE_DOUBLE
){
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_MIN
,
strlen
(
KK_TSL_KEY_MIN
),
&
lite_item
);
if
(
res
==
SUCCESS_RETURN
){
data_value
->
mix
=
atof
(
lite_item
.
value
);
//printf("------------>[%s][%d]data_value->mix:%d\n",__FUNCTION__,__LINE__,data_value->mix);
}
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_MAX
,
strlen
(
KK_TSL_KEY_MAX
),
&
lite_item
);
if
(
res
==
SUCCESS_RETURN
){
data_value
->
max
=
atof
(
lite_item
.
value
);
//printf("------------>[%s][%d]data_value->max:%d\n",__FUNCTION__,__LINE__,data_value->max);
}
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
...
@@ -408,7 +415,6 @@ static int _kk_tsl_data_parse(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cj
...
@@ -408,7 +415,6 @@ static int _kk_tsl_data_parse(_IN_ kk_tsl_data_value_t *data_value, _IN_ lite_cj
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_SPECS
,
strlen
(
KK_TSL_KEY_SPECS
),
&
lite_item
);
res
=
lite_cjson_object_item
(
root
,
KK_TSL_KEY_SPECS
,
strlen
(
KK_TSL_KEY_SPECS
),
&
lite_item
);
if
(
res
==
SUCCESS_RETURN
)
{
if
(
res
==
SUCCESS_RETURN
)
{
_kk_tsl_opt_parse
(
data_value
,
&
lite_item
);
_kk_tsl_opt_parse
(
data_value
,
&
lite_item
);
}
}
//Parse Type And Value
//Parse Type And Value
...
@@ -862,7 +868,7 @@ static int _kk_tsl_service_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_service_t *s
...
@@ -862,7 +868,7 @@ static int _kk_tsl_service_parse(_IN_ kk_tsl_t *shadow, _IN_ kk_tsl_service_t *s
}
}
//printf("Identifier: %s", service->identifier);
//printf("Identifier: %s", service->identifier);
/* Check If Current Service Id Is Set Or G
et */
/* Check If Current Service Id Is S
et */
if
((
strlen
(
service
->
identifier
)
==
strlen
(
KK_TSL_SPECIAL_SERVICE_SET_IDENTIFIER
))
&&
if
((
strlen
(
service
->
identifier
)
==
strlen
(
KK_TSL_SPECIAL_SERVICE_SET_IDENTIFIER
))
&&
(
memcmp
(
service
->
identifier
,
KK_TSL_SPECIAL_SERVICE_SET_IDENTIFIER
,
(
memcmp
(
service
->
identifier
,
KK_TSL_SPECIAL_SERVICE_SET_IDENTIFIER
,
strlen
(
KK_TSL_SPECIAL_SERVICE_SET_IDENTIFIER
))
==
0
))
{
strlen
(
KK_TSL_SPECIAL_SERVICE_SET_IDENTIFIER
))
==
0
))
{
...
@@ -1213,14 +1219,12 @@ static int _kk_tsl_float_insert_json_item(_IN_ kk_tsl_data_t *data, _IN_ lite_cj
...
@@ -1213,14 +1219,12 @@ static int _kk_tsl_float_insert_json_item(_IN_ kk_tsl_data_t *data, _IN_ lite_cj
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
static
int
_kk_tsl_double_insert_json_item
(
_IN_
kk_tsl_data_t
*
data
,
_IN_
lite_cjson_item_t
*
lite
)
static
int
_kk_tsl_double_insert_json_item
(
_IN_
kk_tsl_data_t
*
data
,
_IN_
lite_cjson_item_t
*
lite
)
{
{
lite_cjson_add_number_to_object
(
lite
,
data
->
identifier
,
data
->
data_value
.
value_double
);
lite_cjson_add_number_to_object
(
lite
,
data
->
identifier
,
data
->
data_value
.
value_double
);
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
static
int
_kk_tsl_string_insert_json_item
(
_IN_
kk_tsl_data_t
*
data
,
_IN_
lite_cjson_item_t
*
lite
)
static
int
_kk_tsl_string_insert_json_item
(
_IN_
kk_tsl_data_t
*
data
,
_IN_
lite_cjson_item_t
*
lite
)
{
{
char
*
value
=
(
data
->
data_value
.
value
==
NULL
)
?
(
""
)
:
(
data
->
data_value
.
value
);
char
*
value
=
(
data
->
data_value
.
value
==
NULL
)
?
(
""
)
:
(
data
->
data_value
.
value
);
...
@@ -1263,7 +1267,6 @@ static int _kk_check_data(_IN_ kk_tsl_data_t *data)
...
@@ -1263,7 +1267,6 @@ static int _kk_check_data(_IN_ kk_tsl_data_t *data)
}
}
static
int
_kk_tsl_array_insert_json_item
(
_IN_
kk_tsl_data_t
*
data
,
_IN_
lite_cjson_item_t
*
lite
)
static
int
_kk_tsl_array_insert_json_item
(
_IN_
kk_tsl_data_t
*
data
,
_IN_
lite_cjson_item_t
*
lite
)
{
{
int
res
=
SUCCESS_RETURN
,
index
=
0
;
int
res
=
SUCCESS_RETURN
,
index
=
0
;
lite_cjson_item_t
*
array
=
NULL
,
*
array_item
=
NULL
;
lite_cjson_item_t
*
array
=
NULL
,
*
array_item
=
NULL
;
kk_tsl_data_value_complex_t
*
complex_array
=
NULL
;
kk_tsl_data_value_complex_t
*
complex_array
=
NULL
;
...
@@ -1454,7 +1457,6 @@ static int _kk_tsl_data_insert_json_item(_IN_ kk_tsl_data_t *data, _IN_ lite_cjs
...
@@ -1454,7 +1457,6 @@ static int _kk_tsl_data_insert_json_item(_IN_ kk_tsl_data_t *data, _IN_ lite_cjs
case
KK_TSL_DATA_TYPE_BOOL
:
case
KK_TSL_DATA_TYPE_BOOL
:
case
KK_TSL_DATA_TYPE_ENUM
:
{
case
KK_TSL_DATA_TYPE_ENUM
:
{
if
(
lite
->
type
==
cJSON_Array
)
{
if
(
lite
->
type
==
cJSON_Array
)
{
res
=
_kk_tsl_int_insert_json_item
(
data
,
data_object
);
res
=
_kk_tsl_int_insert_json_item
(
data
,
data_object
);
if
(
res
==
SUCCESS_RETURN
)
{
if
(
res
==
SUCCESS_RETURN
)
{
lite_cjson_add_item_to_array
(
lite
,
data_object
);
lite_cjson_add_item_to_array
(
lite
,
data_object
);
...
@@ -1523,7 +1525,6 @@ static int _kk_tsl_data_insert_json_item(_IN_ kk_tsl_data_t *data, _IN_ lite_cjs
...
@@ -1523,7 +1525,6 @@ static int _kk_tsl_data_insert_json_item(_IN_ kk_tsl_data_t *data, _IN_ lite_cjs
lite_cjson_add_item_to_array
(
lite
,
data_object
);
lite_cjson_add_item_to_array
(
lite
,
data_object
);
}
}
}
else
{
}
else
{
res
=
_kk_tsl_struct_insert_json_item
(
data
,
lite
);
res
=
_kk_tsl_struct_insert_json_item
(
data
,
lite
);
lite_cjson_delete
(
data_object
);
lite_cjson_delete
(
data_object
);
}
}
...
@@ -1553,7 +1554,7 @@ int kk_tsl_assemble_property(_IN_ kk_tsl_t *shadow, _IN_ char *identifier, _IN_
...
@@ -1553,7 +1554,7 @@ int kk_tsl_assemble_property(_IN_ kk_tsl_t *shadow, _IN_ char *identifier, _IN_
property
=
shadow
->
events
+
index
;
property
=
shadow
->
events
+
index
;
if
(
strcmp
(
property
->
identifier
,
"property"
)
==
0
||
if
(
strcmp
(
property
->
identifier
,
"property"
)
==
0
||
strcmp
(
property
->
identifier
,
"post"
)
==
0
)
strcmp
(
property
->
identifier
,
"post"
)
==
0
)
{
{
for
(
indexE
=
0
;
indexE
<
property
->
output_data_number
;
indexE
++
){
for
(
indexE
=
0
;
indexE
<
property
->
output_data_number
;
indexE
++
){
output_data
=
property
->
output_datas
+
indexE
;
output_data
=
property
->
output_datas
+
indexE
;
if
((
strlen
(
output_data
->
identifier
)
==
identifier_len
)
&&
if
((
strlen
(
output_data
->
identifier
)
==
identifier_len
)
&&
...
@@ -1566,7 +1567,6 @@ int kk_tsl_assemble_property(_IN_ kk_tsl_t *shadow, _IN_ char *identifier, _IN_
...
@@ -1566,7 +1567,6 @@ int kk_tsl_assemble_property(_IN_ kk_tsl_t *shadow, _IN_ char *identifier, _IN_
return
FAIL_RETURN
;
return
FAIL_RETURN
;
}
}
}
}
}
}
}
}
...
...
midware/tsl/tsl_handle/kk_utils.c
View file @
46f832d8
...
@@ -266,7 +266,7 @@ int kk_utils_ftoa_direct(_IN_ double input, _OU_ char **output)
...
@@ -266,7 +266,7 @@ int kk_utils_ftoa_direct(_IN_ double input, _OU_ char **output)
}
}
int
kk_utils_json_parse
(
_IN_
const
char
*
payload
,
_IN_
int
payload_len
,
_IN_
int
type
,
_OU_
lite_cjson_t
*
lite
)
int
kk_utils_json_parse
(
_IN_
const
char
*
payload
,
_IN_
int
payload_len
,
_IN_
int
type
,
_OU_
lite_cjson_t
*
lite
)
{
{
int
res
=
0
;
int
res
=
0
;
if
(
payload
==
NULL
||
payload_len
<=
0
||
type
<
0
||
lite
==
NULL
)
{
if
(
payload
==
NULL
||
payload_len
<=
0
||
type
<
0
||
lite
==
NULL
)
{
...
@@ -286,11 +286,11 @@ int kk_utils_json_parse(_IN_ const char *payload, _IN_ int payload_len, _IN_ int
...
@@ -286,11 +286,11 @@ int kk_utils_json_parse(_IN_ const char *payload, _IN_ int payload_len, _IN_ int
}
}
return
SUCCESS_RETURN
;
return
SUCCESS_RETURN
;
}
}
int
kk_utils_json_object_item
(
_IN_
lite_cjson_t
*
lite
,
_IN_
const
char
*
key
,
_IN_
int
key_len
,
_IN_
int
type
,
int
kk_utils_json_object_item
(
_IN_
lite_cjson_t
*
lite
,
_IN_
const
char
*
key
,
_IN_
int
key_len
,
_IN_
int
type
,
_OU_
lite_cjson_t
*
lite_item
)
_OU_
lite_cjson_t
*
lite_item
)
{
{
int
res
=
0
;
int
res
=
0
;
if
(
lite
==
NULL
||
lite
->
type
!=
cJSON_Object
||
key
==
NULL
||
key_len
<=
0
||
type
<
0
||
lite_item
==
NULL
)
{
if
(
lite
==
NULL
||
lite
->
type
!=
cJSON_Object
||
key
==
NULL
||
key_len
<=
0
||
type
<
0
||
lite_item
==
NULL
)
{
...
@@ -316,4 +316,4 @@ int kk_utils_json_parse(_IN_ const char *payload, _IN_ int payload_len, _IN_ int
...
@@ -316,4 +316,4 @@ int kk_utils_json_parse(_IN_ const char *payload, _IN_ int payload_len, _IN_ int
}
}
return
SUCCESS_RETURN
;
return
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