2017-10-30 2 views
0

현재 압전기 기반 점수 표식을 사용하여 WiFi 기반 통신 디스플레이를 구현하고 있습니다.새로 고침 후 Arduino Uno WiFi 데이터 저장

대상 하드웨어는 다른 아날로그 핀이 영향을 감지 할 때 서로 다른 점수를 직렬 인쇄하여 초기 단계에서 의도대로 작동합니다.

Arduino 웹 서버 템플릿을 사용하여 serial.printclient.print (으)로 번역하려고하지만 인쇄 할 때마다 내 인쇄 된 데이터가 제거됩니다. SQL과 PHP를 사용하지 않고

client.println(" your score is "); 
client.println(score); 

를 저장하는 방법이 있나요?

아래 질문에서 원본 템플릿으로 코드 섹션을 첨부했습니다.

void WebServer(WifiData client) { 
    client.println("HTTP/1.1 200 OK"); 
    client.println("Content-Type: text/html"); 
    client.println("Connection: close"); 
    client.println("Refresh: 0.5"); // refresh the page automatically every  
    client.println(); 
    client.println("<html>"); 
    client.println("<head> <title>Auto Target v0.2</title> </head>"); 
    client.print("<body>"); 

    for(int analogChannel = 0; analogChannel < 1; analogChannel++) { 
     int sensorReading = analogRead(analogChannel); 
     client.print("analog input "); 
     client.print(analogChannel); 
     client.print(" is "); 
     client.print(sensorReading); 
     client.print("<br/>"); 

     val = analogRead(analogPin1); 
     if(val > threshold) { 

      client.println("Hit 1!"); 
      score = score + 5; 

      if (score >= 100) { 
       client.println("Congrats! You Scored 100 POINTS!"); 
      } 
      client.print("YOUR SCORE "); 
      client.println(score); 

      delay (800); 
     } 
+1

왜 안드로이드 태그가 필요합니까? – Bhargav

+0

하나의 솔루션은 간단한 키 - 값 쌍으로 파일 저장소에 데이터를 쓰는 것입니다. – Bhargav

+0

나는 순서대로 약간의 작업을했는데, for 루프 전에 score의 client.print를 놓고 for 루프를 완전히 생략하는 것은 내가 목표로했던 것에 가깝지만 client.print는 각 refresh 후에도 여전히 제거된다. . 그러나 총 점수는 저장됩니다. –

답변

0

나는 질문 할 수 없으므로 답변을 작성해야합니다.

http 헤더에 새로 고침 0.5를 설정합니다. 헤더 새로 고침은 문서화되지 않았지만 일반적으로 수는 초입니다. 십진법이 허용되는지 모르겠습니다. 그것이 1 초의 반이라면 코드에 지연 (800)이 있습니다. 이 결과가 무엇인지 모릅니다. 로드가 완료되기 전에 페이지가 새로 고쳐질 수 있습니다.

공장 펌웨어가있는 Uno WiFi의 Atmega와 ESP8266 사이의 연결은 9600 보오이며 네트워크와의 데이터 스트림 속도가 느려집니다. 페이지를 새로 고치기 전에 끝내지 않는 다른 이유입니다.

코드가 잘리고 html 태그를 닫을 지 알 수 없습니다.

+0

답변이 도움이 되었습니까? 그렇다면 허용 된 것으로 표시하십시오. – Juraj