|
@@ -19,8 +19,8 @@ void getDeviceInfo(Webs *wp){
|
|
|
|
|
|
char BuildTime[30] = {0};
|
|
|
char FwVersion[10] = {0};
|
|
|
- char MacAddr[18] = {0};
|
|
|
- char IpAddr[16] = {0};
|
|
|
+ // char MacAddr[18] = {0};
|
|
|
+ // char IpAddr[16] = {0};
|
|
|
|
|
|
|
|
|
//Create session
|
|
@@ -37,58 +37,58 @@ void getDeviceInfo(Webs *wp){
|
|
|
}
|
|
|
|
|
|
//get mac address
|
|
|
- if((sock=socket(AF_INET,SOCK_STREAM,0))<0)
|
|
|
- {
|
|
|
- printf("Get mac address socket fail!\n");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- strcpy(ifreq.ifr_name,"eth0");
|
|
|
- if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
|
|
|
- {
|
|
|
- printf("Get mac address ioctl fail!\n");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- sprintf(MacAddr, "%02x:%02x:%02x:%02x:%02x:%02x",
|
|
|
- (unsigned char)ifreq.ifr_hwaddr.sa_data[0],
|
|
|
- (unsigned char)ifreq.ifr_hwaddr.sa_data[1],
|
|
|
- (unsigned char)ifreq.ifr_hwaddr.sa_data[2],
|
|
|
- (unsigned char)ifreq.ifr_hwaddr.sa_data[3],
|
|
|
- (unsigned char)ifreq.ifr_hwaddr.sa_data[4],
|
|
|
- (unsigned char)ifreq.ifr_hwaddr.sa_data[5]);
|
|
|
- }
|
|
|
- }
|
|
|
- close(sock);
|
|
|
+ // if((sock=socket(AF_INET,SOCK_STREAM,0))<0)
|
|
|
+ // {
|
|
|
+ // printf("Get mac address socket fail!\n");
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // strcpy(ifreq.ifr_name,"eth0");
|
|
|
+ // if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
|
|
|
+ // {
|
|
|
+ // printf("Get mac address ioctl fail!\n");
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // sprintf(MacAddr, "%02x:%02x:%02x:%02x:%02x:%02x",
|
|
|
+ // (unsigned char)ifreq.ifr_hwaddr.sa_data[0],
|
|
|
+ // (unsigned char)ifreq.ifr_hwaddr.sa_data[1],
|
|
|
+ // (unsigned char)ifreq.ifr_hwaddr.sa_data[2],
|
|
|
+ // (unsigned char)ifreq.ifr_hwaddr.sa_data[3],
|
|
|
+ // (unsigned char)ifreq.ifr_hwaddr.sa_data[4],
|
|
|
+ // (unsigned char)ifreq.ifr_hwaddr.sa_data[5]);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // close(sock);
|
|
|
|
|
|
//get ip address
|
|
|
- strcpy(ifreq.ifr_name, "eth0");
|
|
|
- if((sock=socket(AF_INET, SOCK_STREAM, 0))<0)
|
|
|
- {
|
|
|
- printf("Get ip address socket fail!\n");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- wRet = ioctl(sock, SIOCGIFADDR, &ifreq);
|
|
|
- if(wRet < 0)
|
|
|
- {
|
|
|
- printf("Get ip address ioctl fail!\n");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- myaddr = (struct sockaddr_in *)&(ifreq.ifr_addr);
|
|
|
- strcpy(IpAddr, inet_ntoa(myaddr->sin_addr));
|
|
|
- }
|
|
|
- }
|
|
|
- close(sock);
|
|
|
+ // strcpy(ifreq.ifr_name, "eth0");
|
|
|
+ // if((sock=socket(AF_INET, SOCK_STREAM, 0))<0)
|
|
|
+ // {
|
|
|
+ // printf("Get ip address socket fail!\n");
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // wRet = ioctl(sock, SIOCGIFADDR, &ifreq);
|
|
|
+ // if(wRet < 0)
|
|
|
+ // {
|
|
|
+ // printf("Get ip address ioctl fail!\n");
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // myaddr = (struct sockaddr_in *)&(ifreq.ifr_addr);
|
|
|
+ // strcpy(IpAddr, inet_ntoa(myaddr->sin_addr));
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // close(sock);
|
|
|
|
|
|
//Close session
|
|
|
LIBIPMI_CloseSession(&wp->ipmi_session );
|
|
|
|
|
|
printf("BuildTime: %s\n", BuildTime);
|
|
|
printf("FwVersion: %s\n", FwVersion);
|
|
|
- printf("MacAddr: %s\n", MacAddr);
|
|
|
- printf("IpAddr: %s\n", IpAddr);
|
|
|
+ // printf("MacAddr: %s\n", MacAddr);
|
|
|
+ // printf("IpAddr: %s\n", IpAddr);
|
|
|
|
|
|
cchar *pStr;
|
|
|
int code = 200;
|
|
@@ -100,8 +100,8 @@ void getDeviceInfo(Webs *wp){
|
|
|
cJSON_AddItemToObject(root, "code", cJSON_CreateString("200"));
|
|
|
cJSON_AddStringToObject(data, "buildTime", BuildTime);
|
|
|
cJSON_AddStringToObject(data, "fwVersion", FwVersion);
|
|
|
- cJSON_AddStringToObject(data, "macAddr", MacAddr);
|
|
|
- cJSON_AddStringToObject(data, "ipAddr", IpAddr);
|
|
|
+ // cJSON_AddStringToObject(data, "macAddr", MacAddr);
|
|
|
+ // cJSON_AddStringToObject(data, "ipAddr", IpAddr);
|
|
|
|
|
|
pStr = cJSON_Print(root);
|
|
|
|
|
@@ -157,6 +157,27 @@ void getSysInfo(Webs *wp){
|
|
|
printf("Title: %s\n", sysInfo.title);
|
|
|
printf("Text: %s\n", sysInfo.text);
|
|
|
|
|
|
+
|
|
|
+ cchar *pStr;
|
|
|
+ int code = 200;
|
|
|
+ cJSON * root = cJSON_CreateObject();
|
|
|
+ cJSON * data = cJSON_CreateObject();
|
|
|
+ // cJSON * next = cJSON_CreateObject();
|
|
|
+ cJSON_AddItemToObject(root, "data", data);//根节点下添加
|
|
|
+ cJSON_AddItemToObject(root, "msg", cJSON_CreateString(""));
|
|
|
+ cJSON_AddItemToObject(root, "code", cJSON_CreateString("200"));
|
|
|
+ cJSON_AddStringToObject(data, "title", sysInfo.title);
|
|
|
+ cJSON_AddStringToObject(data, "text", sysInfo.text);
|
|
|
+
|
|
|
+ pStr = cJSON_Print(root);
|
|
|
+
|
|
|
+ printf("first json:\n%s\n", pStr);
|
|
|
+ logmsg(2, "-----------------------sys----------------------%s", pStr);
|
|
|
+ websSetStatus(wp, 200);
|
|
|
+ websWriteHeaders(wp, -1, 0);
|
|
|
+ websWriteEndHeaders(wp);
|
|
|
+ websWrite(wp, pStr);
|
|
|
+ websDone(wp);
|
|
|
sleep(1);
|
|
|
sys_info_end:
|
|
|
if(sysInfo.title)
|
|
@@ -239,6 +260,22 @@ void getSensorInfo(Webs *wp){
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+
|
|
|
+ cchar *pStr;
|
|
|
+ int code = 200;
|
|
|
+ cJSON * root = cJSON_CreateObject();
|
|
|
+ cJSON *pJsonArry,*pJsonsub;
|
|
|
+
|
|
|
+ pJsonArry=cJSON_CreateArray(); /*创建数组*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ logmsg(2, "-----------------------sensor----------------------");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // cJSON_AddStringToObject(data, "buildTime", BuildTime);
|
|
|
+ // cJSON_AddStringToObject(data, "fwVersion", FwVersion);
|
|
|
//printf("sesscess reading All Sensors, nNumSensor = %d\n", nNumSensor); //this is sensor number
|
|
|
/* Write entries here */
|
|
|
while(nNumSensor)
|
|
@@ -272,11 +309,35 @@ void getSensorInfo(Webs *wp){
|
|
|
// highct,
|
|
|
// highnr,
|
|
|
// pSensorBuff->SensorAccessibleFlags);
|
|
|
+ cJSON_AddItemToArray(pJsonArry,pJsonsub=cJSON_CreateObject()); /* 给创建的数组增加对对象*/
|
|
|
+ cJSON_AddStringToObject(pJsonsub, "PROV_BRANCH_NO","000002"); /* 给对象增加内容 */
|
|
|
+ cJSON_AddStringToObject(pJsonsub, "SRC_SYS","UBPS");
|
|
|
+ cJSON_AddStringToObject(pJsonsub, "CUST_OAC_BRANCH_NO","120101");
|
|
|
+ cJSON_AddStringToObject(pJsonsub, "ROLE","3");
|
|
|
+ cJSON_AddStringToObject(pJsonsub, "IPSN_NO","1");
|
|
|
+
|
|
|
pSensorBuff++;
|
|
|
nNumSensor--;
|
|
|
}
|
|
|
+
|
|
|
+ cJSON_AddItemToObject(root, "data", pJsonArry);//根节点下添加
|
|
|
+ cJSON_AddItemToObject(root, "msg", cJSON_CreateString(""));
|
|
|
+ cJSON_AddItemToObject(root, "code", cJSON_CreateString("200"));
|
|
|
+ pStr = cJSON_Print(pJsonArry);
|
|
|
+
|
|
|
+ logmsg(2, "-----------------------sensor----------------------%s", pStr);
|
|
|
+
|
|
|
+ websSetStatus(wp, 200);
|
|
|
+ websWriteHeaders(wp, -1, 0);
|
|
|
+ websWriteEndHeaders(wp);
|
|
|
+ //websWrite(wp, "[");
|
|
|
+ websWrite(wp, pStr);
|
|
|
+ //websWrite(wp, "]");
|
|
|
+ //websFlush(wp, 0);
|
|
|
+ websDone(wp);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//Close session
|
|
|
LIBIPMI_CloseSession(&wp->ipmi_session );
|
|
|
|