Commit 56e549ce authored by 陈伟灿's avatar 陈伟灿

Merge branch 'hzl' into 'master'

Hzl

See merge request chenweican/k-sdk!182
parents f533957b 48e61b05
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libiot_kcloud.so
else
LIBA_TARGET := libiot_kcloud.a
$(call Append_Conditional, LIB_SRCS_EXCLUDE, kcloud_main.c)
$(call Append_Conditional, SRCS_kk_cloud, kcloud_main.c)
$(call Append_Conditional, TARGET, kk_cloud)
endif
CFLAGS += -I$(TOP_DIR)/common/api
CFLAGS += -I$(TOP_DIR)/common/json
......@@ -25,6 +29,10 @@ else ifeq ($(CONFIG_MODEL),a133)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else ifeq ($(CONFIG_MODEL),a133_ndk)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
......@@ -32,13 +32,13 @@ static char s_ccuid[DEVICE_CODE_LEN] = {0};
int KK_Get_ccuid(char *device_code)
{
strncpy(device_code, s_ccuid, strlen(s_ccuid));
printf("HAL_Get_ccuid:%s\n",s_ccuid);
INFO_PRINT("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);
INFO_PRINT("_setDevice_Code:%s\n",device_code);
strncpy(s_ccuid, device_code, len);
return len;
}
......@@ -53,7 +53,7 @@ static int KK_Ccuid_init(void)
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);
INFO_PRINT("---GET_CCUID_CMD:%s\n",data);
if(data_len > 0 && data_len <= 128){
pstart = data;
pEnd = strstr(data,"-");
......@@ -114,12 +114,16 @@ static int kk_cloud_key_init(void)
char *pstart = NULL;
char *pEnd = NULL;
HAL_Execel_cmd(GET_CCUID_CMD,(char *)key,sizeof(key),&key_len);
printf("---productSecret:%s\n",key);
INFO_PRINT("---productSecret:%s\n",key);
if(key_len > 0 && key_len <= 128){
pstart = key;
pEnd = strstr(key,"key_");
if(pEnd != NULL){
memcpy(s_key,pEnd+4,key_len-(pEnd-pstart+4));
if (s_key[key_len-(pEnd-pstart+4) -1] == '\n'){
s_key[key_len-(pEnd-pstart+4) -1] = '\0';
INFO_PRINT("kk_cloud_key_init remove entry\n");
}
INFO_PRINT("kk_cloud_key_init s_key:%s\n",s_key);
}else{
//_setDevice_Code(KK_CCU_ID,strlen(KK_CCU_ID));
......@@ -234,10 +238,47 @@ extern int kk_info_report_start(void);
extern int kk_dl_config();
extern int kk_register_auth_get();
static int setStoragePath(char* path){
if (path == NULL){
ERROR_PRINT("[%s] path is null !!!!!!!!!!!\n", __FUNCTION__);
return -1;
}
sprintf(KK_DEVICESECRET_PATH, "%s/%s", path, KK_DEVICESECRET_PATH_SUB);
sprintf(KK_TOKEN_PATH, "%s/%s", path, KK_TOKEN_PATH_SUB);
sprintf(KK_DEVICE_MAP_FILE_PATH, "%s/%s", path, KK_DEVICE_MAP_FILE_PATH_SUB);
sprintf(KK_DB_FILE, "%s/%s", path, KK_DB_FILE_SUB);
sprintf(KK_LAN_NODE_DB_FILE, "%s/%s", path, KK_LAN_NODE_DB_FILE_SUB);
sprintf(TSL_SUBDEVICE_PATH_FILE, "%s/%s", path, TSL_SUBDEVICE_PATH_FILE_SUB);
sprintf(TSL_GATEWAY_PATH_FILE, "%s/%s", path, TSL_GATEWAY_PATH_FILE_SUB);
sprintf(TSL_CCU_PATH_FILE, "%s/%s", path, TSL_CCU_PATH_FILE_SUB);
sprintf(TSL_SCENE_PATH_FILE, "%s/%s", path, TSL_SCENE_PATH_FILE_SUB);
sprintf(OTA_IMG_PATH, "%s/%s", path, OTA_IMG_PATH_SUB);
sprintf(OTA_IMG_FILE, "%s/%s", path, OTA_IMG_FILE_SUB);
sprintf(OTA_IMG_FILE_MD5, "%s/%s", path, OTA_IMG_FILE_MD5_SUB);
sprintf(KK_CONFIG_FILE_PATH, "%s/%s", path, KK_CONFIG_FILE_PATH_SUB);
#ifdef CONFIG_A133_PLATFORM
sprintf(KK_DEFAULT_CONFIG_FILE_PATH, "%s/%s", path, KK_DEFAULT_CONFIG_FILE_PATH_SUB);
sprintf(KK_AUTH_CONFIG_FILE_PATH, "%s/%s", path, KK_AUTH_CONFIG_FILE_PATH_SUB);
#endif
kk_set_storage_dir(path);
return 0;
}
#ifdef CONFIG_NDK
int app_main(char* path)
#else
int main(int argc, char* argv[])
#endif
{
int rc = 0;
openlog("kcloud",LOG_PID,LOG_USER);
#ifdef CONFIG_NDK
setStoragePath(path);
#endif
/*set the callback to get the device date to cloud*/
rc = KK_Ccuid_init();
if(rc == -1){
......
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libiot_lan.so
else
LIBA_TARGET := libiot_lan.a
$(call Append_Conditional, LIB_SRCS_EXCLUDE, kk_lan_main.c)
$(call Append_Conditional, SRCS_kk_lan, kk_lan_main.c)
$(call Append_Conditional, TARGET, kk_lan)
endif
CFLAGS += -I$(TOP_DIR)/common/api
CFLAGS += -I$(TOP_DIR)/common/json
......@@ -25,7 +29,9 @@ else ifeq ($(CONFIG_MODEL),8197)
else ifeq ($(CONFIG_MODEL),a133)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
else ifeq ($(CONFIG_MODEL),a133_ndk)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
......@@ -161,12 +161,42 @@ int kk_sync_timer_is_running(void)
}
#ifdef CONFIG_NDK
static int setStoragePath(char* path){
if (path == NULL){
ERROR_PRINT("[%s] path is null !!!!!!!!!!!\n", __FUNCTION__);
return -1;
}
sprintf(KK_DEVICESECRET_PATH, "%s/%s", path, KK_DEVICESECRET_PATH_SUB);
sprintf(KK_TOKEN_PATH, "%s/%s", path, KK_TOKEN_PATH_SUB);
sprintf(KK_DEVICE_MAP_FILE_PATH, "%s/%s", path, KK_DEVICE_MAP_FILE_PATH_SUB);
sprintf(KK_DB_FILE, "%s/%s", path, KK_DB_FILE_SUB);
sprintf(KK_LAN_NODE_DB_FILE, "%s/%s", path, KK_LAN_NODE_DB_FILE_SUB);
sprintf(TSL_SUBDEVICE_PATH_FILE, "%s/%s", path, TSL_SUBDEVICE_PATH_FILE_SUB);
sprintf(TSL_GATEWAY_PATH_FILE, "%s/%s", path, TSL_GATEWAY_PATH_FILE_SUB);
sprintf(TSL_CCU_PATH_FILE, "%s/%s", path, TSL_CCU_PATH_FILE_SUB);
sprintf(TSL_SCENE_PATH_FILE, "%s/%s", path, TSL_SCENE_PATH_FILE_SUB);
sprintf(OTA_IMG_PATH, "%s/%s", path, OTA_IMG_PATH_SUB);
sprintf(OTA_IMG_FILE, "%s/%s", path, OTA_IMG_FILE_SUB);
sprintf(OTA_IMG_FILE_MD5, "%s/%s", path, OTA_IMG_FILE_MD5_SUB);
sprintf(KK_CONFIG_FILE_PATH, "%s/%s", path, KK_CONFIG_FILE_PATH_SUB);
#ifdef CONFIG_A133_PLATFORM
sprintf(KK_DEFAULT_CONFIG_FILE_PATH, "%s/%s", path, KK_DEFAULT_CONFIG_FILE_PATH_SUB);
sprintf(KK_AUTH_CONFIG_FILE_PATH, "%s/%s", path, KK_AUTH_CONFIG_FILE_PATH_SUB);
#endif
kk_set_storage_dir(path);
return 0;
}
#endif
#ifdef CONFIG_NDK
int lan_main(char* path)
#else
int main(int argc, char* argv[])
#endif
{
int ret = 0;
......@@ -176,6 +206,9 @@ int main(int argc, char* argv[])
signal(SIGSTOP, SIG_IGN);
openlog("kk_lan",LOG_CONS|LOG_PID,LOG_USER);
#ifdef CONFIG_NDK
setStoragePath(path);
#endif
kk_lan_pid_init();
kk_lan_ccuid_init();
......
......@@ -3,11 +3,6 @@
#include "sqlite3.h"
#ifdef CONFIG_A133_PLATFORM
#define KK_LAN_NODE_DB_FILE "/data/local/kk/db/kk_lan_node.db"
#else
#define KK_LAN_NODE_DB_FILE "/data/kk/kk_lan_node.db"
#endif
typedef struct {
void *mutex;
......
......@@ -869,8 +869,9 @@ void exit_subboard_test_ack(pro_data_t pro_data)
}
/********************/
#ifdef VOICE_SUPPORT
extern void kk_vp_opcode_handle(pro_data_t *pro_data);
#endif
void uart_frame_handle()
{
......@@ -887,8 +888,9 @@ void uart_frame_handle()
}
uart_protocol_print(&pro_data);
#ifdef VOICE_SUPPORT
kk_vp_opcode_handle(&pro_data);
#endif
return;
}
......
......@@ -2,7 +2,7 @@
#include <pthread.h>
#include "com_api.h"
#include "kk_log.h"
#ifdef CONFIG_A133_PLATFORM
/*#ifdef CONFIG_A133_PLATFORM
#define APP2MID "ipc:///data/local/kk/app2mid.ipc"
#define APP2MID_PUBSUB "ipc:///data/local/kk/app2mid_pubsub.ipc"
#define PLAT2MID "ipc:///data/local/kk/plat2mid.ipc"
......@@ -10,7 +10,24 @@
#define APP2MID "ipc:///tmp/app2mid.ipc"
#define APP2MID_PUBSUB "ipc:///tmp/app2mid_pubsub.ipc"
#define PLAT2MID "ipc:///tmp/plat2mid.ipc"
#endif*/
#ifdef CONFIG_A133_PLATFORM
#define TMP_STORSGE_DIR STORSGE_DIR"/kk"
#else
#define TMP_STORSGE_DIR "/tmp"
#endif
#define IPC_DIR TMP_STORSGE_DIR
#define APP2MID_FORMART "ipc://%s/app2mid.ipc"
#define APP2MID_PUBSUB_FORMART "ipc://%s/app2mid_pubsub.ipc"
#define PLAT2MID_FORMART "ipc://%s/plat2mid.ipc"
static char s_nanomsg_dir[128] = {0};
char APP2MID[128] = "ipc://"IPC_DIR"/app2mid.ipc";
char APP2MID_PUBSUB[128] = "ipc://"IPC_DIR"/app2mid_pubsub.ipc";
char PLAT2MID[128] = "ipc://"IPC_DIR"/plat2mid.ipc";
//#define GW2CCU_PIPE "tcp://%s:5555"
//#define GW2CCU_PUBSUB "tcp://%s:5557"
#define GW2CCU_PIPE "tcp://%s:35567"
......@@ -181,6 +198,7 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
}
break;
case IPC_MID2APP: {
int ret = 0;
loop_ctrl->ba.n = nn_socket(AF_SP, NN_PULL);
if (loop_ctrl->ba.n < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n=%d \r\n",loop_ctrl->ba.n);
......@@ -191,8 +209,8 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
ERROR_PRINT("__nanomsg_init loop_ctrl->ab.n =%d \r\n",loop_ctrl->ab.n);
return -1;
}
if (nn_bind(loop_ctrl->ba.n, APP2MID) < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n nn_bind error \r\n");
if (ret = nn_bind(loop_ctrl->ba.n, APP2MID) < 0) {
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n nn_bind error ret=%d,%s \r\n", ret, APP2MID);
return -1;
}
......@@ -260,12 +278,14 @@ int __nanomsg_init(Bloop_ctrl_t *loop_ctrl, ipc_type type,char* chlMark, char* i
sprintf(addr, GW2CCU_PIPE, ip);
if (nn_bind(loop_ctrl->ba.n, addr) < 0) {//pipe
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n =%d \r\n",loop_ctrl->ba.n);
return -1;
}
memset(addr,0, sizeof(addr));
sprintf(addr, GW2CCU_PUBSUB, ip);
if (nn_bind(loop_ctrl->ab.n, addr) < 0) {//pub
ERROR_PRINT("__nanomsg_init loop_ctrl->ba.n =%d \r\n",loop_ctrl->ab.n);
return -1;
}
}
......@@ -304,6 +324,35 @@ void* loop_thread(void *arg){
}
int kk_set_storage_dir(char* path){
if (path == NULL){
ERROR_PRINT("[%s] param path is null \n", __FUNCTION__);
return -1;
}
memcpy(s_nanomsg_dir, path, strlen(path)+1);
return 0;
}
int kk_int_storage_dir(){
if(strlen(s_nanomsg_dir) > 0){
sprintf(APP2MID, APP2MID_FORMART, s_nanomsg_dir);
sprintf(APP2MID_PUBSUB, APP2MID_PUBSUB_FORMART, s_nanomsg_dir);
sprintf(PLAT2MID, PLAT2MID_FORMART, s_nanomsg_dir);
}else{
sprintf(APP2MID, APP2MID_FORMART, IPC_DIR);
sprintf(APP2MID_PUBSUB, APP2MID_PUBSUB_FORMART, IPC_DIR);
sprintf(PLAT2MID, PLAT2MID_FORMART, IPC_DIR);
}
DEBUG_PRINT("[%s]APP2MID=%s, APP2MID_PUBSUB=%s, PLAT2MID=%s \n", __FUNCTION__, APP2MID, APP2MID_PUBSUB, PLAT2MID);
}
/*=================================
* for gateway, the "id" and "ip" is necessary
* chlMark: is unique, and suggest use gateway deviceCode
......@@ -316,6 +365,9 @@ int kk_ipc_init(ipc_type type, ipc_cb cb, char* chlMark, char* ip)
{
Bloop_ctrl_t* loop_ctrl;
kk_int_storage_dir();
if (IPC_MID2PLAT == type){
loop_ctrl = &Mloop_ctrl;
}else {
......@@ -392,6 +444,8 @@ int kk_ipc_deinit(ipc_type type)
g_pTh = 0;
}
memset(s_nanomsg_dir, 0, sizeof(s_nanomsg_dir));
return 0;
}
......
......@@ -170,6 +170,8 @@ int kk_reset_retry_num();
int kk_tcp_client_send(char* data, int len);
int kk_tcp_client_init(char ip[MAX_IP_LEN], int port, ipc_cb cb);
void kk_tcp_client_deinit(void);
int kk_set_storage_dir(char* path);
#if defined(__cplusplus)
}
#endif
......
......@@ -6,3 +6,7 @@
3. 交叉编译选项 9531: ./configure --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-file --disable-gopher --disable-imap --disable-ldaps --disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp --disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp --without-libssh2 --without-nss --without-zlib --host=mips-openwrt-linux CC=mips-openwrt-linux-gcc --prefix=$PWD/__install
4. 编译example:gcc -o example_curl example_curl.c -L. -lcurl_ubuntu
#########20220127 by allan###############################
1. 由于android ndk中带版本后缀的无法使用,所以新增不带版本的库,在ndk中验证通过,但是对于其他工程没有验证
libcurl_a133_NoVersion.so,libcrypto_a133_NoVersion.so, libssl_a133_NoVersion.so
......@@ -33,7 +33,7 @@
#define KK_GW_PRODUCTID "gateway_2"
#define KK_CCU_RANDOM "0000000000"
#define KK_CCU_NAME "NEW_CCU"
/*
#ifdef CONFIG_A133_PLATFORM
#define KK_DEVICESECRET_PATH "/data/local/kk/kk_deviceSecret.txt"
#define KK_TOKEN_PATH "/data/local/kk/kk_token.txt"
......@@ -90,6 +90,76 @@
#define KK_DEFAULT_CONFIG_FILE_PATH "/app/ccuApps/config/cloud_default_config.json"
#define KK_AUTH_CONFIG_FILE_PATH "/tmp/auth_conf.json"
#endif
*/
#ifdef CONFIG_A133_PLATFORM
#define STORSGE_DIR "/data/local"
#define GET_CCUID_CMD "getprop app.ccuinfo"//"cat /mnt/private/ULI/factory/ccuinfo.txt"//"getprop ro.ccuinfo"//
#define GET_KEY_CMD "getprop app.ccuinfo"//"cat /mnt/private/ULI/factory/ccuinfo.txt"
#define GET_PRODUCTID_CMD "getprop ro.product.ccu.pid"
#elif CONFIG_8197_PLATFORM
#define STORSGE_DIR "/data"
#define GET_CCUID_CMD "eval `flash get CUSTOMER_HW_KK_OPTION0`; echo $CUSTOMER_HW_KK_OPTION0"
#define GET_KEY_CMD "eval `flash get CUSTOMER_HW_KK_OPTION1`; echo $CUSTOMER_HW_KK_OPTION1"
#define GET_PRODUCTID_CMD "eval `flash get CUSTOMER_HW_KK_OPTION2`; echo $CUSTOMER_HW_KK_OPTION2"
#else
#define STORSGE_DIR "/data"
#define GET_CCUID_CMD "fw_printenv uuid -n"
#define GET_KEY_CMD "fw_printenv key -n"
#define GET_PRODUCTID_CMD "fw_printenv pid -n"
#endif
#define KK_DEVICESECRET_PATH_SUB "kk/kk_deviceSecret.txt"
#define KK_TOKEN_PATH_SUB "kk/kk_token.txt"
#define KK_DEVICE_MAP_FILE_PATH_SUB "kk/map/device_%s.json"
#ifdef CONFIG_NDK
#define KK_DB_FILE_SUB "kk/kk_database.db"
#define KK_LAN_NODE_DB_FILE_SUB "kk/kk_lan_node.db"
#elif CONFIG_A133_PLATFORM
#define KK_DB_FILE_SUB "kk/db/kk_database.db"
#define KK_LAN_NODE_DB_FILE_SUB "kk/db/kk_lan_node.db"
#else
#define KK_DB_FILE_SUB "kk/kk_database.db"
#define KK_LAN_NODE_DB_FILE_SUB "kk/kk_lan_node.db"
#endif
#define TSL_SUBDEVICE_PATH_FILE_SUB "kk/tsl/product_%s.json"
#define TSL_GATEWAY_PATH_FILE_SUB "kk/tsl/gateway_%s.json"
#define TSL_CCU_PATH_FILE_SUB "kk/tsl/ccu_%s.json"
#define TSL_SCENE_PATH_FILE_SUB "kk/tsl/ccu_%s_scene.json"
#define OTA_IMG_PATH_SUB "OTA/"
#define OTA_IMG_FILE_SUB "OTA/app_squashfs.img"
#define OTA_IMG_FILE_MD5_SUB "OTA/app_squashfs.img.md5"
#define KK_CONFIG_FILE_PATH_SUB "kk/kk_cloud_conf.json"
#ifdef CONFIG_NDK
#define KK_DEFAULT_CONFIG_FILE_PATH_SUB "kk/cloud_default_config.json"
#elif
#define KK_DEFAULT_CONFIG_FILE_PATH_SUB "kk/etc/cloud_default_config.json"
#endif
#define KK_AUTH_CONFIG_FILE_PATH_SUB "kk/auth_conf.json"
__attribute__((weak)) char KK_DEVICESECRET_PATH[128] = STORSGE_DIR"/"KK_DEVICESECRET_PATH_SUB;
__attribute__((weak)) char KK_TOKEN_PATH[128] = STORSGE_DIR"/"KK_TOKEN_PATH_SUB;
__attribute__((weak)) char KK_DEVICE_MAP_FILE_PATH[128] = STORSGE_DIR"/"KK_DEVICE_MAP_FILE_PATH_SUB;
__attribute__((weak)) char KK_DB_FILE[128] = STORSGE_DIR"/"KK_DB_FILE_SUB;
__attribute__((weak)) char KK_LAN_NODE_DB_FILE[128] = STORSGE_DIR"/"KK_LAN_NODE_DB_FILE_SUB;
__attribute__((weak)) char TSL_SUBDEVICE_PATH_FILE[128] = STORSGE_DIR"/"TSL_SUBDEVICE_PATH_FILE_SUB;
__attribute__((weak)) char TSL_GATEWAY_PATH_FILE[128] = STORSGE_DIR"/"TSL_GATEWAY_PATH_FILE_SUB;
__attribute__((weak)) char TSL_CCU_PATH_FILE[128] = STORSGE_DIR"/"TSL_CCU_PATH_FILE_SUB;
__attribute__((weak)) char TSL_SCENE_PATH_FILE[128] = STORSGE_DIR"/"TSL_SCENE_PATH_FILE_SUB;
__attribute__((weak)) char OTA_IMG_PATH[128] = STORSGE_DIR"/"OTA_IMG_PATH_SUB;
__attribute__((weak)) char OTA_IMG_FILE[128] = STORSGE_DIR"/"OTA_IMG_FILE_SUB;
__attribute__((weak)) char OTA_IMG_FILE_MD5[128] = STORSGE_DIR"/"OTA_IMG_FILE_MD5_SUB;
__attribute__((weak)) char KK_CONFIG_FILE_PATH[128] = STORSGE_DIR"/"KK_CONFIG_FILE_PATH_SUB;
#ifdef CONFIG_A133_PLATFORM
__attribute__((weak)) char KK_DEFAULT_CONFIG_FILE_PATH[128] = STORSGE_DIR"/"KK_DEFAULT_CONFIG_FILE_PATH_SUB;
__attribute__((weak)) char KK_AUTH_CONFIG_FILE_PATH[128] = STORSGE_DIR"/"KK_AUTH_CONFIG_FILE_PATH_SUB;
#else
__attribute__((weak)) char KK_DEFAULT_CONFIG_FILE_PATH[128] = "/app/ccuApps/config/cloud_default_config.json";
__attribute__((weak)) char KK_AUTH_CONFIG_FILE_PATH[128] = "/tmp/auth_conf.json";
#endif
enum {
DEVICE_OFFLINE = 0,
......
##########20220127 by allan##################################
1. 由于android ndk中带版本后缀的无法使用,所以新增不带版本的库,使用通用未验证
libnanomsg_a133_NoVersion.so
\ No newline at end of file
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libsqlite.so
else
LIBA_TARGET := libsqlite.a
endif
\ No newline at end of file
......@@ -23,7 +23,7 @@ SUBDIRS += common/nanomsg
SUBDIRS += common/ev
SUBDIRS += common/sqlite
SUBDIRS += common/hal
#SUBDIRS += factory_test_src/src
SUBDIRS += midware/tsl
#SUBDIRS += common/zlog
#SUBDIRS += platform/zigbee
......
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libmid.so
else
LIBA_TARGET := libmid.a
$(call Append_Conditional, LIB_SRCS_EXCLUDE, midware.c)
$(call Append_Conditional, SRCS_kk_midware, midware.c)
$(call Append_Conditional, TARGET, kk_midware)
endif
CFLAGS += -I$(TOP_DIR)/common/nanomsg/include
CFLAGS += -I$(TOP_DIR)/common/ev/include
......@@ -27,6 +31,10 @@ else ifeq ($(CONFIG_MODEL),a133)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else ifeq ($(CONFIG_MODEL),a133_ndk)
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg_a133
LDFLAGS += -L$(TOP_DIR)/common/ev -lev_a133
LDFLAGS += -L$(TOP_DIR)/common/curl -lcurl_a133
else
LDFLAGS += -L$(TOP_DIR)/common/nanomsg -lnanomsg -lanl
LDFLAGS += -L$(TOP_DIR)/common/ev -lev
......
......@@ -1977,6 +1977,46 @@ int kk_sqlite_init(void)
}
return SUCCESS_RETURN;
}
/************************************************************
*功能描述:设置主机存储路径
*输入参数:存储path
*输出参数:int
*返 回 值: 0:成功;其他:失败
*其他说明:
*************************************************************/
#ifdef CONFIG_NDK
static int setStoragePath(char* path){
if (path == NULL){
ERROR_PRINT("[%s] path is null !!!!!!!!!!!\n", __FUNCTION__);
return -1;
}
sprintf(KK_DEVICESECRET_PATH, "%s/%s", path, KK_DEVICESECRET_PATH_SUB);
sprintf(KK_TOKEN_PATH, "%s/%s", path, KK_TOKEN_PATH_SUB);
sprintf(KK_DEVICE_MAP_FILE_PATH, "%s/%s", path, KK_DEVICE_MAP_FILE_PATH_SUB);
sprintf(KK_DB_FILE, "%s/%s", path, KK_DB_FILE_SUB);
sprintf(KK_LAN_NODE_DB_FILE, "%s/%s", path, KK_LAN_NODE_DB_FILE_SUB);
sprintf(TSL_SUBDEVICE_PATH_FILE, "%s/%s", path, TSL_SUBDEVICE_PATH_FILE_SUB);
sprintf(TSL_GATEWAY_PATH_FILE, "%s/%s", path, TSL_GATEWAY_PATH_FILE_SUB);
sprintf(TSL_CCU_PATH_FILE, "%s/%s", path, TSL_CCU_PATH_FILE_SUB);
sprintf(TSL_SCENE_PATH_FILE, "%s/%s", path, TSL_SCENE_PATH_FILE_SUB);
sprintf(OTA_IMG_PATH, "%s/%s", path, OTA_IMG_PATH_SUB);
sprintf(OTA_IMG_FILE, "%s/%s", path, OTA_IMG_FILE_SUB);
sprintf(OTA_IMG_FILE_MD5, "%s/%s", path, OTA_IMG_FILE_MD5_SUB);
sprintf(KK_CONFIG_FILE_PATH, "%s/%s", path, KK_CONFIG_FILE_PATH_SUB);
#ifdef CONFIG_A133_PLATFORM
sprintf(KK_DEFAULT_CONFIG_FILE_PATH, "%s/%s", path, KK_DEFAULT_CONFIG_FILE_PATH_SUB);
sprintf(KK_AUTH_CONFIG_FILE_PATH, "%s/%s", path, KK_AUTH_CONFIG_FILE_PATH_SUB);
#endif
kk_set_storage_dir(path);
return 0;
}
#endif
/************************************************************
*功能描述:midware 主任务
*输入参数:argc:参数个数
......@@ -1985,7 +2025,11 @@ int kk_sqlite_init(void)
*返 回 值: 无
*其他说明:
*************************************************************/
#ifdef CONFIG_NDK
int mid_main(char* path)
#else
int main(const int argc, const char **argv)
#endif
{
int res = 0;
//char *tsl_str;
......@@ -1998,6 +2042,9 @@ int main(const int argc, const char **argv)
openlog("midware",LOG_PID,LOG_USER);
memset(mid_ctx, 0, sizeof(mid_ctx_t));
#ifdef CONFIG_NDK
setStoragePath(path);
#endif
HAL_Ccuid_version();
kk_pid_init();
res = HAL_Ccuid_init();
......
ifeq ($(CONFIG_MODEL),a133_ndk)
LIBSO_TARGET := libtsl.so
else
LIBA_TARGET := libtsl.a
endif
CONFIG_ENV_CFLAGS += \
-Os -Wall\
-g3 --coverage \
-D_PLATFORM_IS_LINUX_ \
CONFIG_ENV_CFLAGS += \
-DWITH_MQTT_DYN_BUF=1 \
-DWITH_MEM_STATS=0 \
-DWITH_MEM_STATS_PER_MODULE=0 \
-DWITH_MQTT_JSON_FLOW=1 \
-DWITH_MQTT_ZIP_TOPIC=1 \
-DWITH_MQTT_SUB_SHORTCUT=1 \
-DSDK_TEAM_TEST \
-D_GNU_SOURCE \
CONFIG_ENV_CFLAGS += \
-DCONFIG_HTTP_AUTH_TIMEOUT=500 \
-DCONFIG_MID_HTTP_TIMEOUT=500 \
-DCONFIG_GUIDER_AUTH_TIMEOUT=500 \
-DCONFIG_MQTT_RX_MAXLEN=5000 \
-DCONFIG_MBEDTLS_DEBUG_LEVEL=0 \
-DCONFIG_A133_PLATFORM \
-DCONFIG_NDK \
CONFIG_ENV_CFLAGS += -rdynamic
CONFIG_ENV_CFLAGS += -Wno-unused -std=c99
CONFIG_ENV_LDFLAGS += -pthread
OVERRIDE_CC = arm-linux-androideabi-gcc
OVERRIDE_AR = arm-linux-androideabi-ar
OVERRIDE_LD = arm-linux-androideabi-ld
CROSS_PREFIX = arm-linux-androideabi-
OVERRIDE_STRIP := arm-linux-androideabi-strip
......@@ -271,6 +271,33 @@ package_a133:
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/
package_a133_ndk:
@echo "$(buildDate)"
echo "kk_a133_ndk"
rm -rf kk_a133_ndk
mkdir -p kk_a133_ndk/lib
mkdir -p kk_a133_ndk/assets/kk
mkdir -p kk_a133_ndk/assets/kk/map
mkdir -p kk_a133_ndk/assets/kk/etc
cp -rf $(TOP_DIR)/VERSION $(TOP_DIR)/kk_a133_ndk/assets/kk/etc
cp -rf $(TOP_DIR)/output/release/lib/*.so $(TOP_DIR)/kk_a133_ndk/lib
cp -rf $(TOP_DIR)/common/ev/libev_a133.so $(TOP_DIR)/kk_a133_ndk/lib/libev.so
cp -rf $(TOP_DIR)/common/nanomsg/libnanomsg_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libnanomsg.so
cp -rf $(TOP_DIR)/common/curl/libcurl_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libcurl.so
cp -rf $(TOP_DIR)/common/curl/libcrypto_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libcrypto.so
cp -rf $(TOP_DIR)/common/curl/libssl_a133_NoVersion.so $(TOP_DIR)/kk_a133_ndk/lib/libssl.so
#zigbee gateway lib
cp -rf $(TOP_DIR)/nx5_soc_gw/smarthome_z3gw_a133_ndk_lib*.so $(TOP_DIR)/kk_a133_ndk/lib
cp -rf $(TOP_DIR)/opcodeMapCfg/* $(TOP_DIR)/kk_a133_ndk/assets/kk/map
cp -rf $(TOP_DIR)/config/* $(TOP_DIR)/kk_a133_ndk/assets/kk/
cp -rf $(TOP_DIR)/tsl $(TOP_DIR)/kk_a133_ndk/assets/kk/
cp -rf $(TOP_DIR)/nx5_soc_gw/kk_device_def.json $(TOP_DIR)/kk_a133_ndk/assets/kk/
squashfs: package
@echo "build squashfs"
......
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