Commit a5e76e77 authored by 陈伟灿's avatar 陈伟灿

Merge branch 'cwc' into 'master'

Cwc

See merge request chenweican/k-sdk!160
parents fa827093 cb78b59c
1.3.0
\ No newline at end of file
1.4.1
\ No newline at end of file
......@@ -25,5 +25,6 @@ int KK_Get_ccuid( char *device_code);
int kk_check_config_file(char* path,char **config);
int kk_cloud_get_pid(char *productId);
int kk_cloud_get_key(char *key);
int KK_Send_CloudHB2Mid(int state);
#endif
......@@ -42,6 +42,8 @@
#define KK_CLOUDSTATE_MSG "/thing/ccu/cloudstate"
#define KK_CLOUDSTATE_MSG_REPLY "/thing/ccu/cloudstate_reply"
#define KK_CLOUDHB_MSG "/thing/ccu/cloudHB"
#define KK_CLOUDHB_MSG_REPLY "/thing/ccu/cloudHB_reply"
#define KK_TOPO_CHANGE_MSG_STR "/thing/topo/change"
#define KK_FILTER_SERVICE_CALL_TOPIC "/thing/service/"
#define KK_FILTER_SERVICE_CALL_REPLY "_reply"
......@@ -291,6 +293,11 @@ int _kk_sendto_cloud(cJSON *root)
free(topic);
return RETURN_SUCCESS;
}
else if(strstr(msgTypeStr->valuestring,KK_CLOUDHB_MSG) != NULL){
KK_Send_CloudHB2Mid(1);
free(topic);
return RETURN_SUCCESS;
}
//if(kk_check_need_split(info)){
//kk_split_send_data(pData,topic);
//}
......@@ -630,6 +637,48 @@ int KK_Send_CloudState(int state)
free(out);
return RETURN_SUCCESS;
}
const char DM_MSG_CLOUDHB[] = "{\"msgId\":\"1\",\"version\":\"1.0\",\"params\":{\"heartbeat\":\"%d\"},\"method\":\"thing.ccu.cloudHB_reply\"}";
int KK_Send_CloudHB2Mid(int state)
{
char *infoStr = NULL;
char *payloadStr = NULL;
int infoStr_len = 0;
int payloadStr_len = 0;
cJSON *root;
char *out;
infoStr_len = strlen(DM_MSG_TO_MIDDWARE)+strlen(KK_CLOUDHB_MSG_REPLY)+10;
infoStr = malloc(infoStr_len);
if(infoStr == NULL){
ERROR_PRINT("infoStr == NULL\n");
return RETURN_FAIL;
}
memset(infoStr,0x0,infoStr_len);
snprintf(infoStr,infoStr_len,DM_MSG_TO_MIDDWARE,KK_CLOUDHB_MSG_REPLY,"","");
payloadStr_len = strlen(DM_MSG_CLOUDHB) + 10;
payloadStr = malloc(payloadStr_len);
if(payloadStr == NULL){
ERROR_PRINT("payloadStr == NULL\n");
return RETURN_FAIL;
}
memset(payloadStr,0x0,payloadStr_len);
snprintf(payloadStr,payloadStr_len,DM_MSG_CLOUDHB,state);
root=cJSON_CreateObject();
cJSON* infoObj = cJSON_Parse(infoStr);
cJSON* payloadObj = cJSON_Parse(payloadStr);
cJSON_AddItemToObject(root, MSG_INFO_STR, infoObj);
cJSON_AddItemToObject(root, MSG_PAYLOAD_STR,payloadObj);
out=cJSON_Print(root);
kk_ipc_send(IPC_APP2MID, out, strlen(out)+1);
cJSON_Delete(root);
free(payloadStr);
free(infoStr);
INFO_PRINT("%s\n",out);
free(out);
return RETURN_SUCCESS;
}
/************************************************************
*功能描述:发送数据给Midware
*输入参数: topic:主题;
......
......@@ -88,31 +88,6 @@ static int KK_Ccuid_init(void)
char s_pid[PRODUCT_CODE_LEN] = {0};
static int kk_cloud_pid_init(void)
{
#ifdef CONFIG_A133_PLATFORM
uint8_t data[128] = {0};
int data_len = 0;
char *pstart = NULL;
char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)data,sizeof(data),&data_len);
printf("---GET_CCUID_CMD:%s\n",data);
if(data_len > 0 && data_len <= 128){
pstart = data;
pEnd = strstr(data,"pid_");
if(pstart != NULL && pEnd != NULL){
memcpy(s_pid,pEnd+4,data_len-1-(pEnd-pstart+4));
INFO_PRINT("kk_cloud_pid_init s_pid:%s\n",s_pid);
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
INFO_PRINT("KK_Ccuid_init get ccuid error\n");
return -1;
}
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
INFO_PRINT("KK_Ccuid_init get ccuid error\n");
return -1;
}
#else
char pid[PRODUCT_CODE_LEN] = {0};
int pid_len = 0;
HAL_Execel_cmd(GET_PRODUCTID_CMD,(char *)pid,sizeof(pid),&pid_len);
......@@ -122,7 +97,6 @@ static int kk_cloud_pid_init(void)
}else{
return -1;
}
#endif
return 0;
}
int kk_cloud_get_pid(char *productId)
......@@ -142,10 +116,10 @@ static int kk_cloud_key_init(void)
HAL_Execel_cmd(GET_CCUID_CMD,(char *)key,sizeof(key),&key_len);
printf("---productSecret:%s\n",key);
if(key_len > 0 && key_len <= 128){
pstart = strstr(key,"key_");;
pEnd = strstr(key,"-pid_");
if(pstart != NULL && pEnd != NULL){
memcpy(s_key,pstart+4,pEnd-pstart+4);
pstart = key;
pEnd = strstr(key,"key_");
if(pEnd != NULL){
memcpy(s_key,pEnd+4,key_len -1-(pEnd-pstart+4));
INFO_PRINT("kk_cloud_key_init s_key:%s\n",s_key);
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
......@@ -273,11 +247,6 @@ int main(int argc, char* argv[])
kk_cloud_pid_init();
kk_cloud_key_init();
kk_ipc_init(IPC_APP2MID,(ipc_cb*)KK_Data_FromDev,NULL,NULL);
//kk_info_report_start();
//
#ifdef CONFIG_NX5_PLATFORM
//adlakdlkf
#endif
#if 1
kk_dl_config();
again:
......
......@@ -10,6 +10,7 @@
#include "mqtt_api.h"
const char KK_URI_SYS_PREFIX[] = "biz/newkk/%s/%s/thing/service/property/set";
const char KK_URI_SYS_PREFIX_GET[] = "biz/newkk/%s/%s/thing/service/property/get";
const char KK_URI_SYS_PREFIX_SERVICE[] = "biz/newkk/%s/%s/thing/service/+";
const char KK_URI_SYS_PREFIX_TOPO_CHANGE[] = "biz/newkk/%s/%s/thing/topo/change";
const char KK_URI_SYS_PREFIX_EX[] = "biz/newkk/%s/%s";
......@@ -59,6 +60,11 @@ int KK_Subdev_Subscribe(const cJSON *root)
INFO_PRINT("ota [%s][%d] URL:%s\n",__FUNCTION__,__LINE__,url);
res = KK_MQTT_SubTopic(url);
memset(url, 0, url_len);
snprintf(url, url_len, KK_URI_SYS_PREFIX_GET, productCode->valuestring, deviceCode->valuestring);
INFO_PRINT("sys [%s][%d] URL:%s\n",__FUNCTION__,__LINE__,url);
res = KK_MQTT_SubTopic(url);
memset(url, 0, url_len);
snprintf(url, url_len, KK_URI_SYS_PREFIX, productCode->valuestring, deviceCode->valuestring);
INFO_PRINT("sys [%s][%d] URL:%s\n",__FUNCTION__,__LINE__,url);
......
......@@ -36,13 +36,11 @@ static int kk_findccu_ack(int sockfd,struct sockaddr_in *addr){
cJSON_AddItemToObject(json, "arg", args);
#ifdef CONFIG_A133_PLATFORM
cJSON_AddStringToObject(args, "zkid", ccuid);
cJSON_AddStringToObject(args, "zk", KK_CCU_NAME);
HAL_Get_IP(s_IP,"eth0");
#else
cJSON_AddStringToObject(args, "zkid", &ccuid[4]);
#endif
cJSON_AddStringToObject(args, "zk", KK_CCU_NAME);
HAL_Get_IP(s_IP,NULL);
#endif
cJSON_AddStringToObject(args, "ip", s_IP);
cJSON_AddBoolToObject(args, "ssl", FALSE);
}
......
......@@ -54,28 +54,6 @@ static int _setDevice_Code(_IN_ char *device_code,int len)
char s_pid[PRODUCT_CODE_LEN] = {0};
static int kk_lan_pid_init(void)
{
#ifdef CONFIG_A133_PLATFORM
uint8_t data[128] = {0};
int data_len = 0;
uint8_t uuid[32] = {0};
char *pstart = NULL;
char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)data,sizeof(data),&data_len);
printf("GET_CCUID_CMD:%s\n",data);
if(data_len > 0 && data_len <= 128){
pstart = data;
pEnd = strstr(data,"pid_");
if(pstart != NULL && pEnd != NULL){
memcpy(s_pid,pEnd+4,data_len-1-(pEnd-pstart+4));
INFO_PRINT("s_pid:%s\n",s_pid);
}else{
return -1;
}
}else{
return -1;
}
#else
char pid[PRODUCT_CODE_LEN] = {0};
int pid_len = 0;
HAL_Execel_cmd(GET_PRODUCTID_CMD,(char *)pid,sizeof(pid),&pid_len);
......@@ -85,7 +63,6 @@ static int kk_lan_pid_init(void)
}else{
return -1;
}
#endif
return 0;
}
int kk_lan_get_pid(_OU_ char *productId)
......@@ -97,6 +74,27 @@ int kk_lan_get_pid(_OU_ char *productId)
static void kk_lan_ccuid_init(void)
{
#ifdef CONFIG_A133_PLATFORM
uint8_t data[128] = {0};
int data_len = 0;
uint8_t uuid[32] = {0};
char *pstart = NULL;
char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)data,sizeof(data),&data_len);
printf("GET_CCUID_CMD:%s\n",data);
if(data_len > 0 && data_len <= 128){
pstart = data;
pEnd = strstr(data,"-");
if(pstart != NULL && pEnd != NULL){
memcpy(uuid,pstart,pEnd-pstart);
_setDevice_Code(uuid,pEnd-pstart);
}else{
return;
}
}else{
return ;
}
#else
uint8_t ccuid[DEVICE_CODE_LEN] = {0};
uint8_t ccuidTmp[DEVICE_CODE_LEN] = {0};
int ccuid_len = 0;
......@@ -108,6 +106,7 @@ static void kk_lan_ccuid_init(void)
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
}
#endif
}
int prg_run_singleton(const char *prg)
......@@ -211,11 +210,11 @@ int main(int argc, char* argv[])
struct sigaction sa;
/* setup alarm signal handler */
#ifdef CONFIG_NX5_PLATFORM
//#ifdef CONFIG_NX5_PLATFORM
for(int i=1;i<32;i++){
signal(i, handler);
}
#endif
//#endif
//signal(SIGPIPE, SIG_IGN);
......
......@@ -3,7 +3,10 @@
#define KK_CCU_VERSION "1.3.0"
#ifdef CONFIG_A133_PLATFORM
#define KK_VERSION_FILE_PATH "/data/local/kk/etc/VERSION"
#else
#define KK_VERSION_FILE_PATH "/app/ccuApps/VERSION"
#endif
#endif
......@@ -483,7 +483,6 @@ void HAL_Reboot(void)
#define ROUTER_INFO_PATH "/proc/net/route"
#define ROUTER_RECORD_SIZE 256
static char *_get_default_routing_ifname(char *ifname, int ifname_size)
{
FILE *fp = NULL;
......@@ -513,9 +512,11 @@ static char *_get_default_routing_ifname(char *ifname, int ifname_size)
perror("sscanf");
continue;
}
/*default route */
if ((destination == 0) && (mask == 0)) {
#ifndef CONFIG_A133_PLATFORM
if ((destination == 0) && (mask == 0))
#endif
{
strncpy(ifname, iface, ifname_size - 1);
result = ifname;
break;
......
......@@ -40,6 +40,7 @@
#define KK_DEVICE_MAP_FILE_PATH "/data/local/kk/map/device_%s.json"
#define GET_CCUID_CMD "getprop ro.ccuinfo"
#define GET_KEY_CMD "getprop ro.ccuinfo"
#define GET_PRODUCTID_CMD "getprop ro.product.ccu.pid"
#define KK_DB_FILE "/data/local/kk/etc/kk_database.db"
#define TSL_SUBDEVICE_PATH_FILE "/data/local/kk/tsl/product_%s.json"
#define TSL_GATEWAY_PATH_FILE "/data/local/kk/tsl/gateway_%s.json"
......@@ -49,7 +50,7 @@
#define OTA_IMG_FILE "/data/local/OTA/app_squashfs.img"
#define OTA_IMG_FILE_MD5 "/data/local/OTA/app_squashfs.img.md5"
#define KK_CONFIG_FILE_PATH "/data/local/kk/kk_cloud_conf.json"
#define KK_DEFAULT_CONFIG_FILE_PATH "/data/local/kk/cloud_default_config.json"
#define KK_DEFAULT_CONFIG_FILE_PATH "/data/local/kk/etc/cloud_default_config.json"
#define KK_AUTH_CONFIG_FILE_PATH "/data/local/kk/auth_conf.json"
#else
#define KK_DEVICESECRET_PATH "/data/kk/kk_deviceSecret.txt"
......
......@@ -115,7 +115,7 @@ int kk_area_init(void)
if(res != SUCCESS_RETURN){
ERROR_PRINT("[%s][%d]kk_area_init FAIL!!!\n",__FUNCTION__,__LINE__);
}
//kk_floor_add("默认","1");//创建默认楼层
kk_floor_add("默认","0");//创建默认楼层
return SUCCESS_RETURN;
}
static int kk_check_room_exist(const char *roomId)
......@@ -157,7 +157,7 @@ static int _kk_room_add(const char *name,const char *roomId)
_kk_area_lock();
ctx->roomNum++;
sqlCmd = sqlite3_mprintf(insertCmd,name,roomId,-1,"1","默认");
sqlCmd = sqlite3_mprintf(insertCmd,name,roomId,-1,"0","默认");
res = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( res != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
......@@ -226,29 +226,29 @@ int kk_room_add(const char *name,const char *roomId)
}
}
int kk_get_roomname_by_id(const char *roomid,char *roomname,int len)
int kk_get_floorname_by_id(const char *floorid,char *floorname,int len)
{
int isExist = 0;
sqlite3_stmt *stmt;
char *pRoomname = NULL;
char *pFloorname = NULL;
kk_area_ctx_t *ctx = _kk_area_get_ctx();
char *sqlCmd = NULL;
int tlen = 0;
if(roomname == NULL){
if(floorid == NULL){
return -1;
}
_kk_area_lock();
sqlCmd = sqlite3_mprintf("select * from AreaInfo WHERE roomId= '%s'",roomid);
sqlCmd = sqlite3_mprintf("select * from floorInfo WHERE floorId= '%s'",floorid);
sqlite3_prepare_v2(ctx->pDb, sqlCmd, strlen(sqlCmd), &stmt, NULL);
//INFO_PRINT("total_column = %d\n", sqlite3_column_count(stmt));
while(sqlite3_step(stmt) == SQLITE_ROW){
pRoomname = (char*)sqlite3_column_text(stmt, DB_ROOM_NAME);
}
if(pRoomname != NULL && strlen(pRoomname) > 0){
tlen = strlen(pRoomname) > len?len:strlen(pRoomname);
strncpy(roomname,pRoomname,tlen);
pFloorname = (char*)sqlite3_column_text(stmt, DB_FLOOR_NAME);
if(pFloorname != NULL && strlen(pFloorname) > 0){
tlen = strlen(pFloorname) > len?len:strlen(pFloorname);
memcpy(floorname,pFloorname,strlen(pFloorname));
}else{
strcpy(roomname,"");
memcpy(floorname,"",len);
}
}
sqlite3_finalize(stmt);
sqlite3_free(sqlCmd);
......@@ -330,10 +330,13 @@ int kk_room_set_floor_info(const char*floorId,const char* floorName,const char *
int rc = 0;
char *zErrMsg = 0;
kk_area_ctx_t *ctx = _kk_area_get_ctx();
_kk_area_lock();
printf("----------------------floorId:%s,floorName:%s,roomid:%s\n",floorId,floorName,roomid);
if(strcmp(floorName,"") == 0){
char floorNameBuf[128] = {0};
kk_get_floorname_by_id(floorId,floorNameBuf,sizeof(floorNameBuf));
sqlCmd = sqlite3_mprintf("UPDATE AreaInfo SET floorId='%s',floorName='%s' WHERE roomId= '%s'",floorId,floorNameBuf,roomid);
}else{
sqlCmd = sqlite3_mprintf("UPDATE AreaInfo SET floorId='%s',floorName='%s' WHERE roomId= '%s'",floorId,floorName,roomid);
}
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
......@@ -342,7 +345,6 @@ int kk_room_set_floor_info(const char*floorId,const char* floorName,const char *
INFO_PRINT("Table updata data successfully\n");
}
sqlite3_free(sqlCmd);
_kk_area_unlock();
return SUCCESS_RETURN;
}
int kk_set_floor_to_default(const char*floorId)
......@@ -353,7 +355,7 @@ int kk_set_floor_to_default(const char*floorId)
kk_area_ctx_t *ctx = _kk_area_get_ctx();
_kk_area_lock();
sqlCmd = sqlite3_mprintf("UPDATE AreaInfo SET floorId='%s',floorName='%s' WHERE floorId= '%s'","1","默认",floorId);
sqlCmd = sqlite3_mprintf("UPDATE AreaInfo SET floorId='%s',floorName='%s' WHERE floorId= '%s'","0","默认",floorId);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
......
......@@ -116,7 +116,15 @@ int iotx_dm_ccu_cloud_check(void)
_dm_api_unlock();
return res;
}
int iotx_dm_ccu_cloudHB_check(void)
{
int res = 0;
_dm_api_lock();
res = dm_mgr_ccu_heartbeat_cloud(0);
_dm_api_unlock();
return res;
}
int iotx_dm_dev_online(_IN_ int devid)
{
int res = 0;
......
......@@ -140,12 +140,12 @@ static int _dm_init_tsl_params(kk_tsl_t * dev_shadow,char *deviceCode)
}
/*******set MAC*************/
HAL_Get_mac(s_mac);
res = kk_tsl_set_value(kk_tsl_set_property_value,dev_shadow,KK_TSL_GATAWAY_MAC_IDENTIFIER,NULL,s_mac);
if(res != SUCCESS_RETURN)
{
ERROR_PRINT("[%s][%d] res:%d\n",__FUNCTION__,__LINE__,res);
}
//HAL_Get_mac(s_mac);
//res = kk_tsl_set_value(kk_tsl_set_property_value,dev_shadow,KK_TSL_GATAWAY_MAC_IDENTIFIER,NULL,s_mac);
//if(res != SUCCESS_RETURN)
//{
//ERROR_PRINT("[%s][%d] res:%d\n",__FUNCTION__,__LINE__,res);
//}
int wanState = 0;
res = kk_tsl_set_value(kk_tsl_set_property_value,dev_shadow,KK_TSL_CCU_WANSTATE_IDENTIFIER,&wanState,NULL);
......@@ -161,12 +161,12 @@ static int _dm_init_tsl_params(kk_tsl_t * dev_shadow,char *deviceCode)
ERROR_PRINT("[%s][%d] res:%d\n",__FUNCTION__,__LINE__,res);
}
/*******set sn*************/
HAL_Get_SN(s_SN);
res = kk_tsl_set_value(kk_tsl_set_property_value,dev_shadow,KK_TSL_GATAWAY_SN_IDENTIFIER,NULL,s_SN);
if(res != SUCCESS_RETURN)
{
ERROR_PRINT("[%s][%d] res:%d\n",__FUNCTION__,__LINE__,res);
}
//HAL_Get_SN(s_SN);
//res = kk_tsl_set_value(kk_tsl_set_property_value,dev_shadow,KK_TSL_GATAWAY_SN_IDENTIFIER,NULL,s_SN);
//if(res != SUCCESS_RETURN)
//{
//ERROR_PRINT("[%s][%d] res:%d\n",__FUNCTION__,__LINE__,res);
//}
char currentValue[16] = {0};
kk_property_db_get_value(deviceCode,KK_TSL_CCU_ARMINGSTATE_IDENTIFIER,currentValue);
if(strlen(currentValue) == 0){
......@@ -257,6 +257,9 @@ int dm_mgr_device_create(_IN_ int dev_type,_IN_ char productCode[PRODUCT_CODE_MA
if (devid) {
*devid = node->devid;
}
if (mac != NULL) {
memcpy(node->mac, mac, strlen(mac));
}
return TSL_ALREADY_EXIST;
}
......@@ -447,7 +450,6 @@ int dm_mgr_update_timestamp_by_devicecode(_IN_ char deviceCode[DEVICE_CODE_MAXLE
{
dm_mgr_ctx *ctx = _dm_mgr_get_ctx();
dm_mgr_dev_node_t *search_node = NULL;
_dm_mgr_mutex_lock();
list_for_each_entry(search_node, &ctx->dev_list, linked_list, dm_mgr_dev_node_t) {
if ((strlen(search_node->deviceCode) == strlen(deviceCode)) &&
......@@ -594,51 +596,7 @@ static void _dm_mgr_destroy_devlist(void)
free(del_node);
}
}
char s_pid[PRODUCT_CODE_LEN] = {0};
static int kk_pid_init(void)
{
#ifdef CONFIG_A133_PLATFORM
uint8_t data[128] = {0};
int data_len = 0;
char *pstart = NULL;
char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)data,sizeof(data),&data_len);
printf("---GET_CCUID_CMD:%s\n",data);
if(data_len > 0 && data_len <= 128){
pstart = data;
pEnd = strstr(data,"pid_");
if(pstart != NULL && pEnd != NULL){
memcpy(s_pid,pEnd+4,data_len-1-(pEnd-pstart+4));
INFO_PRINT("kk_cloud_pid_init s_pid:%s\n",s_pid);
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
INFO_PRINT("KK_Ccuid_init get ccuid error\n");
return -1;
}
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
INFO_PRINT("KK_Ccuid_init get ccuid error\n");
return -1;
}
#else
char pid[PRODUCT_CODE_LEN] = {0};
int pid_len = 0;
HAL_Execel_cmd(GET_PRODUCTID_CMD,(char *)pid,sizeof(pid),&pid_len);
if(pid_len > 0 && pid_len <= PRODUCT_CODE_LEN){
memcpy(s_pid,pid,pid_len-1);
INFO_PRINT("s_pid:%s\n",s_pid);
}else{
return -1;
}
#endif
return 0;
}
int kk_get_pid(char *productId)
{
strncpy(productId, s_pid, strlen(s_pid));
printf("kk_lan_get_ccuid:%s\n",s_pid);
return strlen(s_pid);
}
extern char *kk_sync_get_info();
int dm_mgr_init(void)
{
......@@ -646,10 +604,9 @@ int dm_mgr_init(void)
dm_mgr_ctx *ctx = _dm_mgr_get_ctx();
char mac[DEVICE_MAC_MAXLEN]= {0};
char ccuid[32] = {0};
char pid[32] = {0};
int devId = 0,heartbeat = 0;
memset(ctx, 0, sizeof(dm_mgr_ctx));
/* Create Mutex */
ctx->mutex = kk_MutexCreate();
if (ctx->mutex == NULL) {
......@@ -659,20 +616,18 @@ int dm_mgr_init(void)
ctx->global_devid = 1;
kk_property_db_init();
HAL_Get_ccuid(ccuid);
kk_pid_init();
kk_get_pid(pid);
/* Init Device List */
INIT_LIST_HEAD(&ctx->dev_list);
HAL_Get_mac(mac);
kk_sync_init();
//kk_sync_get_info();
res = dm_mgr_device_create(KK_DM_DEVICE_CCU,s_pid,ccuid,mac,"",KK_DEV_UNKNOW,&devId,&heartbeat);
res = dm_mgr_device_create(KK_DM_DEVICE_CCU,pid,ccuid,mac,"",KK_DEV_UNKNOW,&devId,&heartbeat);
if (res != SUCCESS_RETURN) {
goto ERROR;
}
else{
kk_property_db_update(ccuid);
}
return SUCCESS_RETURN;
......@@ -1329,7 +1284,57 @@ int dm_mgr_upstream_thing_list_found(_IN_ int devid)
return res;
}
const char DM_URI_HB_CLOUD[] = "/thing/ccu/cloudHB";
int dm_mgr_ccu_heartbeat_cloud(_IN_ int devid)
{
int res = 0;
dm_mgr_dev_node_t *node = NULL;
//dm_mgr_dev_node_t *gw_node = NULL;
dm_msg_request_t request;
char msgId[MSG_MAX_LEN] = {0};
if (devid < 0) {
return INVALID_PARAMETER;
}
memset(&request, 0, sizeof(dm_msg_request_t));
res = dm_mgr_search_dev_by_devid(devid, &node);
if (res != SUCCESS_RETURN) {
return FAIL_RETURN;
}
memcpy(request.productCode,node->productCode,strlen(node->productCode));
memcpy(request.deviceCode,node->deviceCode,strlen(node->deviceCode));
request.msgTypeStr = (char*)DM_URI_HB_CLOUD;
/* Get Params And Method */
res = dm_msg_heartbeat_cloud( node->productCode, node->deviceCode, &request);
if (res != SUCCESS_RETURN) {
return FAIL_RETURN;
}
/* Get Msg ID */
iotx_report_id(msgId);
//sprintf(msgId,"%d",iotx_report_id());
memcpy(request.msgid,msgId,strlen(msgId));
/* Get Dev ID */
request.devid = devid;
/* Callback */
//request.callback = dm_client_combine_login_reply;
/* Send Message To Cloud */
res = dm_msg_request(&request,0);
free(request.params);
return res;
}
const char DM_URI_STATUS_CLOUD[] = "/thing/ccu/cloudstate";
int dm_mgr_ccu_status_cloud(_IN_ int devid)
{
......
......@@ -125,4 +125,6 @@ int dm_msg_thing_property_post_all(char *deviceCode);
int dm_mgr_get_gw_deviceCode(_OU_ dm_mgr_dev_node_t **node);
void dm_mgr_resubscribe(void);
int kk_get_pid(char *productId);
int dm_mgr_ccu_heartbeat_cloud(_IN_ int devid);
#endif
......@@ -13,6 +13,7 @@ const char DM_MSG_INFO[] DM_READ_ONLY = "{\"msgtype\":\"%s\",\"productCode\":\"%
extern void kk_sendData2gw(void* data, int len, char* chalMark);
void kk_sendData2app(void *info, void *payload,int isAsync){
void *buf = NULL;
int res = 0;
cJSON *root=cJSON_CreateObject();
cJSON* infoObj = cJSON_Parse(info);
cJSON* payloadObj = cJSON_Parse(payload);
......@@ -24,7 +25,7 @@ void kk_sendData2app(void *info, void *payload,int isAsync){
dm_queue_msg_insert4(buf);
}else{
kk_ipc_send(IPC_MID2APP, buf, strlen(buf)+1 );
res = kk_ipc_send(IPC_MID2APP, buf, strlen(buf)+1 );
free(buf);
}
cJSON_Delete(root);
......@@ -260,7 +261,39 @@ int dm_msg_thing_topo_delete(_IN_ char deviceCode[DEVICE_CODE_MAXLEN],_OU_ dm_ms
return SUCCESS_RETURN;
}
const char DM_MSG_HB_CLOUD_METHOD[] DM_READ_ONLY = "thing.ccu.cloudHB";
const char DM_MSG_HB_CLOUD[] DM_READ_ONLY =
"{\"deviceCode\":\"%s\"}";
int dm_msg_heartbeat_cloud(_IN_ char productCode[PRODUCT_CODE_MAXLEN],
_IN_ char deviceCode[DEVICE_CODE_MAXLEN], _OU_ dm_msg_request_t *request)
{
char *params = NULL;
int params_len = 0;
if (request == NULL ||
deviceCode == NULL || productCode == NULL ||
(strlen(deviceCode) >= DEVICE_CODE_MAXLEN) ||
(strlen(productCode) >= PRODUCT_CODE_MAXLEN) ||
(strlen(request->deviceCode) >= DEVICE_CODE_MAXLEN)) {
return INVALID_PARAMETER;
}
/* Params */
request->method = (char *)DM_MSG_HB_CLOUD_METHOD;
params_len = strlen(DM_MSG_HB_CLOUD) + strlen(deviceCode) + 1;
params = malloc(params_len);
if (params == NULL) {
return DM_MEMORY_NOT_ENOUGH;
}
memset(params, 0, params_len);
HAL_Snprintf(params, params_len, DM_MSG_HB_CLOUD,deviceCode);
request->params = params;
request->params_len = strlen(request->params);
return SUCCESS_RETURN;
}
const char DM_MSG_STATUS_CLOUD_METHOD[] DM_READ_ONLY = "thing.ccu.cloudstate";
const char DM_MSG_STATUS_CLOUD[] DM_READ_ONLY =
"{\"deviceCode\":\"%s\"}";
......
......@@ -49,8 +49,10 @@ typedef struct {
#define KK_ONLINE_TOPIC_REPLY "/thing/status/online_reply"
#define KK_THING_SERVICE_PROPERTY_SET "/thing/service/property/set"
#define KK_THING_SERVICE_PROPERTY_GET "/thing/service/property/get"
#define KK_THING_SERVICE_PROPERTY_GET_REPLY "/thing/service/property/get_reply"
#define KK_THING_OTA_DEVICE_UPGRADE "/thing/service/upgrade"
#define KK_THING_CLOUDSTATE_MSG "/thing/ccu/cloudstate_reply"
#define KK_THING_CLOUDHB_MSG "/thing/ccu/cloudHB_reply"
#define KK_THING_TOPO_ADD_MSG "/thing/topo/add"
#define KK_THING_TOPO_BATCH_ADD_MSG "/thing/topo/batch_add"
#define KK_THING_PROPERTY_POST "property/post"
......@@ -60,8 +62,10 @@ typedef struct {
#define KK_THING_SERVICE_REBOOT "/thing/service/reboot"
#define KK_THING_SERVICE_ADDROOM "/thing/service/addRoom"
#define KK_THING_SERVICE_ADDROOM_REPLY "/thing/service/addRoom_reply"
#define KK_THING_SERVICE_UPDATEROOM "/thing/service/updateRoomName"
#define KK_THING_SERVICE_UPDATEROOM_REPLY "/thing/service/updateRoomName_reply"
#define KK_THING_SERVICE_UPDATEROOM "/thing/service/updateRoom"
#define KK_THING_SERVICE_UPDATEROOM_REPLY "/thing/service/updateRoom_reply"
#define KK_THING_SERVICE_UPDATEROOMNAME "/thing/service/updateRoomName"
#define KK_THING_SERVICE_UPDATEROOMNAME_REPLY "/thing/service/updateRoomName_reply"
#define KK_THING_SERVICE_DELETEROOM "/thing/service/deleteRoom"
#define KK_THING_SERVICE_DELETEROOM_REPLY "/thing/service/deleteRoom_reply"
#define KK_THING_SERVICE_ADDDEVICETOROOM "/thing/service/addDeviceToRoom"
......@@ -182,6 +186,8 @@ int dm_msg_thing_syncinfopush_reply(void);
void kk_split(char *src,const char *separator,char **dest,int *num);
int kk_msg_cloud_status_notify(char *deviceCode,const char *productCode);
int dm_msg_thing_syncdeviceinfo_reply(cJSON *msgId);
int dm_msg_heartbeat_cloud(_IN_ char productCode[PRODUCT_CODE_MAXLEN],
_IN_ char deviceCode[DEVICE_CODE_MAXLEN], _OU_ dm_msg_request_t *request);
//const char DM_URI_SYS_PREFIX[] DM_READ_ONLY = "/sys/%s/%s/";
......
......@@ -219,7 +219,6 @@ int dm_queue_msg_insert(void *data)
if (data == NULL) {
return INVALID_PARAMETER;
}
_dm_queue_lock();
if (ctx->msg_list.size >= ctx->msg_list.max_size) {
printf("dm queue list full");
......@@ -251,9 +250,7 @@ int dm_queue_msg_next(void **data)
if (data == NULL || *data != NULL) {
return INVALID_PARAMETER;
}
_dm_queue_lock();
if (list_empty(&ctx->msg_list.message_list)) {
_dm_queue_unlock();
return FAIL_RETURN;
......
This diff is collapsed.
This diff is collapsed.
#ifndef _KK_PROPERTY_GET_H_
#define _KK_PROPERTY_GET_H_
int kk_property_get_handle(cJSON * payload,char *deviceCode);
#endif
\ No newline at end of file
......@@ -686,7 +686,6 @@ int kk_subDev_set_action_by_productType(const char *productType,const char *room
int size = 0;
char *pStart = NULL;
int allRoom = (strcmp(roomId,"-1")==0)?1:0;
if(productType == NULL){
ERROR_PRINT("ERROR [%s][%d]\n",__FUNCTION__,__LINE__);
return INVALID_PARAMETER;
......@@ -741,7 +740,7 @@ int kk_subDev_set_action_by_productType(const char *productType,const char *room
}
if(allRoom==0){
char roomName[256] = {0};
char roomIdStr[10] = {0};
char roomIdStr[16] = {0};
if(kk_get_device_roomInfo(pDeviceCode,info.epNum,roomName,roomIdStr)==0){
continue;
}
......@@ -769,7 +768,6 @@ int kk_subDev_set_action_by_productType(const char *productType,const char *room
//return res;
continue;
}
}
}
}
......@@ -859,6 +857,40 @@ static int _kk_check_screenDev_exist(const char* sId)
}
/************************************************************
*功能描述:更新设备信息到数据库
*输入参数:devType:设备类型
serialId:产品Id
ip:设备ip
mac: mac地址
version:版本号
expand:预留
*输出参数:无
*返 回 值:0:成功;其他:失败
*其他说明:
*************************************************************/
int kk_screenDev_update(int devType,char *serialId, \
char *ip,char *mac,char *version)
{
char *sqlCmd = NULL;
int rc = 0;
char *zErrMsg = 0;
kk_subDb_ctx_t *ctx = _kk_subDb_get_ctx();
_kk_subDb_lock();
sqlCmd = sqlite3_mprintf("UPDATE ScreenDeviceInfo SET deviceIp= '%s',mac ='%s',version = '%s' WHERE serialId= '%s'",ip,mac,version,serialId);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}else{
INFO_PRINT("Table updata data successfully\n");
}
sqlite3_free(sqlCmd);
_kk_subDb_unlock();
return SUCCESS_RETURN;
}
/************************************************************
*功能描述:保存设备信息到数据库
*输入参数:devType:设备类型
serialId:产品Id
......@@ -884,11 +916,15 @@ int kk_screenDev_insert_db(int devType,char *serialId, \
if(_kk_check_screenDev_exist((const char*)serialId) == 1)
{
WARNING_PRINT("[%s][%d] DATA ALREADY EXIST!!!\n",__FUNCTION__,__LINE__);
kk_screenDev_update(devType,serialId,ip,mac,version);
return SUCCESS_RETURN;
}
_kk_subDb_lock();
#ifdef CONFIG_A133_PLATFORM
sqlCmd = sqlite3_mprintf(insertCmd,1,devType,serialId,ip,"MOOR4S",mac,version,"","",expand);
#else
sqlCmd = sqlite3_mprintf(insertCmd,1,devType,serialId,ip,"MOOR4C",mac,version,"","",expand);
#endif
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
......@@ -914,15 +950,26 @@ int kk_screenDev_insert_db(int devType,char *serialId, \
*返 回 值:0:成功;其他:失败
*其他说明:
*************************************************************/
int kk_screenDev_update_room(char *serialId,char *roomid,char *roomname,char* name)
void str_trans(char c[]) {
int i;
for(i=0;c[i];i++)
if(c[i]>='A'&&c[i]<='Z')
c[i]=(c[i]-'A')+'a';
/*以下注释内容为小写转大写,如不需要可删除*/
/*else if(c[i]<='z' && c[i]>='a')
c[i]=(c[i]-'a')+'A';*/
}
int kk_screenDev_update_room(char *mac,char *roomid,char *roomname,char* name)
{
char *sqlCmd = NULL;
int rc = 0;
char *zErrMsg = 0;
kk_subDb_ctx_t *ctx = _kk_subDb_get_ctx();
str_trans(mac);
_kk_subDb_lock();
sqlCmd = sqlite3_mprintf("UPDATE ScreenDeviceInfo SET roomId= '%s',roomName ='%s',deviceName = '%s' WHERE serialId= '%s'",roomid,roomname,name,serialId);
sqlCmd = sqlite3_mprintf("UPDATE ScreenDeviceInfo SET roomId= '%s',roomName ='%s',deviceName = '%s' WHERE mac= '%s'",roomid,roomname,name,mac);
rc = sqlite3_exec(ctx->pDb, sqlCmd, NULL, NULL, &zErrMsg);
if( rc != SQLITE_OK ){
ERROR_PRINT("SQL error: %s\n", zErrMsg);
......
......@@ -40,6 +40,7 @@
#include "dm_ota.h"
#include "ccu_ver.h"
#include "kk_area_handle.h"
#include "kk_property_get_handle.h"
int g_timezone = 8;
char * g_filerToPlatTable[] =
......@@ -49,6 +50,7 @@ char * g_filerToPlatTable[] =
(char *){KK_LOGIN_TOPIC_REPLY},
(char *){KK_THING_SERVICE_PROPERTY_GET},
(char *){KK_THING_CLOUDSTATE_MSG},
(char *){KK_THING_CLOUDHB_MSG},
(char *){KK_THING_SERVICE_ADDSCENC},
(char *){KK_THING_SERVICE_UPDATESCENC},
(char *){KK_THING_SERVICE_DELETESCENC},
......@@ -62,6 +64,26 @@ char * g_filerToPlatTable[] =
};
static char s_ccuid[DEVICE_CODE_LEN] = {0};
static char s_Version[VERSION_MAXLEN] = {0};
char s_pid[PRODUCT_CODE_LEN] = {0};
static int kk_pid_init(void)
{
char pid[PRODUCT_CODE_LEN] = {0};
int pid_len = 0;
HAL_Execel_cmd(GET_PRODUCTID_CMD,(char *)pid,sizeof(pid),&pid_len);
if(pid_len > 0 && pid_len <= PRODUCT_CODE_LEN){
memcpy(s_pid,pid,pid_len-1);
INFO_PRINT("s_pid:%s\n",s_pid);
}else{
return -1;
}
return 0;
}
int kk_get_pid(char *productId)
{
strncpy(productId, s_pid, strlen(s_pid));
printf("kk_get_pid:%s\n",s_pid);
return strlen(s_pid);
}
static void HAL_Ccuid_version(void)
{
FILE *fp;
......@@ -463,9 +485,15 @@ void mid_cb(void* data, int len){
cJSON_Delete(json);
return;
}
}
if (strcmp(type->valuestring, KK_THING_SERVICE_PROPERTY_GET)==0){
res = kk_property_get_handle(payload,deviceCode->valuestring);
if(res != SUCCESS_RETURN){
ERROR_PRINT(" kk_property_get_handle error \n");
}
cJSON_Delete(json);
return;
}
int devType = 0;
dm_mgr_get_devicetype_by_devicecode(deviceCode->valuestring,&devType);
//主机的device或过滤的
......@@ -881,10 +909,14 @@ void kk_platMsg_handle(void* data, char* chalMark){
goto error;
}
if (chalMark != NULL){
dm_mgr_update_timestamp_by_devicecode(chalMark,HAL_Uptimes());
}
if(strcmp(msgType->valuestring,"/thing/service/property/get_reply") != 0){
//if (chalMark != NULL){
//if(strcmp(msgType->valuestring,"/thing/service/property/set_reply") != 0){
//dm_mgr_update_timestamp_by_devicecode(chalMark,HAL_Uptimes());
//}
//}
//printf("msgType->valuestring:%s [%s][%d]\n",msgType->valuestring,__FUNCTION__,__LINE__);
if(strcmp(msgType->valuestring,"/thing/service/property/get_reply") != 0 &&
strcmp(msgType->valuestring,"/thing/service/property/set_reply") != 0){
dm_mgr_update_timestamp_by_devicecode(info_dcode->valuestring,HAL_Uptimes());
}
......@@ -1358,11 +1390,7 @@ void *udp_dispatch_yield(void *args){
memset(host_ip, 0, sizeof(host_ip));
memset(mac, 0, sizeof(mac));
memset(szOut, 0, sizeof(szOut));
#ifdef CONFIG_A133_PLATFORM
HAL_Get_IP(host_ip,"eth0");
#else
HAL_Get_IP(host_ip,NULL);
#endif
HAL_Get_ccuid(device_code);
// printf("[%s][%d]inet_ntoa(from.sin_addr):%s\n",__FUNCTION__,__LINE__,inet_ntoa(from.sin_addr));
// printf("[%s][%d]host_ip:%s\n",__FUNCTION__,__LINE__,host_ip);
......@@ -1426,11 +1454,7 @@ void *ccu_property_monitor(void *args)
dm_mgr_search_dev_by_devid(KK_DM_DEVICE_CCU_DEVICEID,&node);
//dm_mgr_update_timestamp_by_devicecode(node->deviceCode,HAL_GetTime());
node->timestamp = HAL_Uptimes();
#ifdef CONFIG_A133_PLATFORM
HAL_Get_IP(s_IP,"eth0");
#else
HAL_Get_IP(s_IP,NULL);
#endif
res = kk_tsl_get_value(kk_tsl_get_property_value,node->dev_shadow,KK_TSL_CCU_WANIP_IDENTIFIER,s_IP_TSL,NULL);
if(res != SUCCESS_RETURN){
ERROR_PRINT("kk_tsl_get_value Failed\n");
......@@ -1438,21 +1462,18 @@ void *ccu_property_monitor(void *args)
else{
if(strcmp(s_IP,s_IP_TSL)){
kk_tsl_set_value(kk_tsl_set_property_value,node->dev_shadow,KK_TSL_CCU_WANIP_IDENTIFIER,NULL,s_IP);
kk_tsl_set_value(kk_tsl_set_property_value,node->dev_shadow,KK_TSL_CCU_LANIP_IDENTIFIER,NULL,s_IP);
INFO_PRINT("current ip:%s,before ip:%s\n",s_IP,s_IP_TSL);
kk_property_db_update(node->deviceCode);
needReport = 1;
}
}
if(needReport&&(kk_get_cloudstatus() == 1)){
needReport = 0;
char *postStr = kk_tsl_get_post_property_str(node->dev_shadow,NULL);
if(postStr != NULL){
dm_mgr_upstream_thing_property_post(node->devid, postStr, strlen(postStr),0);
free(postStr);
postStr = NULL;
}
}
//iotx_dm_ccu_cloudHB_check();
sleep(time_second);
}
return NULL;
......@@ -1498,6 +1519,7 @@ int main(const int argc, const char **argv)
openlog("midware",LOG_PID,LOG_USER);
memset(mid_ctx, 0, sizeof(mid_ctx_t));
HAL_Ccuid_version();
kk_pid_init();
res = HAL_Ccuid_init();
if(res == -1){
ERROR_PRINT("CCUID GET FAIL!!!!!!!!!!!\n");
......
......@@ -111,7 +111,9 @@ static int kk_scene_tsl_load(void)
char *tsl_str = NULL;
int heartTime = 0;
char isDormancyDev = 0;
tsl_str = kk_load_json("15", KK_DEVICE_TSL_TYPE);
char pid[32] = {0};
kk_get_pid(pid);
tsl_str = kk_load_json(pid, KK_DEVICE_TSL_TYPE);
if(tsl_str != NULL)
{
res = kk_tsl_create(tsl_str,strlen(tsl_str),&s_scene_shadow,&heartTime,(int*)&isDormancyDev);
......@@ -1175,6 +1177,9 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
productType = cJSON_GetObjectItem(item,MSG_PRODUCT_TYPE_STR);
roomId = cJSON_GetObjectItem(item,MSG_AREA_ROOM_CCUROOMID);
if(productType != NULL){
if(roomId == NULL){
roomId = cJSON_GetObjectItem(item,MSG_AREA_ROOM_ROOMID);
}
delay = cJSON_GetObjectItem(item,MSG_SCENE_DELAY);
if(delay == NULL) return FAIL_RETURN;
int idelay = delay->valueint;
......@@ -1233,11 +1238,16 @@ int kk_scene_parse_scene_action(const cJSON* str,const char *sceneId,int isUpdat
if(strcmp(node->productCode,"3098") == 0 || strcmp(node->productCode,"3099") == 0 ||
strcmp(node->productCode,"3097") == 0){
sprintf(info.propertyName,"%s_%d",propertyName->valuestring,iepnum);
}else if(strcmp(node->productCode,"5004") == 0){
if(strstr(propertyName->valuestring,"_") == NULL){
sprintf(info.propertyName,"%s_%d",propertyName->valuestring,iepnum);
}else{
memcpy(info.propertyName,propertyName->valuestring,strlen(propertyName->valuestring));
}
}else{
memcpy(info.propertyName,propertyName->valuestring,strlen(propertyName->valuestring));
}
if(propertyValue->type==cJSON_Number){
snprintf(propertyValueStr,sizeof(propertyValueStr),"%d",propertyValue->valueint);
}else if(propertyValue->type==cJSON_String){
snprintf(propertyValueStr,sizeof(propertyValueStr),"%s",propertyValue->valuestring);
......
......@@ -72,11 +72,11 @@
#define KK_TSL_SPECIAL_EVENT_POST_IDENTIFIER "post"
#define KK_TSL_SPECIAL_EVENT_POST_METHOD "thing.event.property.post"
#define KK_TSL_VERSION_IDENTIFIER "Version"
#define KK_TSL_CCU_LANIP_IDENTIFIER "LanIPAddress"
#define KK_TSL_CCU_WANIP_IDENTIFIER "WanIPAddress"
#define KK_TSL_CCU_WANSTATE_IDENTIFIER "WanState"
#define KK_TSL_CCU_IOTCLOUD_IDENTIFIER "IOTCloudState"
#define KK_TSL_VERSION_IDENTIFIER "version"
#define KK_TSL_CCU_LANIP_IDENTIFIER "lanIPAddress"
#define KK_TSL_CCU_WANIP_IDENTIFIER "wanIPAddress"
#define KK_TSL_CCU_WANSTATE_IDENTIFIER "wanState"
#define KK_TSL_CCU_IOTCLOUD_IDENTIFIER "iotCloudState"
#define KK_TSL_CCU_ARMINGSTATE_IDENTIFIER "ArmingState"
#define KK_TSL_GATAWAY_VERSION_IDENTIFIER "Version"
......
......@@ -13,9 +13,10 @@ char* kk_load_json(const char *productCode,int type)
char *tslPath = NULL;
int path_len = 0;
unsigned int filesize;
char pid[32] = {0};
kk_get_pid(pid);
if(type == KK_DM_DEVICE_CCU){
path_len = strlen(TSL_CCU_PATH_FILE)+strlen("12")+1;
path_len = strlen(TSL_CCU_PATH_FILE)+strlen(pid)+1;
}
else if(type == KK_DM_DEVICE_GATEWAY){
path_len = strlen(TSL_GATEWAY_PATH_FILE)+strlen("2")+1;
......@@ -33,7 +34,7 @@ char* kk_load_json(const char *productCode,int type)
memset(tslPath,0x0,path_len);
if(type == KK_DM_DEVICE_CCU){
snprintf(tslPath,path_len,TSL_CCU_PATH_FILE,"12");
snprintf(tslPath,path_len,TSL_CCU_PATH_FILE,pid);
}
else if(type == KK_DM_DEVICE_GATEWAY){
snprintf(tslPath,path_len,TSL_GATEWAY_PATH_FILE,"2");
......
......@@ -1154,6 +1154,20 @@
}
]
},
{
"pid": "000A0002",
"name": "YC Doorlock",
"type": "ZSED",
"ota": false,
"b_pid": 3066,
"productType": "Doorlock",
"eps": [
{
"zid": "000A"
}
]
},
{
"pid": "02020000",
"name": "DY Window Covering",
......@@ -2504,6 +2518,25 @@
}
]
},
{
"pid": "01010014",
"name": "YY Live_Neutral_Wire Dimmalbe Light Model G4",
"type": "ZR",
"ota": true,
"b_pid": 3168,
"productType":"lightPanel",
"eps": [
{
"zid": "0103",
"cluster": {
"client": "0003:0019",
"server": "0000:0003:0004:0005:0006:0008"
}
}
]
},
{
"pid": "010C0021",
"name": "YY Dimmalbe Light Controler 12W With ColorTemp",
......@@ -2712,25 +2745,6 @@
}
}
]
},
{
"pid": "000A0002",
"name": "YC Doorlock",
"type": "ZSED",
"ota": false,
"b_pid": 4508,
"productType": "Doorlock",
"eps": [
{
"zid": "000A",
"cluster": {
"client": "0003:0019",
"server": "0000:0001:0003:0101:0B05"
}
}
]
}
]
}
\ No newline at end of file
......@@ -237,6 +237,29 @@ endif
fromdos $(releaseDir)/script/*.sh
echo $(PWD)
package_a133:
@echo "$(buildDate)"
echo "kk_a133"
rm -rf kk_a133
mkdir kk_a133
mkdir kk_a133/lib
mkdir kk_a133/bin
mkdir kk_a133/etc
mkdir kk_a133/map
cp -rf $(TOP_DIR)/VERSION $(TOP_DIR)/kk_a133/etc/
cp -rf $(TOP_DIR)/tsl $(TOP_DIR)/kk_a133
cp -rf $(TOP_DIR)/output/release/lib/*.so $(TOP_DIR)/kk_a133/lib
cp -rf $(TOP_DIR)/output/release/bin/* $(TOP_DIR)/kk_a133/bin
cp -rf $(TOP_DIR)/opcodeMapCfg/* $(TOP_DIR)/kk_a133/map
cp -rf $(TOP_DIR)/config/* $(TOP_DIR)/kk_a133/etc
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg_a133.so $(TOP_DIR)/kk_a133/lib/libnanomsg.so.5
cp -rf $(TOP_DIR)/common/ev/libev_a133.so $(TOP_DIR)/kk_a133/lib/libev.so
cp -rf $(TOP_DIR)/common/curl/libcurl_a133.so $(TOP_DIR)/kk_a133/lib/libcurl.so.4
cp -rf $(TOP_DIR)/common/curl/libcrypto_a133.so $(TOP_DIR)/kk_a133/lib/libcrypto.so.1.1
cp -rf $(TOP_DIR)/common/curl/libssl_a133.so $(TOP_DIR)/kk_a133/lib/libssl.so.1.1
cp -rf $(TOP_DIR)/nx5_soc_gw/smarthome_z3gw_a133 $(TOP_DIR)/kk_a133/bin/smarthome_z3gw
cp -rf $(TOP_DIR)/nx5_soc_gw/kk_device_def.json $(TOP_DIR)/kk_a133/etc/
squashfs: package
@echo "build squashfs"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment