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
b804d326
Commit
b804d326
authored
Aug 31, 2021
by
尹佳钦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【20210831】修复局越网地暖控制上报问题。优化配置表解析。
parent
9da143b4
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
721 additions
and
584 deletions
+721
-584
application/kcloud/kcloud_main.c
application/kcloud/kcloud_main.c
+18
-18
application/kcloud/kk_info_report.c
application/kcloud/kk_info_report.c
+123
-123
application/kcloud/kk_register.c
application/kcloud/kk_register.c
+191
-192
application/kcloud/mqtt_api.c
application/kcloud/mqtt_api.c
+4
-4
application/klansdk/kk_ccu_msg.c
application/klansdk/kk_ccu_msg.c
+163
-100
application/klansdk/kk_data_handle.c
application/klansdk/kk_data_handle.c
+5
-6
application/klansdk/kk_lan_ctrl.c
application/klansdk/kk_lan_ctrl.c
+11
-11
application/klansdk/kk_lan_debug.h
application/klansdk/kk_lan_debug.h
+11
-9
application/klansdk/kk_lan_main.c
application/klansdk/kk_lan_main.c
+44
-4
application/klansdk/kk_lan_sync.c
application/klansdk/kk_lan_sync.c
+6
-3
application/klansdk/kk_lan_voice_panel.c
application/klansdk/kk_lan_voice_panel.c
+3
-3
application/klansdk/kk_lan_vp_ctrl.c
application/klansdk/kk_lan_vp_ctrl.c
+5
-3
application/klansdk/kk_oldccu_msg.c
application/klansdk/kk_oldccu_msg.c
+77
-41
application/klansdk/kk_voice_panel_handle.h
application/klansdk/kk_voice_panel_handle.h
+2
-2
opcodeMapCfg/device_3024.json
opcodeMapCfg/device_3024.json
+56
-56
opcodeMapCfg/device_3029.json
opcodeMapCfg/device_3029.json
+2
-9
No files found.
application/kcloud/kcloud_main.c
View file @
b804d326
...
...
@@ -29,31 +29,31 @@
//#include "kcloud_log.h"
static
char
s_ccuid
[
DEVICE_CODE_LEN
]
=
{
0
};
int
KK_Get_ccuid
(
_OU_
char
*
device_code
)
{
strncpy
(
device_code
,
s_ccuid
,
strlen
(
s_ccuid
));
printf
(
"HAL_Get_ccuid:%s
\n
"
,
s_ccuid
);
return
strlen
(
s_ccuid
);
{
strncpy
(
device_code
,
s_ccuid
,
strlen
(
s_ccuid
));
printf
(
"HAL_Get_ccuid:%s
\n
"
,
s_ccuid
);
return
strlen
(
s_ccuid
);
}
static
int
_setDevice_Code
(
_IN_
char
*
device_code
,
int
len
)
{
memset
(
s_ccuid
,
0x0
,
DEVICE_CODE_LEN
);
printf
(
"_setDevice_Code:%s
\n
"
,
device_code
);
strncpy
(
s_ccuid
,
device_code
,
len
);
return
len
;
memset
(
s_ccuid
,
0x0
,
DEVICE_CODE_LEN
);
printf
(
"_setDevice_Code:%s
\n
"
,
device_code
);
strncpy
(
s_ccuid
,
device_code
,
len
);
return
len
;
}
static
void
KK_Ccuid_init
(
void
)
{
uint8_t
ccuid
[
DEVICE_CODE_LEN
]
=
{
0
};
uint8_t
ccuid
[
DEVICE_CODE_LEN
]
=
{
0
};
uint8_t
ccuidTmp
[
DEVICE_CODE_LEN
]
=
{
0
};
int
ccuid_len
=
0
;
HAL_Execel_cmd
(
GET_CCUID_CMD
,(
char
*
)
ccuid
,
sizeof
(
ccuid
),
&
ccuid_len
);
printf
(
"GET_CCUID_CMD:%s
\n
"
,
ccuid
);
if
(
ccuid_len
>
0
&&
ccuid_len
<=
DEVICE_CODE_LEN
){
int
ccuid_len
=
0
;
HAL_Execel_cmd
(
GET_CCUID_CMD
,(
char
*
)
ccuid
,
sizeof
(
ccuid
),
&
ccuid_len
);
printf
(
"GET_CCUID_CMD:%s
\n
"
,
ccuid
);
if
(
ccuid_len
>
0
&&
ccuid_len
<=
DEVICE_CODE_LEN
){
sprintf
(
ccuidTmp
,
"CCU_%s"
,
ccuid
);
_setDevice_Code
(
ccuidTmp
,
strlen
(
ccuidTmp
)
-
1
);
//减一是因为最后有一个换行
}
else
{
_setDevice_Code
(
KK_CCU_ID
,
strlen
(
KK_CCU_ID
));
}
_setDevice_Code
(
ccuidTmp
,
strlen
(
ccuidTmp
)
-
1
);
//减一是因为最后有一个换行
}
else
{
_setDevice_Code
(
KK_CCU_ID
,
strlen
(
KK_CCU_ID
));
}
}
static
int
mqtt_start
(
void
)
{
...
...
@@ -102,7 +102,7 @@ int main(int argc, char* argv[])
KK_Ccuid_init
();
kk_ipc_init
(
IPC_APP2MID
,(
ipc_cb
*
)
KK_Data_FromDev
,
NULL
,
NULL
);
kk_info_report_start
();
again:
again:
rc
=
kk_start_ccu_register
();
if
(
rc
==
0
){
rc
=
mqtt_start
();
...
...
application/kcloud/kk_info_report.c
View file @
b804d326
...
...
@@ -23,146 +23,146 @@ extern int kk_get_gw_status(void);
#define TO_OLED_NANOMSG_SOCKET_ADDR "ipc:///tmp/oled_pair.ipc"
static
int
kk_info_nanomsg_init
(
void
)
{
int
socketfd
=
0
;
socketfd
=
nn_socket
(
AF_SP
,
NN_PAIR
);
if
(
socketfd
<
0
){
return
-
1
;
}
int
socketfd
=
0
;
socketfd
=
nn_socket
(
AF_SP
,
NN_PAIR
);
if
(
socketfd
<
0
){
return
-
1
;
}
if
(
nn_connect
(
socketfd
,
TO_OLED_NANOMSG_SOCKET_ADDR
)
<
0
){
WARNING_PRINT
(
"[%s][%d]connect fail!!!
\n
"
,
__FUNCTION__
,
__LINE__
);
return
-
1
;
}
return
socketfd
;
}
return
socketfd
;
}
static
int
kk_info_get
(
char
*
str
)
{
int
ret
=
0
;
char
version
[
VERSION_MAXLEN
]
=
{
0
};
char
*
str_tmp
=
NULL
;
char
ccuid
[
32
]
=
{
0
};
if
(
str
==
NULL
){
return
-
1
;
}
HAL_GetVersion
(
version
);
KK_Get_ccuid
(
ccuid
);
cJSON
*
root
=
cJSON_CreateObject
();
if
(
root
)
{
cJSON
*
args
=
cJSON_CreateObject
();
if
(
args
)
{
cJSON_AddItemToObject
(
root
,
"args"
,
args
);
int
ret
=
0
;
char
version
[
VERSION_MAXLEN
]
=
{
0
};
char
*
str_tmp
=
NULL
;
char
ccuid
[
32
]
=
{
0
};
if
(
str
==
NULL
){
return
-
1
;
}
//HAL_GetVersion(version);
cJSON
*
ccu
=
cJSON_CreateObject
();
if
(
ccu
)
{
char
status
[
4
]
=
{
0
};
KK_Get_ccuid
(
ccuid
);
cJSON
*
root
=
cJSON_CreateObject
();
if
(
root
)
{
cJSON
*
args
=
cJSON_CreateObject
();
if
(
args
)
{
cJSON_AddItemToObject
(
root
,
"args"
,
args
);
cJSON_AddItemToObject
(
args
,
"ccu"
,
ccu
);
cJSON_AddStringToObject
(
ccu
,
"id"
,
&
ccuid
[
4
]);
cJSON_AddStringToObject
(
ccu
,
"version"
,
version
);
cJSON_AddStringToObject
(
ccu
,
"name"
,
"kk_new_ccu"
);
//INFO_PRINT("---222kk_get_cloud_status():%d\n",kk_get_cloud_status());
//if(kk_get_gw_status() == DEVICE_OFFLINE){
//memcpy(status,"2",strlen("2"));
//}
if
(
kk_get_cloud_status
()
==
DEVICE_OFFLINE
)
{
//cJSON_AddStringToObject(ccu, "status", "1");
//INFO_PRINT("_-----------------------------------------------------------11\n");
memcpy
(
status
,
"1"
,
strlen
(
"1"
));
}
else
{
//INFO_PRINT("_-----------------------------------------------------------22\n");
memcpy
(
status
,
"0"
,
strlen
(
"0"
));
}
//INFO_PRINT("------------------------------------->status :%s\n",status);
cJSON
*
ccu
=
cJSON_CreateObject
();
if
(
ccu
)
{
char
status
[
4
]
=
{
0
};
cJSON_AddStringToObject
(
ccu
,
"status"
,
status
);
}
cJSON
*
net
=
cJSON_CreateObject
();
if
(
net
)
{
char
s_IP
[
NETWORK_ADDR_LEN
]
=
{
0
};
HAL_Get_IP
(
s_IP
,
NULL
);
cJSON_AddItemToObject
(
args
,
"net"
,
net
);
cJSON_AddStringToObject
(
net
,
"interface"
,
CCU_LAN
);
cJSON_AddStringToObject
(
net
,
"ip"
,
s_IP
);
}
cJSON
*
lsc_status
=
cJSON_CreateObject
();
if
(
lsc_status
)
{
cJSON_AddStringToObject
(
args
,
"lsc_status"
,
"1"
);
}
cJSON_AddItemToObject
(
args
,
"ccu"
,
ccu
);
cJSON_AddStringToObject
(
ccu
,
"id"
,
&
ccuid
[
4
]);
cJSON_AddStringToObject
(
ccu
,
"version"
,
version
);
cJSON_AddStringToObject
(
ccu
,
"name"
,
"kk_new_ccu"
);
//INFO_PRINT("---222kk_get_cloud_status():%d\n",kk_get_cloud_status());
//if(kk_get_gw_status() == DEVICE_OFFLINE){
//memcpy(status,"2",strlen("2"));
//}
if
(
kk_get_cloud_status
()
==
DEVICE_OFFLINE
)
{
//cJSON_AddStringToObject(ccu, "status", "1");
//INFO_PRINT("_-----------------------------------------------------------11\n");
memcpy
(
status
,
"1"
,
strlen
(
"1"
));
}
else
{
//INFO_PRINT("_-----------------------------------------------------------22\n");
memcpy
(
status
,
"0"
,
strlen
(
"0"
));
}
//INFO_PRINT("------------------------------------->status :%s\n",status);
cJSON
*
qr_code
=
cJSON_CreateObject
();
if
(
qr_code
)
{
char
qrcodeStr
[
256
]
=
{
0
};
sprintf
(
qrcodeStr
,
"KONKE-CCU:%s:%s:BBE3C5A5FC1FDB6CA1A386AB321D02AB"
,
KK_CCU_PRODUCTID
,
&
ccuid
[
4
]);
cJSON_AddItemToObject
(
args
,
"qr_code"
,
qr_code
);
cJSON_AddStringToObject
(
qr_code
,
"string"
,
qrcodeStr
);
cJSON_AddBoolToObject
(
qr_code
,
"show"
,
1
);
}
cJSON
*
service
=
cJSON_CreateObject
();
if
(
service
)
{
cJSON_AddStringToObject
(
args
,
"service"
,
"1"
);
}
}
str_tmp
=
cJSON_PrintUnformatted
(
root
);
//INFO_PRINT("JSON %s\r\n", str_tmp);
strcpy
(
str
,
str_tmp
);
free
(
str_tmp
);
cJSON_Delete
(
root
);
}
else
{
ret
=
-
1
;
}
return
ret
;
cJSON_AddStringToObject
(
ccu
,
"status"
,
status
);
}
cJSON
*
net
=
cJSON_CreateObject
();
if
(
net
)
{
char
s_IP
[
NETWORK_ADDR_LEN
]
=
{
0
};
HAL_Get_IP
(
s_IP
,
NULL
);
cJSON_AddItemToObject
(
args
,
"net"
,
net
);
cJSON_AddStringToObject
(
net
,
"interface"
,
CCU_LAN
);
cJSON_AddStringToObject
(
net
,
"ip"
,
s_IP
);
}
cJSON
*
lsc_status
=
cJSON_CreateObject
();
if
(
lsc_status
)
{
cJSON_AddStringToObject
(
args
,
"lsc_status"
,
"1"
);
}
cJSON
*
qr_code
=
cJSON_CreateObject
();
if
(
qr_code
)
{
char
qrcodeStr
[
256
]
=
{
0
};
sprintf
(
qrcodeStr
,
"KONKE-CCU:%s:%s:BBE3C5A5FC1FDB6CA1A386AB321D02AB"
,
KK_CCU_PRODUCTID
,
&
ccuid
[
4
]);
cJSON_AddItemToObject
(
args
,
"qr_code"
,
qr_code
);
cJSON_AddStringToObject
(
qr_code
,
"string"
,
qrcodeStr
);
cJSON_AddBoolToObject
(
qr_code
,
"show"
,
1
);
}
cJSON
*
service
=
cJSON_CreateObject
();
if
(
service
)
{
cJSON_AddStringToObject
(
args
,
"service"
,
"1"
);
}
}
str_tmp
=
cJSON_PrintUnformatted
(
root
);
//INFO_PRINT("JSON %s\r\n", str_tmp);
strcpy
(
str
,
str_tmp
);
free
(
str_tmp
);
cJSON_Delete
(
root
);
}
else
{
ret
=
-
1
;
}
return
ret
;
}
//static int
void
*
kk_info_nanomsg_send
(
void
*
data
)
{
int
ret
=
0
;
char
str
[
1024
]
=
{
0
};
int
socketfd
=
kk_info_nanomsg_init
();
if
(
socketfd
<
0
){
return
NULL
;
}
while
(
1
){
memset
(
str
,
0x0
,
sizeof
(
str
));
ret
=
kk_info_get
(
str
);
if
(
ret
==
0
){
//printf("*********nn_send***********\n");
ret
=
nn_send
(
socketfd
,
str
,
strlen
(
str
),
1
);
if
(
ret
<
0
)
{
//WARNING_PRINT("[%s][%d]nn_send fail!!!\n",__FUNCTION__,__LINE__);
}
}
sleep
(
10
);
}
int
ret
=
0
;
char
str
[
1024
]
=
{
0
};
int
socketfd
=
kk_info_nanomsg_init
();
if
(
socketfd
<
0
){
return
NULL
;
}
while
(
1
){
memset
(
str
,
0x0
,
sizeof
(
str
));
ret
=
kk_info_get
(
str
);
if
(
ret
==
0
){
//printf("*********nn_send***********\n");
ret
=
nn_send
(
socketfd
,
str
,
strlen
(
str
),
1
);
if
(
ret
<
0
)
{
//WARNING_PRINT("[%s][%d]nn_send fail!!!\n",__FUNCTION__,__LINE__);
}
}
sleep
(
10
);
}
}
int
kk_info_report_start
(
void
)
{
int
rc
;
pthread_t
info_report_thread
;
pthread_attr_t
info_report_attr
;
pthread_mutex_init
(
&
s_data_mutex
,
NULL
);
/*创建线程*/
pthread_attr_init
(
&
info_report_attr
);
size_t
s
=
1500
;
pthread_attr_setstacksize
(
&
info_report_attr
,
s
);
pthread_attr_setdetachstate
(
&
info_report_attr
,
PTHREAD_CREATE_JOINABLE
);
rc
=
pthread_create
(
&
info_report_thread
,
&
info_report_attr
,
kk_info_nanomsg_send
,
(
void
*
)
NULL
);
//收数据
if
(
rc
)
{
WARNING_PRINT
(
"Error : unable to create thread udp_recv
\r\n
"
);
return
-
1
;
}
pthread_attr_destroy
(
&
info_report_attr
);
return
0
;
int
rc
;
pthread_t
info_report_thread
;
pthread_attr_t
info_report_attr
;
pthread_mutex_init
(
&
s_data_mutex
,
NULL
);
/*创建线程*/
pthread_attr_init
(
&
info_report_attr
);
size_t
s
=
1500
;
pthread_attr_setstacksize
(
&
info_report_attr
,
s
);
pthread_attr_setdetachstate
(
&
info_report_attr
,
PTHREAD_CREATE_JOINABLE
);
rc
=
pthread_create
(
&
info_report_thread
,
&
info_report_attr
,
kk_info_nanomsg_send
,
(
void
*
)
NULL
);
//收数据
if
(
rc
)
{
WARNING_PRINT
(
"Error : unable to create thread udp_recv
\r\n
"
);
return
-
1
;
}
pthread_attr_destroy
(
&
info_report_attr
);
return
0
;
}
\ No newline at end of file
application/kcloud/kk_register.c
View file @
b804d326
This diff is collapsed.
Click to expand it.
application/kcloud/mqtt_api.c
View file @
b804d326
...
...
@@ -205,10 +205,10 @@ MQTTAsync KK_MQTT_Connect(void)
char
token
[
512
]
=
{
0
};
char
usrname
[
128
]
=
{
0
};
fp
=
fopen
(
KK_TOKEN_PATH
,
"r"
);
if
(
fp
!=
NULL
){
fread
(
token
,
1
,
sizeof
(
token
),
fp
);
fclose
(
fp
);
}
if
(
fp
!=
NULL
){
fread
(
token
,
1
,
sizeof
(
token
),
fp
);
fclose
(
fp
);
}
HAL_Get_mac
(
mac
);
char
ccuid
[
32
]
=
{
0
};
KK_Get_ccuid
(
ccuid
);
...
...
application/klansdk/kk_ccu_msg.c
View file @
b804d326
This diff is collapsed.
Click to expand it.
application/klansdk/kk_data_handle.c
View file @
b804d326
...
...
@@ -114,7 +114,7 @@ void kk_handle_sync_info(void)
return
;
}
debug_log
(
LOG_INFO
,
"[sync] send.
\n
"
);
debug_log
(
LOG_INFO
_LEVEL
,
"[sync] send.
\n
"
);
kk_ipc_send
(
IPC_APP2MID
,
send_data
,
strlen
(
send_data
)
+
1
);
free
(
send_data
);
...
...
@@ -354,7 +354,6 @@ int kk_data_handle(cJSON *json,int sockfd)
cJSON
*
opcode
=
NULL
;
cJSON
*
arg
=
NULL
;
opcode
=
cJSON_GetObjectItem
(
json
,
OPCODE_STRING
);
if
(
opcode
!=
NULL
){
if
(
strcmp
(
opcode
->
valuestring
,
LOGIN_OPCODE
)
==
0
){
...
...
@@ -712,18 +711,18 @@ static int kk_lan_scene_handle(cJSON *payload,int isAdd)
cJSON
*
sceneId
=
NULL
;
if
(
payload
==
NULL
){
debug_log
(
LOG_DEBUG
,
"[err] payload.
\n
"
);
debug_log
(
LOG_DEBUG
_LEVEL
,
"[err] payload.
\n
"
);
return
-
1
;
}
if
((
params
=
cJSON_GetObjectItem
(
payload
,
MSG_PARAMS_STR
))
==
NULL
||
params
->
type
!=
cJSON_Object
){
debug_log
(
LOG_DEBUG
,
"[err] params err.
\n
"
);
debug_log
(
LOG_DEBUG
_LEVEL
,
"[err] params err.
\n
"
);
return
-
1
;
}
if
((
sceneId
=
cJSON_GetObjectItem
(
params
,
MSG_SCENE_SCENEID
))
==
NULL
||
sceneId
->
type
!=
cJSON_String
){
debug_log
(
LOG_DEBUG
,
"[err] sceneId err.
\n
"
);
debug_log
(
LOG_DEBUG
_LEVEL
,
"[err] sceneId err.
\n
"
);
return
-
1
;
}
...
...
@@ -745,7 +744,7 @@ void KK_Data_FromMid(void* str,int len)
cJSON
*
info
=
NULL
,
*
payload
=
NULL
;
cJSON
*
msgtype
=
NULL
,
*
deviceCode
=
NULL
,
*
productCode
=
NULL
;
debug_log
(
LOG_FOCUS
,
"[midware->lan] len=%d,data=%s
\n
"
,
len
,
str
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"[midware->lan] len=%d,data=%s
\n
"
,
len
,
str
);
if
((
json
=
cJSON_Parse
(
str
))
==
NULL
)
{
return
;
...
...
application/klansdk/kk_lan_ctrl.c
View file @
b804d326
...
...
@@ -69,34 +69,34 @@ cJSON * kk_control_protocol_convert(kk_map_dev_node_t *devNode,int nodeId,cJSON
pos
=
match_opcode_pos
(
devNode
->
oldccu
,
opcode
->
valuestring
,
channel
);
if
(
pos
==-
1
){
debug_log
(
LOG_FOCUS
,
"not find
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"not find
\n
"
);
return
NULL
;
}
debug_log
(
LOG_FOCUS
,
"1
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"1
\n
"
);
newccuItem
=
cJSON_GetArrayItem
(
devNode
->
newccu
,
pos
);
oldccuItem
=
cJSON_GetArrayItem
(
devNode
->
oldccu
,
pos
);
debug_log
(
LOG_FOCUS
,
"2
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"2
\n
"
);
o_dataType
=
cJSON_GetObjectItem
(
oldccuItem
,
"dataType"
);
o_valueRange
=
cJSON_GetObjectItem
(
oldccuItem
,
"valueRange"
);
debug_log
(
LOG_FOCUS
,
"3
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"3
\n
"
);
n_dataType
=
cJSON_GetObjectItem
(
newccuItem
,
"dataType"
);
n_valueRange
=
cJSON_GetObjectItem
(
newccuItem
,
"valueRange"
);
n_identifier
=
cJSON_GetObjectItem
(
newccuItem
,
"identifier"
);
epNum
=
cJSON_GetObjectItem
(
newccuItem
,
"channel"
);
debug_log
(
LOG_FOCUS
,
"4
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"4
\n
"
);
if
(
strcmp
(
o_dataType
->
valuestring
,
"map"
)
==
0
){
debug_log
(
LOG_FOCUS
,
"5
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"5
\n
"
);
val
=
map_type_convert
(
o_dataType
,
o_valueRange
,
arg
,
n_valueRange
);
}
else
{
debug_log
(
LOG_FOCUS
,
"6
\n
"
);
val
=
msg_convert_value
(
o_dataType
,
n
_dataType
,
arg
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"6
\n
"
);
val
=
msg_convert_value
(
n_dataType
,
o
_dataType
,
arg
);
}
debug_log
(
LOG_FOCUS
,
"7
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"7
\n
"
);
cJSON_AddStringToObject
(
params
,
"epNum"
,
epNum
->
valuestring
);
debug_log
(
LOG_FOCUS
,
"8
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"8
\n
"
);
if
(
val
->
type
==
cJSON_False
){
cJSON_AddFalseToObject
(
params
,
n_identifier
->
valuestring
);
...
...
@@ -111,7 +111,7 @@ cJSON * kk_control_protocol_convert(kk_map_dev_node_t *devNode,int nodeId,cJSON
}
else
if
(
val
->
type
==
cJSON_Array
){
printf
(
"......................
\n
"
);
}
debug_log
(
LOG_FOCUS
,
"9
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"9
\n
"
);
return
params
;
}
...
...
application/klansdk/kk_lan_debug.h
View file @
b804d326
...
...
@@ -4,13 +4,15 @@
#include <stdio.h>
#include <time.h>
#define LOG_NORMAL 1 //亮白色
#define LOG_DEBUG 2 //绿色
#define LOG_INFO 3 //蓝色
#define LOG_FOCUS 4 //黄色
#define LOG_WARNING 5 //蓝绿色
#define LOG_ERROR 6 //紫色
#define LOG_CRITICAL 7 //红色
#define LOG_NORMAL_LEVEL 1 //亮白色
#define LOG_DEBUG_LEVEL 2 //绿色
#define LOG_INFO_LEVEL 3 //蓝色
#define LOG_FOCUS_LEVEL 4 //黄色
#define LOG_WARNING_LEVEL 5 //蓝绿色
#define LOG_ERROR_LEVEL 6 //紫色
#define LOG_CRITICAL_LEVEL 7 //红色
#define LOG_NORMAL_ACT "\033[0;1;37m"
#define LOG_DEBUG_ACT "\033[0;1;32m"
...
...
@@ -23,7 +25,7 @@
#define syslog_en 1
#define LOG_LEVEL LOG_NORMAL
#define LOG_LEVEL LOG_NORMAL
_LEVEL
#define LOG_LEVEL_1 LOG_NORMAL_ACT
...
...
@@ -48,7 +50,7 @@
#if (syslog_en)
#define debug_log(level,format,...) do { \
if( level >= LOG_LEVEL && level <= LOG_CRITICAL) { \
if( level >= LOG_LEVEL && level <= LOG_CRITICAL
_LEVEL
) { \
char buff[64] = {0};\
time_t curTime = time(NULL); \
struct tm *c = gmtime(&curTime);\
...
...
application/klansdk/kk_lan_main.c
View file @
b804d326
...
...
@@ -66,15 +66,55 @@ static void kk_lan_ccuid_init(void)
}
}
int
prg_run_singleton
(
const
char
*
prg
)
{
int
fd
;
int
ret
;
char
pid_file
[
256
]
=
{
0
};
char
pid_data
[
32
]
=
{
0
};
struct
flock
fl
;
if
(
prg
==
NULL
){
return
-
1
;
}
memset
(
pid_file
,
0
,
sizeof
(
pid_file
));
snprintf
(
pid_file
,
sizeof
(
pid_file
),
"/var/run/%s.pid"
,
prg
);
fd
=
open
(
pid_file
,
O_CREAT
|
O_WRONLY
|
O_TRUNC
,
0644
);
if
(
fd
<
0
){
return
-
1
;
}
fl
.
l_type
=
F_WRLCK
;
fl
.
l_start
=
0
;
fl
.
l_whence
=
SEEK_SET
;
fl
.
l_len
=
0
;
ret
=
fcntl
(
fd
,
F_SETLK
,
&
fl
);
if
(
ret
<
0
){
return
-
1
;
}
memset
(
pid_data
,
0
,
sizeof
(
pid_data
));
snprintf
(
pid_data
,
sizeof
(
pid_data
),
"%d"
,
getpid
());
return
write
(
fd
,
pid_data
,
strlen
(
pid_data
));
}
int
main
(
int
argc
,
char
*
argv
[])
{
int
r
c
=
0
;
char
*
ppp
;
int
r
et
=
0
;
open
(
"kk_lan"
,
LOG_PID
,
LOG_USER
);
if
(
prg_run_singleton
(
argv
[
0
])
<
0
){
debug_log
(
LOG_CRITICAL_LEVEL
,
"[%s]run singleton fail!
\n
"
,
argv
[
0
]);
return
-
1
;
}
kk_lan_ccuid_init
();
/*set the callback to get the device date to cloud*/
...
...
@@ -82,7 +122,7 @@ int main(int argc, char* argv[])
kk_findccu_handle_init
();
kk_map_dev_init
();
kk_login_init
();
kk_voice_panel_init
(
argc
,
argv
);
//
kk_voice_panel_init(argc,argv);
//lan_queue_init();
kk_lan_db_node_init
();
...
...
@@ -91,6 +131,6 @@ int main(int argc, char* argv[])
while
(
1
){
sleep
(
1
);
}
return
rc
;
return
0
;
}
application/klansdk/kk_lan_sync.c
View file @
b804d326
...
...
@@ -428,7 +428,7 @@ int kk_sync_devices_to_sdk(cJSON *root,cJSON *data)
//
cJSON
*
_kk_sync_devicestatus_arg_build
(
kk_map_dev_node_t
*
node
)
{
int
i
,
num
=
0
;
int
i
,
num
=
0
,
n_num
=
0
,
o_num
=
0
;
cJSON
*
newccu
,
*
oldccu
;
cJSON
*
arg
=
cJSON_CreateObject
();
...
...
@@ -445,12 +445,15 @@ cJSON *_kk_sync_devicestatus_arg_build(kk_map_dev_node_t *node)
return
arg
;
}
n_num
=
cJSON_GetArraySize
(
newccu
);
o_num
=
cJSON_GetArraySize
(
oldccu
);
num
=
(
n_num
>
o_num
)
?
n_num
:
o_num
;
num
=
cJSON_GetArraySize
(
newccu
);
for
(
i
=
0
;
i
<
num
;
i
++
){
cJSON
*
newccuItem
=
cJSON_GetArrayItem
(
newccu
,
i
);
cJSON
*
oldccuItem
=
cJSON_GetArrayItem
(
oldccu
,
i
);
cJSON
*
val
=
NULL
;
cJSON
*
synType
=
cJSON_GetObjectItem
(
oldccuItem
,
"synType"
);
...
...
application/klansdk/kk_lan_voice_panel.c
View file @
b804d326
...
...
@@ -315,7 +315,7 @@ void *kk_vp_manage_thread(void *arg)
break
;
case
UPDATING_8009_CONFIG_FILE_INFO
:
debug_log
(
LOG_INFO
,
"updating...
\n
"
);
debug_log
(
LOG_INFO
_LEVEL
,
"updating...
\n
"
);
sleep
(
1
);
//todo :超时取消
break
;
...
...
@@ -357,7 +357,7 @@ void kk_voice_panel_uart_dev_chose(int argc, char* argv[])
{
NULL
,
0
,
NULL
,
0
},
};
debug_log
(
LOG_FOCUS
,
"kk_voice_panel_uart_dev_chose
\n
"
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"kk_voice_panel_uart_dev_chose
\n
"
);
while
((
opt
=
getopt_long_only
(
argc
,
argv
,
string
,
long_options
,
&
option_index
))
!=
-
1
)
{
if
(
opt
==
0xAA5555AA
){
...
...
@@ -372,7 +372,7 @@ void kk_voice_panel_uart_dev_chose(int argc, char* argv[])
snprintf
(
serialDev
,
sizeof
(
serialDev
),
"%s"
,
SERIAL_NAME
);
}
debug_log
(
LOG_FOCUS
,
"serialDev=%s
\n
"
,
serialDev
);
debug_log
(
LOG_FOCUS
_LEVEL
,
"serialDev=%s
\n
"
,
serialDev
);
}
int
kk_voice_panel_init
(
int
argc
,
char
*
argv
[])
...
...
application/klansdk/kk_lan_vp_ctrl.c
View file @
b804d326
...
...
@@ -46,16 +46,18 @@ static KK_VP_CTRL vp_ctrl_table[]={
{
is_outlet_dev
,
outlet_dev_handle
}
};
static
int
light_dev_pid
[]
=
{
3023
,
3024
30
01
,
3002
,
3003
,
3022
,
30
23
,
3024
};
static
int
curtain_dev_pid
[]
=
{
3067
30
05
,
3006
,
3007
,
3008
,
3009
,
3010
,
3011
,
3026
,
3027
,
30
67
};
static
int
outlet_dev_pid
[]
=
{
30
20
30
19
,
3020
,
3037
,
3038
};
...
...
application/klansdk/kk_oldccu_msg.c
View file @
b804d326
This diff is collapsed.
Click to expand it.
application/klansdk/kk_voice_panel_handle.h
View file @
b804d326
...
...
@@ -6,9 +6,9 @@
#include "kk_voice_panel_cfg.h"
#define VP_CONFIG_FILE_MD5 "voice_data.MD5"
#define VP_CONFIG_FILE "/etc/smarthome/voice_data.json"
#define VP_CONFIG_FILE_TAR_GZ "voice_data.tar.gz"
#define VP_CONFIG_FILE_MD5 "/data/kk/voice_data.MD5"
#define VP_CONFIG_FILE_TAR_GZ "/data/kk/voice_data.tar.gz"
#define OPCODE_8009_SNAPSHOOT 0x1000
...
...
opcodeMapCfg/device_3024.json
View file @
b804d326
{
"productCode"
:
"3024"
,
"operateType"
:
"3"
,
"channel"
:
3
,
"newccu"
:[
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
}
],
"oldccu"
:[
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"1"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"2"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"3"
,
"valueRange"
:[
"OFF"
,
"ON"
]
}
]
}
{
"productCode"
:
"3024"
,
"operateType"
:
"3"
,
"channel"
:
3
,
"newccu"
:[
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"1"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"2"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
},
{
"identifier"
:
"PowerSwitch"
,
"opcodemap"
:
"SWITCH"
,
"dataType"
:
"int"
,
"channel"
:
"3"
,
"valueRange"
:[
0
,
1
],
"value"
:
0
}
],
"oldccu"
:[
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"1"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"2"
,
"valueRange"
:[
"OFF"
,
"ON"
]
},
{
"opcode"
:
"SWITCH"
,
"identifiermap"
:
"PowerSwitch"
,
"dataType"
:
"map"
,
"channel"
:
"3"
,
"valueRange"
:[
"OFF"
,
"ON"
]
}
]
}
\ No newline at end of file
opcodeMapCfg/device_3029.json
View file @
b804d326
...
...
@@ -47,13 +47,6 @@
"channel"
:
"1"
,
"valueRange"
:[],
"value"
:
22
},{
"identifier"
:
"time_off"
,
"opcodemap"
:
"FLOOR_HEATING_DEV_STATUS"
,
"dataType"
:
"dummy"
,
"channel"
:
"1"
,
"valueRange"
:[],
"value"
:
0
}
],
"oldccu"
:[
...
...
@@ -76,7 +69,7 @@
},{
"opcode"
:
"SET_WORK_TEMPERATURE"
,
"identifiermap"
:
"Temperature"
,
"dataType"
:
"double"
,
"dataType"
:
"
string_
double"
,
"channel"
:
"1"
,
"valueRange"
:[],
"syn"
:
"work_temperature"
,
...
...
@@ -84,7 +77,7 @@
},{
"opcode"
:
"FLOOR_HEATING_SET_TIME_OFF"
,
"identifiermap"
:
"TimingOffTime"
,
"dataType"
:
"
double
"
,
"dataType"
:
"
fit
"
,
"channel"
:
"1"
,
"valueRange"
:[],
"syn"
:
"time_off"
,
...
...
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