diff --git a/common/common_func.cpp b/common/common_func.cpp index 310e187..6888fef 100644 --- a/common/common_func.cpp +++ b/common/common_func.cpp @@ -74,7 +74,7 @@ std::string GetLocalTimeWithMs(void) { char buffer[80] = {0}; struct tm nowTime; - localtime_r(&curTime.tv_sec, &nowTime); //闂傚倷鑳堕、濠傗枖濞戙垺鏅濋柕鍫濇处椤愪粙姊洪鈧粔瀵哥矆閸℃稒鐓欐繛鍫濈仢閺嬬喖鏌i敐澶夋喚闁哄本绋掔换婵嬪礋椤愵澀绮梻浣割吔閺夊灝顫囬悗瑙勬礃椤ㄥ﹥淇婇悜钘壩ч柛婊€鐒︿簺闂傚倷绀侀幖顐﹀疮閸愭祴鏋栨繛鎴欏灩閸ㄥ倿骞栧ǎ顒€濡介柣鎾亾闁诲骸绠嶉崕鍗灻洪敃鍌涘仼闂侇剙绉甸悡鏇㈡煙闁箑澧柛锝呯秺閺岋絾骞婇柛鏂跨Ф缁瑦寰勯幇鍨櫍闂侀潧臎閸滀焦啸缂傚倸鍊烽悞锕€鐣峰Ο琛℃灃闁哄洢鍨归悡婵嬫煠濞村鏉归柛瀣崌閹兘鏌囬敂鍙箓姊洪崨濠勬嚂闁瑰嚖鎷� + localtime_r(&curTime.tv_sec, &nowTime); //闂傚倷鑳堕、濠傗枖濞戙垺鏅濋柕?濇?椤?粙?洪鈧粔瀵哥矆閸℃稒鐓欐繛鍫濈仢閺??喖鏌i敐澶?喚闁哄?绋掔换婵?礋椤愵澀?梻浣割吔閺夊灝??悗瑙?礃椤ㄥ﹥淇婇悜钘壩ч柛婊€鐒︿簺闂傚倷绀侀幖?﹀?閸愭祴鏋栨繛鎴欏灩閸ㄥ倿骞?ǎ顒€濡介柣鎾亾闁??绠嶉崕鍗灻?敃鍌涘仼闂侇剙绉甸悡鏇㈡煙闁箑澧柛锝?秺閺岋絾骞婇柛鏂跨Ф缁瑦寰勯幇鍨櫍闂侀潧臎閸滀焦啸缂傚倸鍊烽悞锕€鐣峰Ο琛℃灃闁哄洢鍨归悡婵?煠濞村鏉归柛瀣崌閹兘鏌囬敂鍙?箓?洪崨濠?嚂闁瑰嚖鎷� strftime(buffer, sizeof(buffer), "%Y%m%d%H%M%S", &nowTime); char currentTime[84] = {0}; @@ -110,13 +110,13 @@ int code_convert(const char *from_charset, const char *to_charset, char *inbuf, int InitGpio(unsigned int gpioN, unsigned int inout) { int fd = 0; char tmp[100] = {0}; - //闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵勫劜椤洟鏌熸潏鈺佲偓宄闂備浇宕垫慨鎶芥倿閿曞倸纾块柟璺哄閸ヮ剦鏁嗛柛鏇ㄥ亝椤ユ繈姊洪幖鐐插姷闂傚嫬瀚伴、鏇㈡晸閿燂拷 + //闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵?劜椤洟鏌熸潏鈺佲偓宄闂備浇宕?慨鎶芥倿閿曞倸纾块柟璺哄閸?剦鏁嗛柛鏇ㄥ亝椤ユ繈姊洪幖鐐插姷闂傚?瀚伴、鏇㈡晸閿燂? fd = open("/sys/class/gpio/export", O_WRONLY); if (-1 == fd) { zlog_error(zbt, "open gpio export file error"); return 1; } - //闂傚倷鐒﹂惇褰掑垂瑜版帗鍋柛銉墻閺佸鏌i悙鍨紬io + //闂傚倷鐒﹂惇褰掑垂瑜版帗鍋柛銉墻閺佸鏌i悙??紬io sprintf(tmp, "%d", gpioN); if (write(fd, tmp, strlen(tmp)) < 0) { zlog_error(zbt, "write file operation error:%s", tmp); @@ -126,7 +126,7 @@ int InitGpio(unsigned int gpioN, unsigned int inout) { close(fd); sleep(1); -//闂傚倸鍊烽悞锕€顭垮Ο鑲╃煋闁割偅娲橀崑顏堟煕閻愭彃鍘o闂傚倷绀侀幖顐﹀磹婵犳艾绠犻柟鎹愵嚙缁犳牠鏌ㄩ悤鍌涘 +//闂傚倸鍊烽悞锕€??Ο鑲╃煋闁割偅娲橀崑?堟煕閻?彃鍘o闂傚倷绀侀幖?﹀磹婵犳艾绠犻柟鎹愵嚙缁犳牠鏌ㄩ悤鍌涘? #ifdef G2UL_GATEWAY char tmp2[100] = {0}; if (gpioN == 507) @@ -235,14 +235,14 @@ int gpio_set(unsigned int gpioN, char x) { #endif zlog_info(zbt, "set GPIO = %s", tmp); - //闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵勫劜椤洟鏌熸潏鈺佲偓宄 value闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷 + //闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵?劜椤洟鏌熸潏鈺佲偓宄 value闂傚倷绀侀幖?﹀磹缁?5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷 fd = open(tmp, O_WRONLY); if (-1 == fd) { zlog_error(zbt, "[%s] open gpio export file error", tmp); close(fd); return (-1); } - //闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涢埄鍐姇闁稿鍔戝濠氬醇閻旂儤鍒涢梺褰掓交閹凤拷 + //闂備浇宕?慨宕囩矆娴h娅犲ù鐘?儐閸嬵亪鏌涢埄鍐?闁稿鍔戝濠?醇閻旂儤鍒涢梺褰掓交閹凤? if (x) { if (-1 == write(fd, "1", sizeof("1"))) { zlog_error(zbt, "%d write operation value error", gpioN); @@ -304,13 +304,13 @@ int gpio_read(unsigned int gpioN) { #ifdef IMX6UL_GATEWAY sprintf(tmp, "/sys/class/gpio/gpio%d/value", gpioN); #endif - //闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵勫劜椤洟鏌熸潏鈺佲偓宄 value闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷 + //闂傚倷鑳堕幊鎾绘倶濮樿泛绠伴柛婵?劜椤洟鏌熸潏鈺佲偓宄 value闂傚倷绀侀幖?﹀磹缁?5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷 fd = open(tmp, O_RDONLY); if (-1 == fd) { zlog_error(zbt, "%d open gpio export file error", gpioN); return (-1); } - //闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鐗堟櫢闁跨噦鎷� value闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷 + //闂備浇宕?慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鐗堟櫢闁跨噦鎷� value闂傚倷绀侀幖?﹀磹缁?5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷 if (-1 == read(fd, &value, sizeof(value))) { zlog_error(zbt, "%d read gpiovalue is fail", gpioN); close(fd); @@ -465,14 +465,6 @@ int system_custom(const char *cmd, char *buf) { return res; } -std::string GetDayDate() { - time_t t = time(0); - char tmp[64]; - strftime(tmp, sizeof(tmp), "%Y-%m-%d", localtime(&t)); - std::string data = std::string((char *)tmp); - return data; -} - void GetTimeNet(char *timebuf, int type) { struct timeval tv; gettimeofday(&tv, NULL); @@ -504,14 +496,14 @@ std::string GetRTC(char *timestamp, int &millisecond) { printf("RTC date/time is %d-%d-%d, %02d:%02d:%02d\n", rtc_tm.tm_year + 1900, rtc_tm.tm_mon + 1, rtc_tm.tm_mday, rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec); sprintf(rtcTime, "%d-%d-%d, %02d:%02d:%02d", rtc_tm.tm_year + 1900, rtc_tm.tm_mon + 1, rtc_tm.tm_mday, rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec); - // 闂備浇顕х换鎰崲閹版澘鏋侀柛宥囧发_time缂傚倸鍊搁崐鐑芥倿閿曞倸绠板┑鐘崇閸婂灚銇勯弽銊р姇濠殿垱鎸抽弻鐔煎箲閹板灚缍堢紓浣风贰閸o綁寮婚悢鐑樺珰闁斥晛鍟扮粣鏃堟煟閻樺啿濮夐柛鏂跨┘me_t闂傚倷绀侀幖顐﹀疮椤愶附鍋夐柣鎾冲濞戙垹閿ゆ俊銈傚亾缂佺媴缍侀弻銊╂偆閸屾稑顏� + // 闂備浇?х换鎰崲閹版澘鏋侀柛?囧发_time缂傚倸鍊搁崐鐑芥倿閿曞倸绠板┑鐘崇閸婂灚銇勯弽銊р姇濠殿垱鎸抽弻鐔煎?閹板灚缍堢紓浣风贰閸o綁??婚悢鐑樺珰闁斥晛鍟扮粣鏃堟煟閻樺啿濮夐柛鏂跨┘me_t闂傚倷绀侀幖?﹀?椤愶附鍋夐柣鎾冲濞戙垹閿ゆ俊銈傚亾缂佺媴缍侀弻銊╂偆閸屾稑?� tm.tm_year = rtc_tm.tm_year; tm.tm_mon = rtc_tm.tm_mon; tm.tm_mday = rtc_tm.tm_mday; tm.tm_hour = rtc_tm.tm_hour; tm.tm_min = rtc_tm.tm_min; tm.tm_sec = rtc_tm.tm_sec; - tm.tm_isdst = -1; // 婵犵數鍋為崹鍫曞箰閸濄儳鐭撻柧蹇e亞缁犻箖鏌涢妷顔煎闁稿鍔戦弻鏇熺箾閸喖濮跺┑鈥冲级閸庢娊婀侀梺缁橈供閸犳牠鍩€椤掍胶澧い顏勫暣閺佹捇鏁撻敓锟� + tm.tm_isdst = -1; // 婵犵數鍋為崹?曞?閸濄儳?撻柧蹇e亞缁犻箖鏌涢妷?煎?闁?鍔戦弻鏇熺?閸喖?跺┑鈥冲级閸庢娊婀侀梺缁橈供閸犳牠鍩?椤掍胶澧い顏勫暣閺佹捇鏁撻敓锟? rtc_timestamp = mktime(&tm); @@ -525,18 +517,6 @@ std::string GetRTC(char *timestamp, int &millisecond) { return std::string(rtcTime); } -void GetTime_(char time_buff[], TIME_SIZE len) { - int i = sizeof(time_buff); - memset(time_buff, 0, i); - time_t timep; - time(&timep); - strcpy(time_buff, ctime(&timep)); - std::string strtemp = time_buff; - strtemp = strtemp.substr(11, len); - memset(time_buff, 0, strlen(time_buff)); - strcpy(time_buff, strtemp.c_str()); -} - std::string ReadStrByOpt(std::string filename, std::string config, std::string option) { boost::mutex::scoped_lock lock(s_config_mu); Json::Value root; @@ -739,8 +719,8 @@ void ImportConfig(std::string filename) { } int UpdataDataNodeConfig(std::string filename) { - std::vector vecDataNode; //婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸楅亶鏌熺€电ǹ浠ч柍缁樻閺屽秷顧侀柛鎾存皑缁瑦寰勯幇鍨櫆闂佸憡娲﹂崢浠嬪箟閼姐倗纾藉ù锝堫嚃濞堬絿绱撻崒娑欑殤闁硅弓鍗冲畷鍗炩槈濡晝鏇㈡⒑绾懏褰х紒鐘冲灥閳诲秹鏁撻敓锟� - //婵犵數鍋涢顓熸叏娴兼潙纾块柟缁㈠櫘閺佸霉閸忓吋缍戠紒鈧崒鐐寸厪濠㈣埖鐩顕€鏌i幘瀵告噮闁逞屽墯椤旀牠宕伴弽顐e床闁瑰鍋炲▍鐘绘煥閺囨浜惧銈嗘穿缂嶄線宕洪埀顒併亜閹烘垵顏╂俊顐o耿閺屾盯濡烽鐐搭€嶅銈嗗姧閹凤拷 + std::vector vecDataNode; //婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸?亶鏌熺?电ǹ浠ч柍缁樻閺屽秷顧侀柛鎾存皑缁瑦?勯幇鍨櫆闂佸憡娲﹂崢浠??箟閼姐倗纾藉ù锝?嚃濞?絿绱撻崒娑欑殤闁硅弓鍗冲畷鍗炩?濡晝鏇㈡⒑绾懏褰х紒鐘冲灥閳诲秹鏁撻敓锟? + //婵犵數鍋涢顓熸叏娴兼潙纾块柟缁㈠櫘閺佸霉閸忓吋缍戠紒鈧崒鐐寸厪濠㈣埖鐩顕€鏌i幘瀵告?闁逞屽?椤旀牠宕伴弽顐e床闁瑰鍋炲▍鐘绘煥閺囨浜惧銈嗘穿缂嶄線宕洪埀顒併亜閹烘垵顏╂俊?o耿閺屾盯濡烽鐐??嶅銈嗗姧閹凤拷 std::ifstream csv_data(filename, std::ios::in); int iRet = 0; if (!csv_data.is_open()) { @@ -748,16 +728,16 @@ int UpdataDataNodeConfig(std::string filename) { return -1; } std::string line; - std::vector words; //婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸楅亶鏌熺€电ǹ浠ч柍缁樻閺屽秷顧侀柛鎾存皑缁瑦寰勯幇鍨櫆闂佸憡娲﹂崢浠嬪箟閼姐倗纾藉ù锝堫嚃濞堬絿绱撻崒娑欑殤闁硅弓鍗冲畷鍗炩槈濡晝鏇㈡⒑绾懏褰х紒鐘冲灥閳诲秹鏁撻敓锟� + std::vector words; //婵犵數濮伴崹鐟帮耿鏉堛劍娅犳俊銈傚亾閸?亶鏌熺?电ǹ浠ч柍缁樻閺屽秷顧侀柛鎾存皑缁瑦?勯幇鍨櫆闂佸憡娲﹂崢浠??箟閼姐倗纾藉ù锝?嚃濞?絿绱撻崒娑欑殤闁硅弓鍗冲畷鍗炩?濡晝鏇㈡⒑绾懏褰х紒鐘冲灥閳诲秹鏁撻敓锟? std::string word; DataNodeInfo dataNode; - // ------------闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞妞ゆ巻鍋撻柡瀣╃窔閺岋絽螖閳ь剟鎮ч崱娆戠焾闁跨噦鎷�----------------- - // 闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞妞ゆ巻鍋撻柛鎰ㄥ亾闂備焦鎮堕崕娲礈閿曞倸姹叉い鏍仦閸嬬姵绻涢幋锝嗙彧閻庢熬鎷� + // ------------闂備浇宕?慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞?ゆ巻鍋撻柡瀣╃窔閺岋絽螖閳ь剟鎮ч崱娆戠焾闁跨噦鎷?----------------- + // 闂備浇宕?慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞?ゆ巻鍋撻柛鎰ㄥ亾闂備焦?堕崕娲礈閿曞倸姹叉い鏍仦閸?姵绻涢幋锝嗙彧閻庢熬鎷� getline(csv_data, line); std::istringstream sin; - // 闂傚倷绀佸﹢杈ㄧ仚濡炪倧闄勬繛濠囧Υ娓氣偓楠炲鎮╅崘鑼酱闂佽崵濮村ú锕併亹閸愵亜绶ら柛褎顨嗛悡娑樏归敐鍛儓妞わ綀鍋愰埀顒冾潐閹碱偊骞忛敓锟� + // 闂傚倷绀佸﹢杈ㄧ仚濡?倧闄?繛濠?Υ娓氣偓?炲鎮╅崘鑼酱闂佽崵?村ú锕併亹閸愵亜绶ら柛褎顨嗛悡娑樏归敐鍛儓?わ綀鍋愰埀顒冾潐閹碱偊骞忛敓锟? while (getline(csv_data, line)) { words.clear(); sin.clear(); @@ -954,60 +934,6 @@ std::string IpAddrInit() { return strip; } -std::string &ClearAllSpace(std::string &str) { - size_t index = 0; - if (!str.empty()) { - while ((index = str.find(' ', index)) != std::string::npos) { - str.erase(index, 1); - } - } - return str; -} - -std::string GetSysInfo() { - const char *getCpuUse = "top -b -n 1 |grep Cpu | cut -d \",\" -f 1 | cut -d \":\" -f 2 |tr -d ' us'"; - char chRes[100] = {0}; - system_custom(getCpuUse, chRes); - std::string CpuUse = std::string(chRes); - - const char *getCpuSys = "top -b -n 1 |grep Cpu | cut -d \",\" -f 2 |tr -d ' sy'"; - memset(chRes, 0, 100); - system_custom(getCpuSys, chRes); - std::string CpuSys = std::string(chRes); - - const char *getMemtotal = "cat /proc/meminfo | grep MemTotal | awk -F" - ":" - " '{print $2}' |tr -d ' kB'"; - memset(chRes, 0, 100); - system_custom(getMemtotal, chRes); - std::string MemTotal = std::string(chRes); - - const char *getMemFree = "cat /proc/meminfo | grep MemFree | awk -F" - ":" - " '{print $2}' |tr -d ' kB'"; - memset(chRes, 0, 100); - system_custom(getMemFree, chRes); - std::string MemFree = std::string(chRes); - - float a = atof(MemFree.c_str()); - float b = atof(MemTotal.c_str()); - float c = (1 - a / b) * 100; - - const char *getEmmcInfo = "df -h | grep /dev/root"; - memset(chRes, 0, 100); - system_custom(getEmmcInfo, chRes); - std::string Emmcinfo = std::string(chRes); - std::size_t found = Emmcinfo.find("%"); - if (found != std::string::npos) { - Emmcinfo = Emmcinfo.substr(found - 3, 3); - } - Emmcinfo = ClearAllSpace(Emmcinfo); - - char sysinfo[128] = {0}; - sprintf(sysinfo, "%-13s%-13s%-13s%-13s ", std::to_string(c).substr(0, 4).c_str(), CpuSys.c_str(), CpuUse.c_str(), Emmcinfo.c_str()); - return std::string(sysinfo); -} - int SetTime(unsigned long seconds, int milliseconds) { struct timeval tv; time_t timep = (time_t)seconds; @@ -1088,7 +1014,7 @@ std::string GetFileContent(std::string filename, int line) { return strFileContent; } -// BOOST闂傚倷鑳堕崕鐢稿磻閹捐绀夌€广儱顦介弫鍡樼節婵犲倻澧曠紒鈧崱妯肩闁糕剝锚缁旈箖鏌嶈閸撴瑩宕姘肩劷闊洦绋戠粻姘辨喐韫囨洘鍏滈柍褜鍓氭穱濠囧Χ閸ヮ灝銏ゆ煟椤撴繄绐旈柟顖欑劍缁诲懘鎯囬弴銏♀拺闂傚牃鏅犲顔界節閵忊埗顏堚€﹂崶顒€绀冩い鏃囧琚濋梻浣稿閸嬪棝宕伴幘璇参ラ柨鐕傛嫹 +// BOOST闂傚倷鑳堕崕鐢?磻閹捐绀夌€广儱顦介?鍡?節婵犲倻澧曠紒鈧崱妯肩闁糕剝锚缁旈箖鏌嶈閸撴瑩宕姘肩劷闊洦绋戠粻?辨喐韫囨洘鍏滈柍?鍓?穱濠?Χ閸ヮ灝銏ゆ煟椤撴繄绐旈柟顖欑劍缁诲懘??弴銏♀拺闂傚牃鏅犲?界節閵忊埗?堚?﹂崶顒€绀冩い鏃囧琚濋梻浣?閸??棝宕伴幘璇参ラ柨鐕傛? bool CheckIP(const char *ip) { boost::xpressive::cregex reg_ip = boost::xpressive::cregex::compile("(25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])[.](25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])"); @@ -1098,44 +1024,26 @@ bool CheckIP(const char *ip) { bool IsValidMask(std::string mask) { int iRet = -1; - // 闂備浇顕х换鎰崲閹版澘绠查柛鎴︿憾濮婃椽妫冮埡鍛€嶅┑鐘灪閿氭い顓炴喘瀹曟﹢顢欓挊澶夌紦闂備胶鎳撻崥鈧悹浣圭叀瀹曟垿骞橀弬銉ョ墯闂佸憡渚楅崢娲礌閺嶎厽鈷戦柛娑橈工缁楁帗淇婇锝庢當闁伙絿鍏樺畷鐔碱敆娴i攱鍞夋繝鐢靛仦閸ㄥ爼鏁嬮梺缁樻尰閸ㄥ潡寮诲澶娢ㄩ柨鏂垮⒔閻f儳鈹戦悙瀛樼稇婵☆偅绻堥悰顕€骞嬮敃鈧~鍛存煃閵夈儳锛嶅ù婊愭嫹 闂傚倷鑳堕崑銊╁磿閼碱剙鍨濋柛顐犲灱婵娊鏌嶉崫鍕偓瑙勭閵堝棛绠鹃柟瀵镐紳椤忓牊鍋傞柟杈鹃檮閻撴稑霉閿濆懏鎲搁柟鐣屽█閺岋繝宕卞▎蹇旂亪闂佹悶鍔戠粻鏍极閹剧粯鏅搁柨鐕傛嫹 + // 闂備浇?х换鎰崲閹版澘绠查柛鎴︿憾?婃椽??埡鍛€嶅┑鐘?閿氭い?炴喘瀹曟﹢顢欓挊澶?紦闂備胶鎳撻崥鈧悹浣?叀瀹曟垿骞橀?銉ョ?闂佸憡渚楅崢娲礌閺嶎厽鈷戦柛娑橈工缁?帗淇婇锝庢當闁伙絿鍏樺畷鐔碱敆娴i攱鍞?繝鐢靛仦閸ㄥ爼鏁??梺缁樻尰閸ㄥ潡??诲澶娢ㄩ柨鏂垮⒔閻f儳鈹戦悙瀛?稇婵☆偅绻堥悰顕€骞??敃鈧~鍛存煃閵夈儳锛嶅ù婊愭? 闂傚倷鑳堕崑銊╁磿閼碱剙鍨濋柛?犲灱婵娊鏌嶉?鍕偓瑙?閵堝?绠鹃柟瀵镐紳椤忓牊鍋傞柟杈鹃??閻撴稑霉閿濆懏鎲搁柟鐣屽█閺岋繝宕卞▎蹇旂亪闂佹悶鍔戠粻鏍极閹剧粯鏅搁柨鐕傛?? struct in_addr s; iRet = inet_pton(AF_INET, mask.c_str(), &s); - // 闂備礁鎼ˇ閬嶅磿閹版澘绀堟慨姗嗗墰閺嗭箓鏌$仦璇插姎缂佺媴缍侀弻鐔兼焽閿曗偓婢ь喗銇勯銈呪枅鐎殿喖鐖奸崺锟犲磼濞戞艾寮虫繝鐢靛仩椤曟粓骞忛敓锟�1闂傚倷鐒︾€笛呯矙閹达附鍎楀〒姘e亾妞ゃ垺宀搁崺锟犲川椤撶偛鎸ら梺鐟板悑閻n亪宕归搹鍦噮闂傚倷绀侀幖顐︽偋閸℃蛋鍥ㄥ閺夋垹鏌ч梺闈涱槴閺呮粓宕曞澶嬬厱闁规惌鍘介惁浠嬫⒒娓氣偓濞煎姊介崟顐唵婵☆垯璀﹂悞浠嬫煥閻曞倹瀚� + // 闂備礁鎼ˇ閬嶅磿閹版澘绀堟慨姗嗗墰閺?箓鏌$仦璇插姎缂佺?缍侀弻鐔兼焽閿曗偓?ь喗銇勯銈?枅鐎殿喖鐖奸崺锟犲磼濞戞艾???繝鐢靛仩椤曟粓骞忛敓锟�1闂傚倷鐒︾€笛呯矙閹达附鍎?〒?e亾?ゃ垺宀搁崺锟犲川椤撶偛鎸ら梺鐟板悑閻n?宕归搹鍦噮闂傚倷绀侀幖?︽偋閸℃蛋鍥ㄥ閺夋垹鏌ч梺闈涱槴閺?粓宕曞澶??厱闁规惌鍘介惁浠?⒒娓氣偓濞煎?介崟?唵婵☆垯璀﹂悞浠??煥閻曞倹瀚� if (iRet == 1) { - // 婵犵數鍋涢顓熸叏閺夋嚚瑙勵槹鎼达絿顦繝銏f硾閻偐澹曢崗鑲╃瘈濠电姴鍊搁弳鐔兼煙閻e苯鏋涢柡灞诲€濆畷顐﹀礋椤愮喎浜鹃柛褎顨呰繚闁瑰吋鐣崹娲磿閻旇偐鍙撻柛銉e妿椤h尙绱掓笟鍥ф珝闁哄瞼鍠撻幏鐘诲焺閸愵亞鐛㈤梺鑽ゅУ閸旀宕伴幇顔剧煓濠㈣泛鐬肩壕鍏间繆椤栨繂鍚归柣銊ヮ煼閺岋絾鎯旈姀鈶╁濡炪們鍔岄ˇ鐗堢┍婵犲浂鏁囬柣鏃傜節缁ㄥ姊洪崨濠勭畵閻庢凹鍠氶崰濠囨晸閿燂拷 + // 婵犵數鍋涢顓熸叏閺夋嚚瑙勵槹鎼达絿顦繝銏f硾閻偐澹曢崗鑲╃瘈濠电姴鍊搁弳鐔兼煙閻e?鏋涢柡灞诲€濆畷顐﹀礋椤?喎浜鹃柛褎顨呰繚闁瑰吋鐣崹娲磿閻旇偐鍙撻柛銉e?椤h尙绱掓笟鍥ф珝闁哄瞼鍠撻幏鐘诲焺閸愵亞鐛㈤梺鑽ゅУ閸旀宕伴幇顔剧煓濠㈣泛?肩?鍏间繆椤栨繂鍚归柣銊ヮ煼閺岋絾?旈?鈶╁濡?們鍔岄ˇ鐗堢┍婵犲浂鏁?柣鏃傜節缁ㄥ?洪崨濠?畵閻庢凹鍠氶崰濠囨晸閿燂? unsigned int addr = ntohl(s.s_addr); - // 闂備礁鎼ˇ閬嶅磿閹版澘绀堟慨姗嗗墰閺嗭箓鏌涘▎蹇fШ闁崇粯妫冨鍫曟倷閺夋埈妫嗛梺璋庡啰鐒哥€殿喖鐖奸崺锟犲磼濠х偓顫嶉梻浣虹《閺呮粓銆冮崼銉ョ劦妞ゆ帊鑳堕埊鏇熴亜閵娿儳澧︽い銏$墬閹峰懘宕烽娑欑亙闂備浇娉曢崳锕傚箯閿燂拷 + // 闂備礁鎼ˇ閬嶅磿閹版澘绀堟慨姗嗗墰閺?箓鏌涘▎蹇fШ闁崇???鍫曟倷閺夋埈?嗛梺璋庡啰鐒哥€殿喖鐖奸崺锟犲磼濠х偓?嶉梻浣虹《閺?粓銆?崼銉ョ劦妞ゆ帊鑳堕埊鏇熴亜閵娿儳澧︽い銏$??閹峰懘宕烽娑欑亙闂備浇娉曢崳锕傚??閿燂? std::bitset<32> b((int)addr); std::string strMask = b.to_string(); - // 闂傚倷绀侀幖顐ゆ偖椤愶箑纾块柛娆忣槺閻濊埖淇婇婵嗗惞妞も晞灏欓埀顒€鍘滈崑鎾绘煕閹板吀绨芥い鏃€甯″娲川婵犲倻顑勫┑鐐差槹閻╊垶骞冩ウ娆炬Ь缂備緡鍣崣鍐极閸岀偞鍤勬い鏍电稻閼哥懓鈹戦悙鏉戠仸闁瑰皷鏅犲畷銏ゅ箚瑜夐弸鏃堟煥閻曞倹瀚�"01"闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍亼閳ь剙鎳撻ˇ鍦偓娈垮枤鏋顏冨嵆閸┾偓妞ゆ帒鍊荤粻鏂款熆鐠哄搫顦柛瀣尭閳藉鈻嶉褌绨婚柨鏇樺灲椤㈡棃宕奸悢鍛婄彨闁诲骸鍘滈崑鎾绘煕閹邦厼鍔ゆ繛鍫灦濮婃椽宕崟顐患闁诲孩绋堥弲娑樺祫闂佸綊妫跨粈浣衡偓姘槸椤法鎹勬笟顖氬壉濠电偛鎳庣换姗€寮婚敐澶娢╅柕澶堝労娴犲ジ姊洪悜鈺佸⒉闁荤啙鍛潟闁哄啫鐗嗙粻锝夋煟閹邦垰钄肩紒鈧€n喗鈷戞繛鑼额嚙濞呮瑩鏌熼崙銈嗗 + // 闂傚倷绀侀幖?ゆ偖椤愶箑纾块柛娆忣槺閻濊埖淇婇婵嗗惞?も晞灏欓埀顒€鍘滈崑鎾绘煕閹板吀绨芥い鏃??″娲川婵犲倻?勫┑鐐?槹閻╊垶骞冩ウ娆?Ь缂備緡鍣崣鍐极閸岀偞鍤?い鏍电稻閼哥懓鈹戦悙鏉戠仸闁瑰皷鏅犲畷銏ゅ箚瑜?弸鏃堟煥閻曞倹瀚�"01"闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍?亼閳ь剙鎳撻ˇ鍦偓娈垮枤鏋顏冨嵆閸┾偓妞ゆ帒鍊荤粻鏂?熆鐠哄?顦柛瀣?閳藉?鈻嶉?绨婚柨鏇樺灲椤㈡?宕奸悢鍛婄彨闁诲?鍘滈崑鎾绘煕閹邦厼鍔ゆ繛鍫灦?婃椽宕崟?患闁诲?绋堥弲娑樺?闂佸綊妫跨粈浣衡偓?槸椤法鎹勬笟?氬壉濠电偛鎳庣换?€?婚敐澶娢╅柕澶堝労娴犲ジ姊洪悜鈺佸⒉闁荤啙鍛潟闁哄?鐗嗙粻锝夋煟閹邦垰钄肩紒鈧?n喗鈷戞繛鑼额嚙濞呮瑩鏌熼崙銈嗗? return (strMask.find("01") == std::string::npos); } return false; } -double GetHardDiskFree() { - char hardName[32]; - char hardTotal[32]; - char hardUse[32]; - char hardFree[32]; - char rateHardUse[32]; - const char *getEmmcInfo = "df -h | grep /opt"; - char chRes[100]; - memset(chRes, 0, 100); - system_custom(getEmmcInfo, chRes); - sscanf(chRes, "%s%s%s%s%s", hardName, hardTotal, hardUse, hardFree, rateHardUse); - std::string strhardTotal(hardTotal); - std::string strhardFree(hardFree); - std::string strrateHardUse(rateHardUse); - double freeDisk = atof(strhardFree.substr(0, strhardFree.length() - 1).c_str()); - return freeDisk; -} - int getSysIntValue(char *key) { if (key == NULL) { zlog_error(zct, "key is NULL"); @@ -1240,24 +1148,24 @@ std::string GetSysStatus() { return strJson; } -// 闂備浇顕х换鎰崲閹邦儵娑樜旈埀顒勬偩閻戣姤鍋勯柛婵勫劗閺嬫牠姊虹捄銊ユ珢闁瑰嚖鎷�16闂備礁鎼ˇ顐﹀疾濠婂懐鐭欓柟杈剧畱閺勩儲淇婇妶鍛殜闁稿鎸搁埥澶娾枎濡崵鏆俊鐐€栭崹鎶芥倿閿曗偓椤洭顢旈崼顐f櫌婵炶揪绲挎灙缂併劊鍎茬换娑㈠箣閻愭潙纰嶉梺鍦拡閸嬪﹪銆佸棰濇晩闁兼亽鍎遍崝鍛存⒑閸濆嫬鏆欓柛濠傜秺閹箖鏌嗗鍡椻偓鍨箾閹寸偟鎳愭繛鍫熺懃閳规垿鍩ラ崱妤€绫嶉悗瑙勬礃閸旀瑩寮幘缁樻櫢闁跨噦鎷� +// 闂備浇?х换鎰崲閹邦儵娑?旈埀顒勬偩閻戣姤鍋勯柛婵?劗閺?牠?虹捄銊ユ珢闁瑰嚖鎷?16闂備礁鎼ˇ?﹀疾濠婂懐?欓柟杈剧畱閺勩儲淇婇妶鍛殜闁?鎸搁埥澶娾枎濡崵鏆俊鐐??崹鎶芥倿閿曗偓椤?顢旈崼?f櫌婵炶揪绲挎灙缂併劊鍎茬换娑㈠?閻?潙纰嶉梺鍦拡閸??銆佸棰濇晩闁兼亽鍎遍崝鍛存⒑閸濆??鏆欓柛濠傜秺閹箖鏌嗗鍡椻偓鍨?閹寸偟鎳愭繛鍫熺懃閳?垿鍩ラ崱妤??嶉悗瑙勬礃閸旀瑩??幘缁樻櫢闁跨噦鎷� unsigned char hexCharToByte(char c) { if (c >= '0' && c <= '9') return c - '0'; if (c >= 'A' && c <= 'F') return c - 'A' + 10; if (c >= 'a' && c <= 'f') return c - 'a' + 10; - return 0; // 闂備浇顕уù鐑藉极婵犳艾鐒垫い鎺嶈兌閵嗘帡鏌よぐ鎺旂暫闁哄矉绻濆畷姗€顢旈崟鎴秮閺岋繝宕ㄩ銏犲Е闂佽鍨伴崯鏉戠暦閻旂⒈鏁冮柕鍫濇閸犳洜绱撻崒娆戝妽妞ゃ劍鍔楅幏瀣晲閸ヮ煈娼熷┑鐘绘涧濞诧附绂嶉妶澶嬬厸闁稿本绋戦婊呯磼閳ь剟鍩€閿燂拷0 + return 0; // 闂備浇?уù鐑藉极婵犳艾鐒?い鎺嶈兌閵嗘帡鏌よぐ鎺旂?闁哄矉绻濆畷姗€顢旈崟鎴秮閺岋繝宕ㄩ銏犲Е闂佽鍨伴崯鏉戠暦閻旂⒈鏁冮柕鍫濇閸犳洜绱撻崒娆戝妽?ゃ劍鍔楅幏瀣晲閸?煈?熷┑鐘绘涧濞?附绂嶉妶澶?厸闁稿本绋戦?呯磼閳ь剟鍩?閿燂?0 } -// 闂備浇顕х换鎰殽韫囨稑绠柨鐕傛嫹16闂備礁鎼ˇ顐﹀疾濠婂懐鐭欓柟杈剧畱閺勩儲淇婇妶鍛殜闁稿鎸搁埥澶娾枎濡崵鏆俊鐐€栭崹鎶芥倿閿斿墽鐭欏鑸靛姈閸ゆ垿鏌ら崫銉︽毄闁靛牜鍣e铏规兜閸滀礁娈愬┑鐘噰閸嬫捇鏌i悩鍐插闁哥姵鎹囬崺鈧い鎺嶈兌閳洘銇勯妸銉Ч濞e洤锕、姗€濮€閻樺磭鈧剟姊虹憴鍕靛晱闁哥姵宀搁幆宀勬晸閿燂拷 +// 闂備浇?х换鎰殽韫囨稑绠柨鐕傛??16闂備礁鎼ˇ?﹀疾濠婂懐?欓柟杈剧畱閺勩儲淇婇妶鍛殜闁?鎸搁埥澶娾枎濡崵鏆俊鐐??崹鎶芥倿閿斿墽?欏鑸靛姈閸ゆ垿鏌ら?銉︽毄闁靛牜鍣e铏规兜閸滀礁娈?┑鐘噰閸??捇鏌i悩鍐插闁哥姵鎹囬崺鈧い鎺嶈兌閳洘銇勯妸銉Ч濞e洤锕、?€??閻樺?鈧剟?虹憴鍕靛晱闁哥姵宀搁幆宀?晸閿燂拷 int hexStringToBytes(const char *hexStr, unsigned char *bytes, size_t bytesSize) { size_t hexLen = strlen(hexStr); if (hexLen % 2 != 0) { zlog_error(zct, "hexLen:%d is odd", hexLen); - return -1; // Hex闂備浇顕х€涒晝绮欓幒妞尖偓鍐醇閵夘喗鏅炴繛杈剧到濠€閬嶅煝閺冨牊鐓涢悘鐐额嚙閸旀粍鎱ㄩ敐鍡楀妤犵偞鐗楀蹇涘礈瑜忛弳鐘电磽娴i潧濮€閻忓繑鐟╅獮蹇涙偐鐠囧弬銊╂煥閺傚灝寤洪柨鏇炲€归悡鏇㈡倵閿濆骸骞栭柣鎾村姍閺岋繝宕遍鐔奉伓 + return -1; // Hex闂備浇?х€涒晝?欓幒妞尖偓鍐醇閵?喗鏅炴繛杈剧到濠€?嶅煝閺冨牊鐓涢悘鐐?嚙閸旀粍鎱ㄩ敐鍡?妤犵偞鐗?蹇涘?瑜忛弳鐘电磽娴i潧??閻忓繑鐟╅獮蹇涙偐鐠囧弬銊╂煥閺傚灝寤洪柨鏇炲€归悡鏇㈡倵閿濆?骞?柣鎾村?閺岋繝宕遍鐔奉伓 } if (bytesSize < hexLen / 2) { zlog_error(zct, "bytesSize:%d < hexLen:%d", bytesSize, hexLen); - return -1; // 闂備浇顕х€涒晝绮欓幒妞尖偓鍐╁緞鐎b晝绠氬銈嗘尪閸ㄥ綊寮告笟鈧弻鐔封枔閸喗鐏撻梺娲诲幖椤戝寮婚敐澶娢╅柕澶堝労娴犲ジ姊洪棃娑欐悙婵炲眰鍔嶇粋宥咁潰瀹€鈧悿鈧柟鑹版彧缁插潡骞夎ぐ鎺撶厽闁斥晛鍟粭鎺楁煕濡崵澧紒鍌氱Ч楠炴帡寮崫鍕闂佽崵鍠撴晶妤冩嫻閿熺姵鐓欓柟顖嗗啯鍊┑鐐碘拡娴滎亪銆佸Δ浣瑰缂佸娉曢崫搴ㄦ⒒娴e憡鍟為柤瑙勫劤闇夌€瑰嫭澹嬮弸鏃堟煙鐎电ǹ袥闁稿鎸搁埥澶娾枎濡崵鏆┑鐘殿暯濡插嫰骞忛敓锟� + return -1; // 闂備浇?х€涒晝?欓幒妞尖偓鍐╁緞鐎b晝绠?銈嗘尪閸ㄥ綊??告笟鈧弻鐔封枔閸喗鐏撻梺娲?幖椤戝??婚敐澶娢╅柕澶堝労娴犲ジ姊洪棃娑欐悙婵炲眰鍔嶇粋宥咁潰瀹€鈧悿鈧柟鑹版彧缁插潡骞?ぐ鎺撶厽闁斥晛鍟?鎺?煕濡崵澧紒鍌氱Ч楠炴帡??崫鍕闂佽崵鍠撴晶妤冩?閿熺姵鐓欓柟?嗗?鍊┑鐐碘拡娴滎?銆佸Δ浣瑰缂佸娉曢?搴ㄦ⒒娴e憡鍟為柤瑙?劤闇夌€瑰??澹??弸鏃堟煙鐎电ǹ袥闁稿鎸搁埥澶娾枎濡崵鏆┑鐘?暯濡插嫰骞忛敓锟� } for (size_t i = 0; i < hexLen; i += 2) { @@ -1283,13 +1191,13 @@ void hexToAscii(const char *hexStr, char *asciiStr) { int i, j = 0; for (i = 0; i < len; i += 2) { - // 闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞闁靛ě鈧弸鏍⒑闂堟稓澧曢悗姘嵆瀹曠數鈧綆鍠楅崐鍨箾閹寸偟鎳愭繛鍫熒戦妵鍕箣濠婂懐鐛㈤梺缁樹緱閸犳岸骞戦崟顖涙優閻熸瑥瀚烽崯鍫ユ⒒娴e懙鍦崲閹达箑纾块柣鎾崇瘍瑜版帒骞㈡繛鎴烆焽椤斿顪冮妶搴′航闁告瑢鍋撶紓浣插亾閻庯綆鍠楅悡娑樏归敐鍛喐闁圭晫濞€閺岋繝宕遍鐔奉伓 + // 闂備浇宕?慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉跨倞闁靛ě鈧弸鏍⒑闂堟稓澧曢悗?嵆瀹曠數鈧綆鍠?崐??閹寸偟鎳愭繛鍫熒戦妵鍕?濠婂懐鐛㈤梺缁樹緱閸犳岸骞戦崟顖涙?閻熸瑥瀚烽??ユ⒒娴e懙鍦崲閹达箑纾块柣鎾崇瘍瑜版帒骞㈡繛鎴烆焽椤斿???妶搴′航闁告瑢鍋撶紓浣插亾閻?綆鍠楅悡娑樏归敐鍛喐闁??濞€閺岋繝宕遍鐔?伓 int byte; sscanf(&hexStr[i], "%2x", &byte); - // 闂備浇顕х换鎰崲閹邦儵娑樷枎閹捐櫕杈堥梺鎸庣箓椤︻垶寮告笟鈧弻鐔风暋閻楀牊鎷辩紓浣风贰閸o綁寮婚悢鐑樺珰闁斥晛鍟扮粣鏃堟煟閻樺啿濮夐柛鐘虫崌閸┾偓妞ゆ帒鍊归弳鈺呮煙閾忣偅灏甸柤娲憾瀵濡烽敃鈧崜顓㈡⒑閸涘﹤鐏﹂柍鐟伴拤II闂備浇顕х€涒晝绮欓幒妞尖偓鍐醇閵夘喗鏅為梺璺ㄥ櫐閹凤拷 + // 闂備浇?х换鎰崲閹邦儵娑樷枎閹捐櫕杈堥梺鎸庣箓椤︻垶??告笟鈧弻鐔风暋閻?牊鎷辩紓浣?贰閸o綁??婚悢鐑樺珰闁斥晛鍟扮粣鏃堟煟閻樺啿濮夐柛鐘虫崌閸┾偓妞ゆ帒鍊归弳鈺呮煙閾忣偅灏甸柤娲憾瀵濡烽敃鈧崜?㈡⒑閸涘﹤鐏﹂柍鐟伴拤II闂備浇?х€涒晝?欓幒妞尖偓鍐醇閵?喗鏅為梺璺ㄥ櫐閹凤? asciiStr[j++] = (char)byte; } - // 濠电姷鏁搁崕鎴犵礊閳ь剚銇勯弴鍡楀閸欏繘鏌i幇顕呮毌闁稿鎸搁埥澶娾枎濡崵鏆俊鐐€栭崹鎶芥倿閿斿墽鐭欏鑸靛姈閸ゆ垶銇勯幒鎴濃偓鍦焊濠靛鈷戦柛婵嗗濡叉椽鏌涢悩铏磳妞ゃ垺鐗犻弫鎾绘晸閿燂拷 + // 濠电姷鏁搁崕鎴犵礊閳ь剚銇?弴鍡楀?閸欏繘鏌i幇顕呮毌闁稿鎸搁埥澶娾枎濡崵鏆俊鐐??崹鎶芥倿閿斿墽?欏鑸靛姈閸ゆ垶銇勯幒鎴濃偓鍦焊濠靛鈷戦柛婵嗗濡叉椽鏌涢悩铏磳?ゃ垺鐗犻弫鎾绘晸閿燂拷 asciiStr[j] = '\0'; } @@ -1327,7 +1235,7 @@ void swap(char *data) { int OpenWatchDog() { int fd = -1; InitGpio(GlobalConfig::GPIO_G.hardWatchDog, 1); - gpio_set(GlobalConfig::GPIO_G.hardWatchDog, 1); //婵犲痉鏉库偓鏇㈠磹瑜版巻鈧箓宕堕鈧弸渚€鏌熼梻纾嬪厡鐎规挷绶氶弻褑绠涢敐鍛凹缂備胶濮电敮锟犲蓟閳╁啰鐟瑰┑鐘插暙椤忥拷 + gpio_set(GlobalConfig::GPIO_G.hardWatchDog, 1); //婵犲痉鏉库偓鏇㈠磹瑜版巻鈧箓宕堕鈧弸渚?鏌熼梻纾?厡鐎规挷绶氶弻?绠涢敐鍛凹缂備胶?电敮锟犲蓟閳╁啰鐟瑰┑鐘插暙椤忥? if (0 > (fd = open("/dev/watchdog", O_WRONLY))) { zlog_error(zbt, "fail to open /dev/watchdog"); } @@ -1388,7 +1296,7 @@ std::string GetOneContent(const char *szData, int nRow, const char *szSeparate) int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) { zlog_info(zbt, "[set_opt] speed:%d, bits:%d, event:%c, stop:%d", nSpeed, nBits, nEvent, nStop); struct termios newtio, oldtio; - if (tcgetattr(fd, &oldtio) != 0) { //濠电姷顣藉Σ鍛村磻閳ь剟鏌涚€n偅灏扮紒缁樼洴瀵爼骞嬮鐐插闂佽崵鍠愬ú鏍涘┑鍡欐殾闁挎繂顦伴弲鏌ユ煕閳╁喚鐒洪柨鏇炲€归悡鏇熸叏濡搫鈷旈柣锝堜含閹叉悂鎮ч崼銏犲绩闂佽鍠曠划娆撳极閹剧粯鏅搁柨鐕傛嫹 + if (tcgetattr(fd, &oldtio) != 0) { //濠电姷顣藉Σ鍛村磻閳ь剟鏌涚?n偅灏扮紒缁樼洴瀵爼骞?鐐插闂佽崵鍠?ú鏍涘┑鍡欐殾闁挎繂顦伴弲鏌ユ煕閳╁喚鐒?柨鏇炲€归悡鏇熸叏濡搫鈷旈柣锝堜含閹叉悂鎮ч崼銏犲绩闂佽鍠曠划娆撳极閹剧粯鏅搁柨鐕傛?? zlog_error(zbt, "tcgetattr fail"); return -1; } @@ -1421,7 +1329,7 @@ int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) { break; } - switch (nSpeed) //闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涢埄鍐︿粶闁哄鐗犻弻鏇$疀鐎n亞浠煎銈冨劜椤ㄥ﹪寮婚敐鍛牚闁归偊鍘奸锟� + switch (nSpeed) //闂備浇宕?慨宕囩矆娴h娅犲ù鐘?儐閸嬵亪鏌涢埄鍐︿粶闁哄鐗犻弻鏇$疀鐎n亞浠煎銈冨劜椤ㄥ﹪?婚敐鍛牚闁归偊鍘奸锟? { case 2400: cfsetispeed(&newtio, B2400); @@ -1449,7 +1357,7 @@ int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) { zlog_error(zbt, "invalid speed:%d, use B9600", nSpeed); break; } - if (nStop == 1) //闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涢埄鍐槈缁惧墽绮换婵囩節閸屾凹浼岄梺鍛婃尰閸庢娊婀侀梺鎸庣箓缁绘垹鈧熬鎷� + if (nStop == 1) //闂備浇宕?慨宕囩矆娴h娅犲ù鐘?儐閸嬵亪鏌涢埄鍐?缁惧墽?换婵囩節閸屾凹浼岄梺鍛婃尰閸庢娊婀侀梺鎸庣箓缁绘垹鈧熬鎷� newtio.c_cflag &= ~CSTOPB; else if (nStop == 2) newtio.c_cflag |= CSTOPB; @@ -1463,51 +1371,6 @@ int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) { return 0; } -int getcsq() { - int ret = 0; - char csq[128] = {0}; - int fd = 0; - - if ((fd = open("/dev/ttyUSB2", O_RDWR | O_NOCTTY | O_NDELAY)) < 0) { - zlog_error(zct, "fail to open /dev/ttyUSB2"); - return 1; - } else { - set_opt(fd, 9600, 8, 'N', 1); - } - set_opt(fd, 115200, 8, 'N', 1); - - ret = write(fd, "AT+CSQ", 6); - if (ret < 0) { - zlog_error(zct, "fail to write AT+CSQ"); - close(fd); - return 1; - } - sleep(1); - unsigned char rbuf[128] = {0x00}; - int len = read(fd, rbuf, sizeof(rbuf)); // 闂傚倷绶氬鑽ゆ嫻閻旂厧绀夐悗锝庡墯閸熸椽鏌涢埄鍐槈闁活厽顨婇弻銊モ攽閸℃瑥鈷堥梺鎼炲€戦崹浠嬪蓟濞戞粎鐤€閻庯綆浜滄慨搴ㄦ⒑閻戔晛顫掗柛娑卞灣閻e爼姊洪幐搴㈩梿闁稿骸顭烽妴鍛存晸閿燂拷 - close(fd); - zlog_info(zct, "rbuf = %s,len = %d", rbuf, len); - sleep(1); - if (len < 0) { - zlog_error(zct, "Can't get /dev/ttyUSBx Serial Port data!"); - return 1; - } - - const char *str2 = "+QENG: "; - char *pdata = strstr((char *)rbuf, str2); - if (pdata) - strncpy(csq, pdata + 7, sizeof(csq)); - else { - zlog_error(zct, "fail to find +QENG: "); - return -1; - } - GlobalConfig::NetStatus = GetOneContent(csq, 1, ","); - std::string signal = GetOneContent(csq, 13, ","); - GlobalConfig::NetSignal = atoi(signal.c_str()); - zlog_info(zct, "NetStatus = %s,NetSignal = %d", GlobalConfig::NetStatus.c_str(), GlobalConfig::NetSignal); - return atoi(signal.c_str()); -} - void IniReadValue(const char *section, const char *key, char *val, const char *file) { FILE *fp; int i = 0; @@ -1669,15 +1532,15 @@ int writeIntValue(const char *section, const char *key, int val, const char *fil int getDiskInfo(char *diskTotal, char *diskFree) { DISK diskInfo; - /* 1.闂傚倷绀侀崥瀣磿閹惰棄搴婇柤鑹扮堪娴滃綊鏌ㄩ悤鍌涘/home/婵犵數鍋為崹鍫曞箰閹间緡鏁勫璺衡看閻掕棄霉閻撳海鎽犻柛搴$Ч閺屾盯寮撮妸銉ュ箣闂佺ǹ顑嗛幐楣冨箯閻樺樊鍟呮い鏂垮悑濞呭秹姊婚崒娆愮グ妞ゆ洘绮撻獮蹇涙晸閿燂拷 */ + /* 1.闂傚倷绀侀崥瀣磿閹惰?搴婇柤鑹扮?娴滃綊鏌ㄩ悤鍌涘?/home/婵犵數鍋為崹?曞?閹间緡鏁勫璺衡看閻掕棄霉閻撳海鎽犻柛搴$Ч閺屾???妸銉ュ?闂佺ǹ?嗛幐楣冨??閻樺樊鍟?い鏂?悑濞?秹??崒娆愮グ?ゆ洘绮撻獮蹇涙晸閿燂拷 */ statfs("/", &diskInfo); unsigned long long blocksize = diskInfo.f_bsize; unsigned long long totalsize = blocksize * diskInfo.f_blocks; - /* 2.闂傚倷绀侀崥瀣磿閹惰棄搴婇柤鑹扮堪娴滃綊鏌涢妷锝呭闁崇粯妫冮弻宥堫檨闁告挻姘ㄧ划娆愬緞鐏炵ǹ浜鹃柨婵嗙凹缁ㄥ鏌嶉柨瀣ⅹ闂囧鏌ㄥ┑鍡橆棤闁瑰啿鎳橀弻宥囨喆閸曨厼鈷屽┑顔硷工椤嘲顕i崼鏇炵闁绘劕妯婃导鍛存⒒娴e憡鍟為柣鐕佸灦瀹曞綊骞庨挊澶嬬€梺闈涚墕濞层劑鎯屽顓犵鐎瑰壊鍠曠花濂告煥濞戞艾鏋涢柡宀嬬秮婵℃悂濡烽妷顔绘偅闂備線娼уú銈吤洪妸锔绢洸闁归棿鐒﹂弲鎼佹煥閻曞倹瀚� */ - unsigned long long freeDisk = diskInfo.f_bfree * blocksize; //闂傚倷绀侀幉锟犲箰閹绢喖鐤炬繛鍡樺灩缁€濠囨煙鐎电ǹ啸闁活厽纰嶇换娑橆啅椤旇崵鍑归梺鎸庣〒閸犳牠寮婚敐澶娢╅柕澶堝労娴犲ジ姊洪棃娑欐悙婵炲眰鍔嶇粋宥夊箹娴h娅㈤梺璺ㄥ櫐閹凤拷 -// unsigned long long availableDisk = diskInfo.f_bavail * blocksize; //闂傚倷绀侀幉锟犳偡椤栫偛鍨傞柟鎯版閺嬩線鏌曢崼婵囧窛闁活厽纰嶇换娑橆啅椤旇崵鍑归梺鎸庣〒閸犲酣鈥﹂崸妤€閱囬柛鈩冾殔閺嗙喐鎱ㄩ敐蹇斿 + /* 2.闂傚倷绀侀崥瀣磿閹惰?搴婇柤鑹扮?娴滃綊鏌涢妷锝呭闁崇粯??弻?堫檨闁告挻姘ㄧ划娆?緞鐏炵ǹ浜鹃柨婵嗙凹缁ㄥ鏌嶉柨瀣ⅹ闂囧鏌ㄥ┑鍡橆棤闁瑰啿鎳橀弻?囨喆閸曨厼鈷屽┑?硷工椤嘲顕i崼鏇炵闁绘劕妯婃?鍛存⒒娴e憡鍟為柣鐕佸灦瀹曞綊骞庨挊澶???梺闈涚墕濞层劑?屽顓犵鐎瑰?鍠曠花濂告煥濞戞艾鏋涢柡宀??婵℃悂濡烽妷顔绘偅闂備線娼уú銈吤洪妸锔绢洸闁归棿鐒﹂弲鎼佹煥閻曞倹瀚� */ + unsigned long long freeDisk = diskInfo.f_bfree * blocksize; //闂傚倷绀侀幉锟犲?閹绢喖鐤炬繛鍡樺灩缁€濠囨煙鐎电ǹ啸闁活厽纰嶇换娑橆啅椤旇崵鍑归梺鎸庣〒閸犳牠?婚敐澶娢╅柕澶堝労娴犲ジ姊洪棃娑欐悙婵炲眰鍔嶇粋宥??娴h娅㈤梺璺ㄥ櫐閹凤? +// unsigned long long availableDisk = diskInfo.f_bavail * blocksize; //闂傚倷绀侀幉锟犳偡椤栫偛鍨傞柟?版閺?線鏌曢崼婵囧窛闁活厽纰嶇换娑橆啅椤旇崵鍑归梺鎸庣〒閸犲酣鈥﹂崸妤?閱囬柛鈩冾殔閺嗙喐鎱ㄩ敐蹇斿? sprintf(diskTotal, "%llu", totalsize >> 20); sprintf(diskFree, "%llu", freeDisk >> 20); @@ -1705,28 +1568,28 @@ unsigned short cal_chksum(unsigned short *addr, int len) { int socketHeart(const char *pSendData) { zlog_info(zct, "socketHeart"); - int sockfd; // Socket闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺闈涚箞閸婃洜绮婚悽鍝ュ彄闁搞儯鍔忔竟姗€鏌eΔ浣圭殤缂佽鲸甯掕灃閻庯綆鍋勯锟� - struct sockaddr_in serverAddr {}; // Server闂傚倷绶氬濠氭⒔閸曨偒鐔嗘俊顖欒閻掍粙鏌涢幇鍏哥敖缁炬儳銈搁弻鐔煎箚瑜滈崵鐔兼煃瑜滈崜锕傚垂闁秴绠柛娑樼摠閺呮悂鏌ㄩ悤鍌涘 + int sockfd; // Socket闂傚倷绀侀幖?﹀磹缁?5娲晲閸涱亝鐎婚梺闈涚箞閸婃洜?婚悽鍝ュ彄闁搞儯鍔忔竟?€鏌eΔ浣圭殤缂佽鲸?掕灃閻庯綆鍋?锟? + struct sockaddr_in serverAddr {}; // Server闂傚倷绶?濠?⒔閸曨偒鐔嗘俊?欒閻掍粙鏌涢幇鍏哥敖缁炬儳銈搁弻鐔煎箚瑜滈崵鐔兼煃瑜滈崜锕傚垂闁秴绠柛娑?摠閺呮悂鏌ㄩ悤鍌涘? - // 闂傚倷绀侀幉锛勬暜濡ゅ啰鐭欓柟瀵稿Х绾句粙鏌熺紒妯肩潉cket + // 闂傚倷绀侀幉锛?暜濡ゅ啰?欓柟瀵?Х绾句粙鏌熺紒妯肩潉cket if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { zlog_error(zct, "Failed to create socket."); return 1; } - // 闂備浇宕垫慨宕囩矆娴h娅犲ù鐘差儐閸嬵亪鏌涘┑鍫濈€瑀ver闂傚倷绶氬濠氭⒔閸曨偒鐔嗘俊顖欒閻掍粙鏌涢幇銊︽珖闁崇懓绉归弻宥夊煛娴e憡娈ㄧ紓浣瑰敾閹凤拷 + // 闂備浇宕?慨宕囩矆娴h娅犲ù鐘?儐閸嬵亪鏌涘┑鍫濈€瑀ver闂傚倷绶?濠?⒔閸曨偒鐔嗘俊?欒閻掍粙鏌涢幇銊︽珖闁崇懓绉归弻宥?煛娴e憡娈ㄧ紓浣瑰敾閹凤拷 serverAddr.sin_family = AF_INET; - serverAddr.sin_port = htons(18393); // TCP婵犳鍠楃敮妤冪矙閹烘挾浠氭俊鐐€栭幑浣哥暦閻㈤潧鍨濋柍鍝勬媼閺佸秵鎱ㄥ鍡楀缂佸顦靛娲川婵犲嫭鍣┑鐐存尭濠€閬嶅箯瑜版帗鏅搁柨鐕傛嫹80 + serverAddr.sin_port = htons(18393); // TCP婵犳鍠楃敮妤冪矙閹烘挾浠氭俊鐐€?幑浣哥暦閻㈤潧鍨濋柍鍝勬媼閺佸秵鎱ㄥ鍡楀?缂佸顦靛娲川婵犲??鍣┑鐐存尭濠€?嶅??瑜版帗鏅搁柨鐕傛?80 inet_pton(AF_INET, "192.168.1.147", &serverAddr.sin_addr); - // 闂備礁鎼ˇ顐﹀疾濠靛纾婚柣鎰仛閺嗘粓鏌熺紒銏犳灈缂佲偓閸℃稒鐓熺憸搴f绾炬潳er + // 闂備礁鎼ˇ?﹀疾濠靛纾?柣鎰仛閺嗘粓鏌熺紒銏犳灈缂佲偓閸℃稒鐓熺憸搴f绾炬潳er if (connect(sockfd, reinterpret_cast(&serverAddr), sizeof(serverAddr)) == -1) { zlog_error(zct, "Failed to connect to the server."); close(sockfd); return 1; } - // 闂傚倷绀侀幉锟犳偡閿曞倸鍨傞柛褎顨呴悞鍨亜閹达絾纭舵い锔煎缁辨帡宕崟顐熸寖闂佸湱鎳撶€氫即骞栬ぐ鎺濇晝闁挎繂妫崯鈧梻鍌欒兌椤㈠﹪顢氶弽顓炵獥闁哄稁鍋€閸嬫挾鍠婃径瀣伓 + // 闂傚倷绀侀幉锟犳偡閿曞倸鍨傞柛褎顨呴悞?亜閹达絾纭舵い锔煎?缁辨帡宕崟顐熸寖闂佸湱鎳撶??即骞?ぐ鎺濇晝闁挎繂妫崯鈧梻鍌欒兌椤㈠?顢氶弽?炵獥闁哄稁鍋€閸??挾鍠婃径瀣? ssize_t bytesSent = send(sockfd, pSendData, strlen(pSendData), MSG_NOSIGNAL); if (bytesSent == -1) { @@ -1739,13 +1602,13 @@ int socketHeart(const char *pSendData) { return 1; } - // 闂傚倷鑳舵灙缂佺粯鍨剁换娑欑節閸嬭姤绋撻崰濠囧煛閻滅€攅t闂備礁鎼ˇ顐﹀疾濠靛纾婚柣鎰仛閺嗘粓鏌ㄩ悤鍌涘 + // 闂傚倷鑳舵灙缂佺?鍨剁换娑欑節閸??姤绋撻崰濠囧煛閻滅€攅t闂備礁鎼ˇ?﹀疾濠靛纾?柣鎰仛閺嗘粓鏌ㄩ悤鍌涘 close(sockfd); return 0; } -// Ping闂傚倷绀侀幉锟犲垂閸忓吋鍙忛柕鍫濐槸濮规煡鏌i弬鍨倯闁哄拋鍓熼幃妤呭捶椤撶偘姘eout婵犵數鍋為崹鍫曞箲閸モ晝纾芥慨妯夸含閻捇鏌熺紒銏犳灈缂侇偄绉归弻銈囩矙鐠恒劋绮靛銇礁娲﹂埛鎺楁煕鐏炲墽绠栫憸鎶婂懐纾奸弶鍫涘妿缁犵偟鈧娲╃换婵嗩嚕閺夋埈娼╅弶鍫氭暕閵忋倖鈷戦柛婵嗗椤忣偅淇婇銈庢敵,10000 濠电姵顔栭崳顖滅礊閸℃稑纾婚柛鈩冨喕缂嶆牠鏌ㄩ悤鍌涘=10 缂傚倸鍊风粈渚€篓閳ь剟鏌熼崙銈嗗 -//闂傚倷鑳堕幊鎾绘偤閵娾晛绀夐柡鍥╁枑閸欏繑绻涢幋娆忕仾闁哄拋鍓氶幈銊ノ熼搹鐧哥礊缂備胶濮甸悡锟犲蓟濞戙垹唯妞ゆ牗绋戦锟�0闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍仜妗呴梺鐟邦嚟婵數鈧艾顭烽弻鏇熷緞濡櫣浠紓浣瑰姈椤ㄥ﹤顕i崼鏇炵厸闁稿本绋撻崣鍡椻攽閻愰鍤嬮柟鍑ゆ嫹1闂傚倷鑳堕、濠囧箵椤忓牆绠柨鐕傛嫹-1 +// Ping闂傚倷绀侀幉锟犲垂閸忓吋鍙忛柕?濐槸?规煡鏌i???闁哄拋鍓熼幃妤呭捶椤撶偘姘eout婵犵數鍋為崹?曞?閸モ晝纾芥慨妯夸含閻捇鏌熺紒銏犳灈缂侇偄绉归弻銈囩矙鐠恒劋绮靛銇礁娲﹂埛鎺?煕鐏炲墽绠?憸鎶婂懐纾奸弶鍫涘?缁犵偟鈧娲╃换婵嗩嚕閺夋埈娼╅弶鍫?暕閵忋倖鈷戦柛婵嗗椤忣偅淇婇銈庢敵,10000 濠电姵?栭崳?滅礊閸℃稑纾?柛鈩冨喕缂嶆牠鏌ㄩ悤鍌涘=10 缂傚倸鍊风粈渚€篓閳ь剟鏌熼崙銈嗗? +//闂傚倷鑳堕幊鎾绘偤閵娾晛绀夐柡鍥╁枑閸欏繑绻涢幋娆忕仾闁哄拋鍓氶幈銊ノ熼搹鐧哥礊缂備胶?甸悡锟犲蓟濞戙垹?妞ゆ牗绋戦锟�0闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍?仜?呴梺鐟邦嚟婵數鈧艾?烽弻鏇熷緞濡?浠紓浣瑰姈椤ㄥ﹤顕i崼鏇炵厸闁?本绋撻崣鍡椻攽閻愰鍤?柟鍑ゆ??1闂傚倷鑳堕、濠囧?椤忓牆绠柨鐕傛??-1 int Ping(const char *ips, int timeout) { struct timeval *tval; int maxfds = 0; @@ -1754,13 +1617,13 @@ int Ping(const char *ips, int timeout) { int iRet = 0; struct sockaddr_in addr; struct sockaddr_in from; - // 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳搴㈡婵犵數鍎戠徊钘壝洪悩璇茬婵犻潧娲ら閬嶆煥閻曞倹瀚� + // 闂備浇宕?慨鎶芥倿閿曞倸纾块柟?板Г閸嬧晝绱撳搴㈡婵犵數鍎戠徊钘?洪悩璇??婵犻潧娲ら?嶆煥閻曞倹瀚� bzero(&addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr(ips); int sockfd; - // 闂傚倷绀侀幉锟犳偡閿曞倹鍋嬮柡鍥╁У椤愪粙鏌i鍛傛溈ket 闂傚倷绶氬褍螞閹绢喖绠柨鐕傛嫹 婵犵數濮烽。浠嬪焵椤掆偓閸熷潡鍩€椤掆偓缂嶅﹪骞冨Ο璇茬窞濠电偟鍋撻悡銏ゆ⒑閻愯棄鍔氶柛鐔锋健閿濈偤路缁犲垼o 闂備礁鎼ˇ顐﹀疾濠婂牊鍋¢柍鍝勬噹闂傤垶姊洪崹顕呭剰妞ゆ洝椴搁幈銊ヮ潨閸℃绠归悶姘哺濮婄粯鎷呯粙璺ㄦ闂佺懓鍤栭幏锟� + // 闂傚倷绀侀幉锟犳偡閿曞倹鍋?柡鍥╁У椤?粙鏌i鍛傛溈ket 闂傚倷绶??螞閹绢喖绠柨鐕傛? 婵犵數濮烽。浠?焵椤掆偓閸熷潡鍩?椤掆偓缂嶅﹪骞冨Ο璇茬窞濠电偟鍋撻悡銏ゆ⒑閻愯棄鍔氶柛鐔锋健閿濈偤?缁犲垼o 闂備礁鎼ˇ?﹀疾濠婂牊鍋¢柍鍝?噹闂傤垶姊洪崹?呭剰?ゆ洝椴搁幈銊ヮ潨閸℃绠归悶?哺濮婄粯鎷呯粙璺ㄦ闂佺懓鍤?幏锟? sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP); if (sockfd < 0) { zlog_error(zct, "ip:%s,socket error", ips); @@ -1768,7 +1631,7 @@ int Ping(const char *ips, int timeout) { } struct timeval timeo; - // 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳鍥骏meOut闂傚倷绀侀幖顐﹀疮椤愶附鍋夐柣鎾冲濞戙垺鏅搁柨鐕傛嫹 + // 闂備浇宕?慨鎶芥倿閿曞倸纾块柟?板Г閸嬧晝绱撳鍥骏meOut闂傚倷绀侀幖?﹀?椤愶附鍋夐柣鎾冲濞戙垺鏅搁柨鐕傛?? timeo.tv_sec = timeout / 1000; timeo.tv_usec = timeout % 1000; @@ -1780,25 +1643,25 @@ int Ping(const char *ips, int timeout) { char sendpacket[2048]; char recvpacket[2048]; - // 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳鍥х毇ng闂傚倷绀侀幉锟犳偋椤撱垹绠柨鐕傛嫹 + // 闂備浇宕?慨鎶芥倿閿曞倸纾块柟?板Г閸嬧晝绱撳鍥х毇ng闂傚倷绀侀幉锟犳偋椤撱垹绠柨鐕傛? memset(sendpacket, 0, sizeof(sendpacket)); pid_t pid; - // 闂傚倷绀侀幉锟犳偡閿曞倹鍋嬮柡鍥╁У椤愪粙鏌i埡濠冿紬D闂傚倷鐒︾€笛呯矙閹寸偟闄勯柡鍐ㄥ€荤粈濠囨煛閸愶絽浜剧紓浣割儏椤﹀崬顕h閵嗘帗鍒婂濠囨⒒娴e湱婀介柛鏂跨焸瀹曠敻鎮悥宄秂nce ID + // 闂傚倷绀侀幉锟犳偡閿曞倹鍋?柡鍥╁У椤?粙鏌i埡濠冿紬D闂傚倷鐒︾€笛呯矙閹寸偟闄勯柡鍐ㄥ€荤粈濠囨煛閸愶絽浜剧紓浣割儏椤﹀?顕h閵嗘帗鍒婂濠囨⒒娴e湱婀介柛鏂跨焸瀹曠敻鎮悥宄秂nce ID pid = getpid(); struct ip *iph; struct icmp *icmp; icmp = (struct icmp *)sendpacket; - icmp->icmp_type = ICMP_ECHO; //闂傚倷鐒﹂幃鍫曞磿閹惰棄纾婚柣鎰棘閻旂ǹ绶為悘鐐村劤閻濅即姊绘担鍝ヤ虎妞ゆ垵娲ら敃銏ゆ晸閿燂拷 + icmp->icmp_type = ICMP_ECHO; //闂傚倷鐒﹂幃?曞磿閹惰棄纾婚柣鎰棘閻旂ǹ绶為悘鐐村劤閻濅即姊绘担鍝ヤ虎妞ゆ垵娲ら敃銏ゆ晸閿燂拷 icmp->icmp_code = 0; icmp->icmp_cksum = 0; icmp->icmp_seq = 0; icmp->icmp_id = pid; tval = (struct timeval *)icmp->icmp_data; gettimeofday(tval, NULL); - icmp->icmp_cksum = cal_chksum((unsigned short *)icmp, sizeof(struct icmp)); //闂傚倷绀侀幖顐ょ矙閸曨厽宕叉繝闈涱儐閸嬫﹢鏌ㄩ悤鍌涘 + icmp->icmp_cksum = cal_chksum((unsigned short *)icmp, sizeof(struct icmp)); //闂傚倷绀侀幖?ょ矙閸曨厽宕叉繝闈涱儐閸??﹢鏌ㄩ悤鍌涘? int n = sendto(sockfd, (char *)&sendpacket, sizeof(struct icmp), 0, (struct sockaddr *)&addr, sizeof(addr)); if (n < 1) { @@ -1807,11 +1670,11 @@ int Ping(const char *ips, int timeout) { return -1; } - // 闂傚倷娴囬~澶嬬娴犲纾块弶鍫亖娴滃綊鏌ㄩ悤鍌涘 - // 闂傚倷鐒﹂惇褰掑垂绾懌浜瑰璺虹焷婵櫕銇勯幒鎴濐仼闁活厽顨嗛妵鍕冀閵娧呯暤闂佸憡蓱閹告娊寮婚悢鐓庣畳闁圭儤鍨垫慨搴ㄦ偡濠婂嫭绶查柣妤佹尭閻e嘲顫濈捄铏归獓闂佸壊鐓堥崰鏍椤撶喓绠鹃悗鐢登规牎濠电姭鍋撴い锝呯礆g闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸嚬閸撴盯鎳為柆宥嗗殤妞ゆ帒鍊块埞蹇涙⒑閸濆嫬鏆婇柛瀣尵缁辨帗寰勭仦钘夊箣濡ょ姷鍋樼欢姘躲€佸☉銏犖ч柛銉㈡櫓濡茬兘姊绘担鍛婅础妞わ絼绮欏畷鎴﹀箻鐡掍礁缍婇幃鈺咁敊閻撳骸袚缂傚倷鑳剁划顖炴偋閻樿钃熼悘鐐垫櫕閺嗗棝鏌涢幇顔间壕闁活厽顨婂娲倻閳轰椒澹曢梺鍛婃煥閻倿鐛崱妯肩瘈闁搞儯鍔屾禒銏ゆ⒑鐠恒劌娅愰柟鍑ゆ嫹 + // 闂傚倷娴?~澶?娴犲纾块弶鍫?亖娴滃綊鏌ㄩ悤鍌涘 + // 闂傚倷鐒﹂惇褰掑垂绾懌浜瑰璺虹焷婵櫕銇?幒鎴濐仼闁活厽顨嗛妵鍕冀閵娧?暤闂佸憡蓱閹告娊?婚悢鐓庣畳闁?儤鍨?慨搴ㄦ偡濠婂?绶查柣妤佹尭閻e嘲顫濈捄铏归獓闂佸?鐓堥崰鏍椤撶喓绠鹃悗鐢登?牎濠电?鍋撴い锝?礆g闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸?閸撴?鎳為柆?嗗殤?ゆ帒鍊块埞蹇涙⒑閸濆??鏆婇柛瀣尵缁辨帗寰勭仦钘夊?濡ょ姷鍋???躲?佸☉銏犖ч柛銉㈡櫓濡茬兘?绘担鍛婅?妞わ絼绮欏畷鎴﹀箻鐡掍?缍婇幃鈺咁敊閻撳??缂傚倷鑳剁划顖炴偋閻樿钃熼悘鐐?櫕閺嗗?鏌涢幇顔间壕闁活厽顨婂娲倻閳轰?澹曢梺鍛婃煥閻倿鐛崱妯肩瘈闁搞?鍔屾禒銏ゆ⒑鐠恒劌娅愰柟鍑ゆ? int cnt = 0; while (1) { - // 闂備浇宕垫慨鎶芥倿閿曞倸纾块柟鎯板Г閸嬧晝绱撳鍥骏meOut闂傚倷绀侀幖顐﹀疮椤愶附鍋夐柣鎾冲濞戙垹閿ゆ俊銈勭劍濞呮牠鎮楅崗澶婁壕闂佸憡鍔︽禍鐐侯敊閹邦兘鏀介柣鎰级椤ユ垿鏌涢幘瀵哥畺闁哄懎鐖奸幃鈺冩嫚閹绘帒鎸ゆ俊鐐€栭悧妤冨垝瀹ュ鏄ラ柛灞剧⊕閸欏繑绻濋崹顐e暗缂佸鍓熼弻鐔兼儌閸濄儳蓱闂佺懓鍢查幊搴ㄣ偑娴兼潙宸濇い鏃囧Г椤撳綊姊绘担瑙勩仧闁绘挸顦甸獮蹇涙晸閿燂拷 + // 闂備浇宕?慨鎶芥倿閿曞倸纾块柟?板Г閸嬧晝绱撳鍥骏meOut闂傚倷绀侀幖?﹀?椤愶附鍋夐柣鎾冲濞戙垹閿ゆ俊銈?劍濞?牠鎮楅崗澶婁壕闂佸憡鍔︽禍鐐?敊閹邦兘鏀介柣鎰级椤ユ垿鏌涢幘瀵哥畺闁哄懎鐖奸幃鈺冩嫚閹绘帒鎸ゆ俊鐐??悧妤冨垝瀹ュ?鏄ラ柛灞剧⊕閸欏繑绻濋崹顐e暗缂佸鍓熼弻鐔兼儌閸濄儳蓱闂佺懓鍢查幊搴ㄣ偑娴兼潙宸濇い鏃?Г椤撳綊?绘担瑙勩仧闁绘挸顦甸獮蹇涙晸閿燂拷 FD_ZERO(&readfds); FD_SET(sockfd, &readfds); maxfds = sockfd + 1; @@ -1823,7 +1686,7 @@ int Ping(const char *ips, int timeout) { break; } - // 闂傚倷娴囬~澶嬬娴犲纾块弶鍫亖娴滃綊鏌ㄩ悤鍌涘 + // 闂傚倷娴?~澶?娴犲纾块弶鍫?亖娴滃綊鏌ㄩ悤鍌涘 memset(recvpacket, 0, sizeof(recvpacket)); int fromlen = sizeof(from); n = recvfrom(sockfd, recvpacket, sizeof(recvpacket), 0, (struct sockaddr *)&from, (socklen_t *)&fromlen); @@ -1835,7 +1698,7 @@ int Ping(const char *ips, int timeout) { } char *from_ip = (char *)inet_ntoa(from.sin_addr); - // 闂傚倷绀侀幉锛勬暜閸ヮ剙纾归柡宥庡幖閽冪喖鏌涢妷顔煎闁告瑥锕ラ妵鍕冀閵娧屾殹闂佺ǹ楠搁敃顏堝蓟閿熺姴绀嬮梻鍫熺〒娴犳挳姊洪幖鐐测偓鏍垝瀹€鍕垫晩闊洦绋掗崕搴€亜閿曗偓缁辨闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸嚬閸撴瑧鍙呴梺鍝勭Р閸斿瞼娆㈤悙鐑樼叆闁绘洖鍊圭€氾拷 + // 闂傚倷绀侀幉锛?暜閸?剙纾归柡宥庡幖閽?喖鏌涢妷顔煎闁告瑥锕ラ妵鍕冀閵娧屾?闂佺ǹ?搁敃?堝蓟閿熺姴绀?梻鍫熺〒娴犳挳姊洪幖鐐测偓鏍垝瀹€鍕垫晩闊洦绋掗崕搴?亜閿曗偓缁辨闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸?閸撴瑧鍙呴梺鍝勭Р閸斿瞼娆㈤悙鐑?叆闁绘洖鍊??氾拷 if (strcmp(from_ip, ips) != 0) { zlog_info(zct, "NowPingip:%s Fromip:%s NowPingip is not same to Fromip,so ping wrong!", ips, from_ip); close(sockfd); @@ -1847,14 +1710,14 @@ int Ping(const char *ips, int timeout) { icmp = (struct icmp *)(recvpacket + (iph->ip_hl << 2)); zlog_info(zct, "ip:%s,icmp->icmp_type:%d,icmp->icmp_id:%d\n", ips, icmp->icmp_type, icmp->icmp_id); - // 闂傚倷绀侀幉锛勬暜閸ヮ剙纾归柡宥庡幖閽冪喖鏌涢姀陇鎶梟g闂傚倷鐒﹂幃鍫曞磿閹惰棄纾绘繛鎴旀嚍閸ヮ剙钃熼柕澶堝劤椤﹂亶姊洪崨濠佺繁闁搞劑浜堕幃楣冩焼瀹ュ棛鍘藉┑鈽嗗灠閻忔繈鎮¢幇鐗堢厓鐟滄粓宕滈妸鈺佺闁跨噦鎷� - if (icmp->icmp_type == ICMP_ECHOREPLY && icmp->icmp_id == pid) // ICMP_ECHOREPLY闂傚倷鐒﹂幃鍫曞磿閹惰棄纾婚柣鎰棘閻旂ǹ绶為悗锝庡亜閸斿懘姊洪崫鍕殭闁稿﹤顭烽獮妤呮晸閿燂拷 + // 闂傚倷绀侀幉锛?暜閸?剙纾归柡宥庡幖閽?喖鏌涢?陇鎶梟g闂傚倷鐒﹂幃?曞磿閹惰棄纾绘繛鎴旀嚍閸?剙钃熼柕澶堝劤椤﹂亶姊洪崨濠佺繁闁搞劑浜堕幃楣冩焼瀹ュ棛鍘藉┑鈽嗗灠閻忔繈?¢幇鐗堢厓鐟滄粓宕滈妸鈺佺闁跨噦鎷? + if (icmp->icmp_type == ICMP_ECHOREPLY && icmp->icmp_id == pid) // ICMP_ECHOREPLY闂傚倷鐒﹂幃?曞磿閹惰棄纾婚柣鎰棘閻旂ǹ绶為悗锝庡亜閸斿懘姊洪?鍕?闁?﹤?烽獮妤呮晸閿燂拷 { - // 濠电姵顔栭崰妤冩崲閹邦喖绶ゅù鐘差儐閸嬪鏌涢幘鍙夘樂闁绘帒锕娲敆閳ь剛绮旈鈧畷鎴﹀箻鐠囪尙鍔﹀銈嗗笒鐎氼剛绮堥崟顖涚厱婵犻潧妫楅顏堟煕鎼淬垺绀嬮柡宀嬬到楗即骞囬鐑嗕紦 + // 濠电姵?栭崰妤冩崲閹邦喖绶ゅù鐘?儐閸?鏌涢幘鍙?樂闁绘帒锕娲敆閳ь剛绮旈鈧畷鎴﹀箻鐠?尙鍔﹀銈嗗笒鐎氼剛绮堥崟顖涚厱婵犻潧?楅顏堟煕鎼?垺绀?柡宀?到?即骞?鐑嗕紦 zlog_info(zct, "icmp succecss ............. \n"); break; } else if (cnt < 3) { - // 闂傚倷绀侀幉锟犳偄椤掑倻涓嶉柟杈剧畱閸ㄥ倹銇勯弽銊х煂缁炬崘鍋愰幉姝岀疀濞戞瑥浠洪梺鐓庮潟閸婃銇欓幎鑺ョ叆闁绘洖鍊圭€氾拷 + // 闂傚倷绀侀幉锟犳偄椤掑倻涓嶉柟杈剧畱閸ㄥ倹銇?弽銊х煂缁?崘鍋愰幉姝岀疀濞戞瑥浠?梺鐓?潟閸婃銇欓幎鑺ョ叆闁绘洖鍊??氾拷 cnt++; continue; } else { @@ -1886,41 +1749,41 @@ int get_netlink_status(const char *if_name) { return edata.data; } -// 闂備浇顕х换鎰崲閹邦儵娑樷槈濞嗘劖鐝峰┑掳鍊曢幊搴b偓姘槹閵囧嫰骞掗崱妞惧闁荤喐绮嶆刊钘夆枖閺囥垹鐒垫い鎺嶈兌閳洘銇勯妸銉уⅵ妞ゃ垺鐗楅幏鍛村捶椤撴稒鐏冮梻浣告啞閻熴儵藝椤栫儐鏁侀柡鍥ュ灪閻撴洟鏌熼悜妯虹仸妞ゃ儲鐟╅幃褰掑箛椤斿吋鐏堥悗娈垮櫘閸嬪棝鍩€椤掍胶鈯曢拑杈ㄧ箾閸繂顣崇紒杈ㄦ尰閹峰懐绮欏▎鍙ョ棯闂備焦鎮堕崝宥呯暆閹间礁绠氶柛鎰靛枛缁€瀣亜閹板墎鍒伴柍褜鍓欓…宄邦潖閾忚瀚氱憸搴b偓姘炬嫹 +// 闂備浇?х换鎰崲閹邦儵娑樷槈濞嗘劖鐝峰┑掳鍊曢幊搴b偓姘槹閵囧?骞掗崱妞惧闁荤喐?嶆刊钘?枖閺囥垹鐒?い鎺嶈兌閳洘銇?妸銉уⅵ?ゃ垺鐗楅幏鍛村捶椤撴稒鐏冮梻浣告啞閻熴儵藝椤栫儐鏁侀柡鍥ュ灪閻撴洟鏌熼悜?虹仸妞ゃ儲鐟╅幃褰掑箛椤斿吋鐏堥悗娈?櫘閸?棝鍩?椤掍胶鈯曢拑杈ㄧ箾閸繂顣崇紒杈ㄦ尰閹峰懐绮欏▎鍙ョ?闂備焦鎮堕崝宥呯暆閹间?绠氶柛鎰靛枛缁?瀣亜閹板?鍒伴柍褜鍓欓…宄邦潖閾忚瀚氱憸搴b偓姘炬? std::vector splitVersion(const std::string &version) { std::vector parts; std::stringstream ss(version); std::string part; - // 闂傚倷鑳堕崕鐢稿磻閹捐绀夐幖娣妼绾惧鏌ㄥ┑鍡橆棡濠殿垰鐡ㄧ换婵囩箾閹傚闂佽崵濮甸崝妤呭窗閺嵮呮殾婵ǹ娉涢獮銏$箾閹寸偟鎳愰柛姘焽缁辨挻鎷呯拠鈩冾吅闁荤姳绶ょ徊鍨i幇顑芥斀閻庯綆浜為ˇ顐︽⒑缁洖澧叉い銊ユ嚇钘熼煫鍥ㄧ⊕閻撶喐淇婇妶鍌氫壕闂佺粯顨呴敃銈夋晝閵忊€愁嚤闁哄鍨归悡鎴︽⒑鐠恒劌娅愰柟鍑ゆ嫹 + // 闂傚倷鑳堕崕鐢?磻閹捐绀夐幖娣妼绾惧鏌ㄥ┑鍡橆棡濠?垰鐡ㄧ换婵囩?閹傚闂佽崵?甸崝妤呭窗閺??殾婵ǹ娉涢獮銏$箾閹寸偟鎳愰柛?焽缁辨挻鎷呯拠鈩冾吅闁荤姳绶ょ徊?i幇?芥斀閻庯綆浜為ˇ?︽⒑缁洖澧叉い銊ユ嚇钘熼?鍥ㄧ⊕閻撶喐淇婇妶鍌?壕闂佺粯顨呴敃銈夋晝閵忊?愁嚤闁哄鍨归悡鎴︽⒑鐠恒劌娅愰柟鍑ゆ?? while (std::getline(ss, part, '.')) { - parts.push_back(std::stoi(part)); // 闂備浇顕х换鎰崲閹邦儵娑樜旈崨顓炵€柟鍏肩暘閸斿瞼绮堥崼銉︾厵缂備焦锚缁楁岸鏌涙繝鍕毈闁哄矉缍佹俊鎼佸Ψ閵夘喕绱旈梻浣呵圭€涒晠骞愰崘鑼殾婵ǹ娉涢獮銏℃叏濮楀棗骞橀柕鍫櫍濮婅櫣娑甸崪浣告異濠电姭鎳囬崑鎾绘煟閻樺啿濮夐柛鐘崇墪椤曪綁顢曢妶鍌氫壕婵炴垶顏伴幋婵冩灁闁跨噦鎷� + parts.push_back(std::stoi(part)); // 闂備浇?х换鎰崲閹邦儵娑?旈崨?炵?柟鍏肩暘閸斿瞼?堥崼銉︾厵缂備焦锚缁楁岸鏌涙繝鍕毈闁哄矉缍佹俊鎼佸Ψ閵?喕绱旈梻浣呵圭?涒晠骞愰崘鑼?婵ǹ娉涢獮銏℃叏濮楀棗骞橀柕鍫櫍?婅?娑甸崪浣告異濠电姭鎳囬崑鎾绘煟閻樺啿濮夐柛鐘崇?椤曪綁顢曢妶鍌氫壕婵炴垶顏伴幋婵冩灁闁跨噦鎷? } return parts; } -// 濠电姵顔栭崳顖滃緤閹灛娑欐媴閻戞﹩鍋ㄥ┑鐘绘涧濞层劑鍩㈤弮鍫熺厪闁割偅绻傞顓㈡煕閵堝拋鍎旈柡宀嬬到铻栭柍褜鍓熼幃褎绻濋崒锕佲偓鍨归崗鍏肩稇闁活厽顨婇弻銊╂偆閸屾稑顏� +// 濠电姵?栭崳?滃緤閹灛娑欐媴閻戞﹩鍋ㄥ┑鐘绘涧濞层劑鍩㈤弮?熺厪闁割偅绻傞顓㈡煕閵堝拋鍎旈柡宀?到铻?柍?鍓熼幃褎绻濋崒锕佲偓鍨归崗鍏肩稇闁活厽顨婇弻銊╂偆閸屾稑顏� int compareVersions(const std::string &version1, const std::string &version2) { std::vector v1 = splitVersion(version1); std::vector v2 = splitVersion(version2); - // 闂傚倷鑳堕幊鎾绘倶濮樿泛纾块柟鎯版閺勩儳鈧厜鍋撻柛鏇ㄥ亜閻濇﹢姊洪柅鐐茶嫰婢у瓨鎱ㄦ繝鍌涜础闁圭懓瀚版俊鎼佹晜閻愵剚顔忛梻鍌欒兌缁垶銆冮崨瀛樺亱濠电姴鍋婇懓鍨归崗鍏肩稇闁活厽顨婇弻锝夊箣閿濆棭妫勯梺鍛婃煟閸庣敻寮诲☉銏犵闁瑰鍎愬Λ锕傛⒑閸濆嫭顥″瀛樻倐楠炲棝寮崼鐔告闂佽法鍣﹂幏锟� + // 闂傚倷鑳堕幊鎾绘倶濮樿泛纾块柟鎯版閺勩儳鈧厜鍋撻柛鏇ㄥ亜閻濇﹢姊洪柅鐐茶??у瓨鎱ㄦ繝鍌涜?闁圭懓瀚版俊鎼佹晜閻愵剚?忛梻鍌欒兌缁垶銆?崨瀛樺亱濠电姴鍋婇懓鍨归崗鍏肩稇闁活厽顨婇弻锝??閿濆棭??梺鍛婃煟閸庣敻??诲☉銏犵闁瑰鍎愬Λ锕傛⒑閸濆??顥″瀛樻倐?炲棝??崼鐔告闂佽法鍣﹂幏锟� size_t maxLength = std::max(v1.size(), v2.size()); for (size_t i = 0; i < maxLength; ++i) { - int num1 = i < v1.size() ? v1[i] : 0; // 婵犵數濮烽。浠嬪焵椤掆偓閸熷潡鍩€椤掆偓缂嶅﹪骞冨Ο璇茬窞闁归偊鍓濋幗鏇㈡⒑閸︻厼顣兼繝銏★耿瀹曟繈濡烽埡鍌滃幈闂佸湱鍎ら崹鍫曀夊▎鎴犵<婵°倐鍋撴い锕備憾閸┾偓妞ゆ帊鑳堕埊鏇㈡煥濮橆厾绡€闁逞屽墴椤㈡棃宕奸悢鍛婄彨闁诲骸鍘滈崑鎾绘煕閹邦喖浜剧紓宥咃攻缁绘盯骞嬮悙瀛樺創闂佺懓鍤栭幏锟�0 + int num1 = i < v1.size() ? v1[i] : 0; // 婵犵數濮烽。浠?焵椤掆偓閸熷潡鍩?椤掆偓缂嶅﹪骞冨Ο璇茬窞闁归偊鍓濋幗鏇㈡⒑閸︻厼顣兼繝銏★耿瀹曟繈濡烽埡鍌滃幈闂佸湱鍎ら崹鍫曀夊▎鎴犵<婵°倐鍋撴い锕備憾閸┾偓妞ゆ帊鑳堕埊鏇㈡煥濮橆厾绡€闁逞屽墴椤㈡?宕奸悢鍛婄彨闁诲?鍘滈崑鎾绘煕閹邦喖浜剧紓?咃攻缁绘盯骞??悙瀛樺創闂佺懓鍤栭幏锟?0 int num2 = i < v2.size() ? v2[i] : 0; - if (num1 > num2) return 1; // version1 婵犵數濮伴崹褰掓偉閵忋倕纾兼繝濠傛椤ワ拷 version2 - if (num1 < num2) return -1; // version1 闂備浇顕х换鎰崲閹邦喗宕查悗锝庡墲婵娊鏌ㄩ悤鍌涘 version2 + if (num1 > num2) return 1; // version1 婵犵數濮伴崹褰掓偉閵忋倕纾兼繝濠傛椤?? version2 + if (num1 < num2) return -1; // version1 闂備浇?х换鎰崲閹邦喗宕查悗锝庡墲婵娊鏌ㄩ悤鍌涘? version2 } - return 0; // 闂傚倷鑳剁划顖炪€冮崨瀛樺亱濠电姴鍋婇懓鍨归崗鍏肩稇闁活厽顨呴—鍐偓锝庝簻椤掋垻绱掓担鍦弨闁哄本绋戦~婵嬫倷椤掆偓椤忥拷 + return 0; // 闂傚倷鑳剁划顖炪??崨瀛樺亱濠电姴鍋婇懓鍨归崗鍏肩稇闁活厽顨呴—鍐偓锝庝簻椤掋垻绱掓担鍦弨闁哄?绋戦~婵?倷椤掆偓椤忥? } void Binary_Bit(unsigned char *p_data, unsigned char position, int flag) { - //婵犵數鍋涢悺銊у垝瀹€鍕剹濞达絿鍎ゅ畷鍙夋叏濡炶浜鹃悗瑙勬礃瀹€鎼佸箠濠婂牊鍋ㄩ梻鍫熺☉缁傚繐鈹戦悙鑸靛涧缂佽尙鏅划鏃堝醇閺囩喎浠鹃梺绯曞墲缁嬫帡鍩涢弽顓熺厾闁归棿鐒﹀☉褔鏌h箛鏃戞疁闁哄被鍊濆鍫曞箰鎼粹剝顏熺紓鍌欑劍濡垿骞忛敓锟� position婵犵數鍋為崹鍫曞箲娴e壊娴栭柕濞у懐顦梺鍛婄⊕濞兼瑩寮告笟鈧弻銊╂偆閸屾稑顏�(婵犵數鍋涢顓熷垔閹绢喖绠柨鐕傛嫹0 闂佽瀛╅鏍窗閹烘纾婚柟鐐灱閺€鑺ャ亜閺囩偞顥為悗姘炬嫹) + //婵犵數鍋涢悺銊у垝瀹€鍕剹濞达絿鍎ゅ畷鍙夋叏濡炶浜鹃悗瑙勬礃瀹€鎼佸箠濠婂牊鍋ㄩ梻鍫熺☉缁傚繐鈹戦悙鑸靛涧缂佽尙鏅划鏃堝醇閺囩喎浠鹃梺?曞墲缁??帡鍩涢弽顓熺厾闁归棿鐒﹀☉?鏌h箛鏃戞疁闁哄??鍊濆鍫曞?鎼粹剝顏熺紓鍌欑劍濡垿骞忛敓锟� position婵犵數鍋為崹?曞?娴e?娴?柕濞у懐顦梺鍛婄⊕濞兼瑩?告笟鈧弻銊╂偆閸屾稑?�(婵犵數鍋涢顓熷垔閹绢喖绠柨鐕傛??0 闂佽瀛╅鏍窗閹烘纾婚柟鐐灱閺?鑺ャ亜閺囩偞顥為悗?炬?) if (flag) { *p_data |= 0x01 << (position); } else { diff --git a/common/common_func.hpp b/common/common_func.hpp index 0cd0b70..ac7e793 100644 --- a/common/common_func.hpp +++ b/common/common_func.hpp @@ -312,23 +312,6 @@ tm* get_current_date(); */ int system_custom(const char* cmd, char* buf); -/** -* @brief 向日志写入内存信息 -*/ -void WriteMemoryInfo(); - -/** -* @brief 获取当前日期 -* @return 当前日期的string -*/ -std::string GetDayDate(); - -/** -* @brief 获取当前时间 例 12:00 -* @return void -*/ -void GetTime_(char* time_buff, TIME_SIZE len); - /** * @brief 获取当前时间戳 * @param timebuf 定义的buf存储数据 @@ -370,36 +353,6 @@ std::string GetLocalMac(const char* net); */ std::string IpAddrInit(); -/** -* @brief 获取正在工作的网卡 -* @return std::string -*/ -// extern std::string GetWorkNic(); - -/** -* @brief 获取系统基本信息 -* @return std::string CPU MEM DISK info -*/ -std::string GetSysInfo(); - -/** -* @brief 去掉字符串所有空格 -* @return std::string -*/ -std::string& ClearAllSpace(std::string& str); - -/** -* @brief 调用接口写入data数据 -* @return void -*/ -void StartWriteToDat(); - -/** -* @brief 循环检测文件 -* @return void -*/ -void BackupDatFile(); - /** * @brief 设置系统时间 * @return int @@ -426,7 +379,7 @@ void ZoneConfig(std::string zoneid); * @return std::string CPU MEM DISK info */ std::string GetSysStatus(); -double GetHardDiskFree(); + bool CheckIP(const char* ip); bool IsValidMask(std::string mask); @@ -443,8 +396,6 @@ void int2bytes(int i, unsigned char *bytes, int size); int OpenWatchDog(); int WriteWatchDog(int fd); -//获取4G信号强度 -int getcsq(); std::string GetGwIp_(const char* eth_name); std::string GetOneContent(const char* szData, int nRow, const char* szSeparate); int readStringValue(const char* section, const char* key, char* val, const char* file); diff --git a/threadfunc/check_thread.cpp b/threadfunc/check_thread.cpp index 6a70899..b9287a7 100644 --- a/threadfunc/check_thread.cpp +++ b/threadfunc/check_thread.cpp @@ -278,33 +278,7 @@ void CheckThread() { data_publish(showValue.write(jsonVal).c_str(), GlobalConfig::Topic_G.mPubConfig.c_str()); } if (21600 == logClean) { - logClean = 0; - DIR *dp; //创建一个指向root路径下每个文件的指针 - struct dirent *dirp; - std::string root = "/opt/log/"; - if ((dp = opendir(root.c_str())) == NULL) zlog_error(zct, "can't open:[%s]", root.c_str()); - while ((dirp = readdir(dp)) != NULL) { - if ((!strcmp(dirp->d_name, ".") || (!strcmp(dirp->d_name, "..")))) continue; - struct timeval curTime; - gettimeofday(&curTime, NULL); - char buffer[80] = {0}; - char fileMonth[11] = {0}; - char todayMonth[11] = {0}; - char fileDay[11] = {0}; - char todayDay[11] = {0}; - struct tm nowTime; - localtime_r(&curTime.tv_sec, &nowTime); //把得到的值存入临时分配的内存中,线程安全 - strftime(buffer, sizeof(buffer), "%Y-%m-%d", &nowTime); - memcpy(fileDay, dirp->d_name + 8, 2); - memcpy(todayDay, buffer + 8, 2); - memcpy(fileMonth, dirp->d_name + 5, 2); - memcpy(todayMonth, buffer + 5, 2); - std::string filename = root + std::string(dirp->d_name); - if (atoi(fileMonth) == atoi(todayMonth) ? abs(atoi(todayDay) - atoi(fileDay)) > 15 : abs(abs(30 - (atoi(fileDay)) + atoi(todayDay))) > 15) { - zlog_info(zct, "filename = %s", filename.c_str()); - remove(filename.c_str()); - } - } + logClean = 0; char localtimestamp[32] = {0}; GetTimeNet(localtimestamp, 1); char whereCon[1024] = {0}; diff --git a/uart/uart.hpp b/uart/uart.hpp index 439115c..e5fff94 100644 --- a/uart/uart.hpp +++ b/uart/uart.hpp @@ -32,15 +32,6 @@ enum InteractiveCommand { UPGRADE_FIRMWARE = 16 //固件升级内容 }; -typedef enum { - kUpgradeSuccess = 0, // 成功 - kUpgradeIndexError = 1, //包接收序号错误,要重试 - kProductTypeMismatch = 2, // 包有问题,不再重试 - kZigbeeHWMismatch = 3, // 包有问题,不再重试 - kTransmitFileCrcError = 4, // 此返回值时,要重试 - kRecvDataLenError = 5, // 此返回值时,要重试 - kUpgradeDoneBefore = 6 // 当前就是这个版本,不需要升级了 -} FirmFileCheckResult; // 无线传感器请求任务 typedef struct { uint8_t cmd; // kAskTask