2017-10-30 9 views
0

Ich experimentiere derzeit mit der Implementierung einer WiFi-basierten Kommunikationsanzeige mit einem Piezo-basierten Scoring-Ziel.Arduino Uno WiFi-Datenspeicher nach der Aktualisierung

Die Zielhardware funktioniert in diesem frühen Stadium wie beabsichtigt, wenn verschiedene Analogstifte beim Drucken einen unterschiedlichen Eindruck erzeugen.

Ich versuche, die serial.print zu client.print mit der Arduino Webserver Vorlage zu übersetzen, aber meine gedruckten Daten werden nach jeder Aktualisierung entfernt. Gibt es eine Möglichkeit

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

ohne Verwendung von SQL und PHP zu speichern?

Ich habe den Code-Abschnitt, mit der ursprünglichen Vorlage, in Frage unten angehängt.

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

warum der android tag? – Bhargav

+0

Eine Lösung besteht darin, Daten als einfache Schlüssel/Wert-Paare in den Dateispeicher zu schreiben. – Bhargav

+0

Ich habe etwas mit der Reihenfolge getüftelt, indem ich den client.print der Partitur vor die for-Schleife gesetzt habe und dann die for-Schleife komplett weggelassen habe, ist nahe dran, was ich angestrebt habe, aber client.print wird immer noch nach jeder Aktualisierung entfernt . Die Gesamtpunktzahl wird jedoch gespeichert. –

Antwort

0

Ich darf nicht kommentieren, also kann ich keine Fragen stellen und muss eine Antwort schreiben.

Sie legen Refresh 0.5 in der HTTP-Kopfzeile fest. Refresh Header ist nicht dokumentiert, aber normalerweise ist die Anzahl Sekunden. Ich weiß nicht, ob dort Dezimalzahlen erlaubt sind. Wenn es eine halbe Sekunde dauert, haben Sie eine Verzögerung (800) in Ihrem Code. Ich weiß nicht, was daraus entstehen wird. Vielleicht eine Seite aktualisieren vor dem vollständigen Laden.

Die Verbindung zwischen Atmega und ESP8266 auf Uno WiFi mit Werks-Firmware ist 9600 Baud und es verlangsamt Datenströme zu und von Netzwerk. Es ist ein weiterer Grund dafür, dass die Seite nicht geladen wird, bevor sie aktualisiert wird.

Ihr Code ist abgeschnitten und wir können nicht sehen, wenn Sie die HTML-Tags schließen.

+0

hat die Antwort geholfen? Wenn ja, bitte als akzeptiert markieren. – Juraj