add save mac upto v1.1.10

This commit is contained in:
hyx 2025-05-04 18:17:27 +08:00
parent 8a6818d639
commit 985922dd22
5 changed files with 84 additions and 7 deletions

2
cp.sh
View File

@ -1,5 +1,5 @@
#sshpass -p "&Over#B0Ost!" scp ./start.sh root@10.10.10.101:/root/
sshpass -p "&Over#B0Ost!" scp ./output/bin/tx_server root@10.10.10.235:/root/
sshpass -p "&Over#B0Ost!" scp ./output/bin/tx_server root@10.10.12.235:/root/
#sshpass -p "&Over#B0Ost!" scp ./output/bin/tx_server root@10.10.10.101:/home/linaro/
#sshpass -p "PddloTSecPwdOnly!" scp ./output/bin/tx_server root@192.168.0.148:/home/linaro/
#sshpass -p "PddloTSecPwdOnly!" scp ./output/bin/tx_server root@10.10.10.132:/root/

82
main.c
View File

@ -36,7 +36,7 @@ int fd;
int UPCASE=0;
int count_value=0;
int getPayloadTime=120*1000;//usecond
char softwareVersion[16]="1.1.9";
char softwareVersion[16]="1.1.10";
char stationsn[16]="TJ251372224247";//TJ250995217957
char productid[8]="10045";
char appKey[32]="fdhQmhqhvbL1cf1K9mUqt";
@ -670,6 +670,33 @@ void writeWlan(char *filename,char *netway,char *gate,char *ip){
}
}
void writeNetworkInterface(char *filename,char *dest){
buffer_to_file(filename,"# interfaces(5) file used by ifup(8) and ifdown(8)",
strlen("# interfaces(5) file used by ifup(8) and ifdown(8)"),"wb");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"# Include files from /etc/network/interfaces.d:",strlen("# Include files from /etc/network/interfaces.d:"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"source-directory /etc/network/interfaces.d",strlen("source-directory /etc/network/interfaces.d"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"auto lo",strlen("auto lo"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"iface lo inet loopback",strlen("iface lo inet loopback"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"auto eth0",strlen("auto eth0"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"iface eth0 inet dhcp",strlen("iface eth0 inet dhcp"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"# address 10.10.12.12",strlen("# address 10.10.12.12"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"# netmask 255.255.255.0",strlen("# netmask 255.255.255.0"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"# gateway 10.10.12.1",strlen("# gateway 10.10.12.1"),"a");
buffer_to_file(filename,"\n",strlen("\n"),"a");
buffer_to_file(filename,"hwaddress ether ",strlen("hwaddress ether "),"a");
buffer_to_file(filename,dest,strlen(dest),"a");
system("sync");
}
void removeFile(char *filename){
char cmd[32]={0};
sprintf(cmd,"rm %s",filename);
@ -677,10 +704,42 @@ void removeFile(char *filename){
system(cmd);
}
char* insert_colon(const char* src, int interval) {
if (!src || interval <= 0) return NULL;
size_t len = strlen(src);
if (len == 0) { // 空字符串返回空
char* res = malloc(1);
if (res) res[0] = '\0';
return res;
}
// 计算新字符串长度
size_t sections = (len + interval - 1) / interval; // 总段数
size_t new_len = len + (sections - 1); // 新长度 = 原长 + 冒号数
char* new_str = malloc(new_len + 1); // 分配内存:ml-citation{ref="2" data="citationList"}
if (!new_str) return NULL;
size_t src_idx = 0, dst_idx = 0;
while (src_idx < len) {
// 计算本次复制的字符数
size_t copy_size = (len - src_idx < (size_t)interval) ? (len - src_idx) : (size_t)interval;
memcpy(new_str + dst_idx, src + src_idx, copy_size); // 块复制:ml-citation{ref="3" data="citationList"}
src_idx += copy_size;
dst_idx += copy_size;
// 非末尾段时插入冒号
if (src_idx < len) new_str[dst_idx++] = ':';
}
new_str[dst_idx] = '\0'; // 终止符:ml-citation{ref="7" data="citationList"}
return new_str;
}
void *actHandleQrcode(void *parm){
char *str=(char *)parm;
LOG_I("scan:%s\n",str);
if(strstr(str,"{")!=NULL){
#if 0
char deviceSecret[64]={0};
char deviceCode[64]={0};
char netWorkType[64]={0};
@ -720,9 +779,26 @@ void *actHandleQrcode(void *parm){
sleep(1);
system("reboot");
}
#endif
}else{
if(strstr(str,"TJ")!=NULL && strlen(str)==14){
buffer_to_file("savedDevSn",str,strlen(str),"wb");
if(strstr(str,"TJ")!=NULL && strlen(str)==27){
LOG_I("ok\n");
char *result=NULL;
char *p;
result=strtok_r(str,":",&p);
while(result!=NULL){
if(strstr(result,"TJ")!=NULL){
LOG_I("save sn:%s\n",result);
buffer_to_file("savedDevSn",result,strlen(result),"wb");
}else{
//LOG_I("save mac:%s\n",result);
//buffer_to_file("savedDevMac",result,strlen(result),"wb");
char* destmac = insert_colon(result, 2);
LOG_I("save mac:%s\n",destmac);
writeNetworkInterface("/etc/network/interfaces",destmac);
}
result=strtok_r(NULL,",",&p);
}
}
}
pthread_exit(NULL);

View File

@ -1,6 +1,6 @@
. compile.sh
rm -fr output
mkdir output
#rm -fr output
#mkdir output
cd output
cmake ..
make

2
ssh.sh
View File

@ -1,3 +1,3 @@
sshpass -p "&Over#B0Ost!" ssh root@10.10.10.235
sshpass -p "&Over#B0Ost!" ssh root@10.10.12.235
#sshpass -p "PddloTSecPwdOnly!" ssh root@10.10.10.132
#sshpass -p "PddloTSecPwdOnly!" ssh root@192.168.0.148

View File

@ -12,5 +12,6 @@ then
./tx_server
else
echo "$filesize < $maxsize not copy"
chmod 777 tx_server
./tx_server
fi