void Ethernet_setup(){ byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x00 }; IPAddress ip(192, 168, 20, 177); IPAddress gateway(192, 168, 20, 1); IPAddress subnet(255, 255, 255, 0); // Mac as unique value by change last byte from ip last value. mac[5] = ip[3] & 0xFF; // initialize the ethernet device Ethernet.begin(mac, ip, gateway, subnet); // start listening for clients server.begin(); web.begin(); // Report address Serial.print("MAC>>"); for (int i = 0; i < 6; i++) { if (mac[i] < 16) { Serial.print("0"); } Serial.print(mac[i], HEX); if (i < 5) { Serial.print(":"); } } Serial.println(); Serial.print("IP >>"); Serial.println(Ethernet.localIP()); } void webReponse(){ EthernetClient webClient = web.available(); if (webClient) { Serial.println("Web client connected"); while (webClient.connected()) { if (webClient.available()) { // 웹 브라우저에서 요청이 도착한 경우 String request = webClient.readStringUntil('\r'); //Serial.println(request); webClient.flush(); // 웹 브라우저에 출력할 문구 작성 String response = "HTTP/1.1 200 OK\r\n"; response += "Content-Type: text/html\r\n\r\n"; response += ""; response += Prcss_AI_Read(); //response += "

Hello, World!

"; response += ""; // 문구를 웹 브라우저로 전송 webClient.print(response); delay(1); // 클라이언트 연결 종료 webClient.stop(); } } } } String demuxCMD(String command, String* rightPart) { // ":"를 기준으로 문자열을 분리 int separatorIndex = command.indexOf(":"); String leftPart = command.substring(0, separatorIndex); *rightPart = command.substring(separatorIndex + 1); leftPart.replace(" ", ""); return leftPart; } int demuxNum(String rightPart, unsigned int data[]) { // 우측의 16진수 배열을 분리하여 추출 const char* delimiter = ","; int startIndex = 0; int endIndex = rightPart.indexOf(delimiter); int index = 0; while (endIndex >= 0) { String hexValue = rightPart.substring(startIndex, endIndex); // 16진수 문자열을 16진수 숫자로 변환하여 data 배열에 저장 data[index] = strtoul(hexValue.c_str(), NULL, 16); index++; startIndex = endIndex + 1; endIndex = rightPart.indexOf(delimiter, startIndex); } // 남은 마지막 16진수 배열 원소 처리 String hexValue = rightPart.substring(startIndex); data[index] = strtoul(hexValue.c_str(), NULL, 16); index++; return index; }