firmware per leggere dalla seriale della Nucleo

Revision:
1:a3481c2fb440
Child:
2:bc0caa30735b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/serverReciveTethering.txt	Mon Feb 27 12:48:48 2017 +0000
@@ -0,0 +1,163 @@
+// file .ino da caricare tramite Arduino IDE
+
+/*
+ * Per poter programmare ESP8266 o simili tramite Ide arduino bisogna eseguire le seguenti operazioni:
+ *    1) Aprire ArduinIDE le "File - Impostazioni"
+ *    2) Inserire "http://arduino.esp8266.com/stable/package_esp8266com_index.json" nel riquadro URL aggiuntive...
+ *    3) Arpire "Strumenti - Scheda - Gestore schede - cercare 'ESP8266' e scaricare il pacchetto"
+ *    4) Selezionare WeMos D1 (Retired) 
+ *    
+ * 
+ * I driver WEMOS D1 mini
+ *    https://www.wemos.cc/tutorial/get-started-arduino.html
+ *        
+ *        
+ *        
+ *            Collegamenti   
+ *            
+ *        WeMOS   --->   Nucleo    
+ *         3v3    --->    3v3      
+ *          G     --->    GND      
+ *          TX    --->    D8
+ *          
+ *          
+ *          
+ *          
+ * In MBED bisogna definire la seriale:       
+ *    Serial esp(PA_9,PA_10);  { PA_9 - TX - (D8) ---- PA_10 - RX - (D2) }
+ *  
+ * La stringa trasmessa deve essere di tipo: 
+ *    esp.printf("%s$", "Stringa che trasmetto");
+ *    
+ *    Se voglio trasmettere un paramentro (number) intero ad esempio:
+ *    esp.printf("%s-%d$", "Value",number);       
+ */
+
+
+
+#include <ESP8266WiFi.h>
+#include <WiFiClient.h>
+#include <ESP8266WebServer.h>
+#include <ESP8266mDNS.h>
+
+
+#define ACCESS_POINT_NAME  "ESP_Serial_Monitor"        
+#define ACCESS_POINT_PASSWORD  "12345678" 
+
+const char* ssid = "AndroidAP";//
+const char* password = "12345678";//
+
+String precedente="";
+String attuale;
+
+int count=0;
+
+ESP8266WebServer server(80);
+
+const int led = 13;
+
+void handleRoot() {
+  digitalWrite(led, 1);
+
+
+  attuale=Serial.readString();
+  
+  //per ordinalre la stringa ricevuta in maniera decrescente
+  Serial.println(attuale);
+  int from=-1;
+  while(1){
+    int to=from+1;
+    from=attuale.indexOf("$",(to+1));
+    Serial.print("from: ");Serial.println(from);
+    if (from==-1) break;
+    Serial.print("Stringa: ");Serial.println(attuale.substring(to,from));
+    precedente=attuale.substring(to,from)+ "<br>" + precedente.substring(0, precedente.indexOf("<br>", 500));    
+  }
+  
+  String content = "<html><head>";
+  content += "<meta http-equiv='refresh' content='0.1'></head>";
+  content += "<body>";
+  //content += attuale; 
+  content += precedente;
+  content += "</body></html>";
+  server.send(200, "text/html", content);
+
+ /* attuale.substring(0,(attuale.lastIndexOf ("<br>")-1)); 
+  precedente=attuale + precedente.substring(0, precedente.indexOf("<br>", 500));
+*/
+  Serial.println("scrivo sulla pagina web");
+
+  digitalWrite(led, 0);
+}
+
+void handleNotFound(){
+  digitalWrite(led, 1);
+  String message = "File Not Found\n\n";
+  message += "URI: ";
+  message += server.uri();
+  message += "\nMethod: ";
+  message += (server.method() == HTTP_GET)?"GET":"POST";
+  message += "\nArguments: ";
+  message += server.args();
+  message += "\n";
+  for (uint8_t i=0; i<server.args(); i++){
+    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
+  }
+  server.send(404, "text/plain", message);
+  digitalWrite(led, 0);
+}
+
+void setup(void){
+  pinMode(led, OUTPUT);
+  digitalWrite(led, 0);
+  Serial.begin(115200);
+  Serial.begin(115200);
+
+  
+  WiFi.begin(ssid, password);
+  Serial.println("");
+
+  // Wait for connection
+  while (WiFi.status() != WL_CONNECTED) {
+    delay(500);
+    Serial.print(".");
+  }
+  Serial.println("");
+  Serial.print("Connected to ");
+  Serial.println(ssid);
+  Serial.print("IP address: ");
+  Serial.println(WiFi.localIP());
+  Serial.println();
+  Serial.println(WiFi.localIP());
+
+
+  if (MDNS.begin("esp8266")) {
+    Serial.println("MDNS responder started");
+  }
+
+  /* AP MODE
+  WiFi.mode(WIFI_AP_STA);
+  WiFi.softAP( ACCESS_POINT_NAME , ACCESS_POINT_PASSWORD);
+
+  Serial.print("IP address: ");
+  Serial.println(WiFi.localIP());
+  */
+  server.on("/", handleRoot);
+
+  server.on("/inline", [](){
+    server.send(200, "text/plain", "this works as well");
+  });
+
+  server.onNotFound(handleNotFound);
+
+  server.begin();
+  Serial.println("HTTP server started");
+}
+
+void loop(void){
+  server.handleClient();
+  
+  delay(500);
+  Serial.print("&Ciao$");
+  
+}
\ No newline at end of file