14. Networking and communications

This week I worked on defining my interface.

Manufacturer of the ESP8266 with OLED display integrated: HELTEC

You`ll find the Wireless Stick description here

Code Example

Use the three backticks to separate code.

// Set ledPin according to the request
//digitalWrite(ledPin, value);

  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 /*
  * int shouldertwist = 1150;
int shouldery = 1300;
int elbowy = 1430;
int wristy = 2150;
int wristtwist = 1450;
int griper = 1800;
  */
  client.print("My position is: ");
  client.print(shouldertwist);
   client.print(", ");
    client.print(shouldery);
    client.print(", ");
     client.print(elbowy);
     client.print(", ");
      client.print(wristy);
      client.print(", ");
       client.print(wristtwist);
       client.print(", ");
        client.print(griper);
        client.println(".");

  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_6x12_mr);
  u8g2.drawStr(0, 7, "My position is:");

u8g2.setCursor(0, 24);
      u8g2.print(shouldertwist);
      u8g2.print(", ");
      u8g2.print(shouldery);
      u8g2.print(", ");
      u8g2.print(elbowy);
      u8g2.setCursor(0, 32);
      u8g2.print(wristy);
      u8g2.print(", ");
      u8g2.print(wristtwist);
      u8g2.print(", ");
      u8g2.print(griper);


  u8g2.sendBuffer();



  if(value == 2) {
    client.print(" Initial Position");
  }
  else{
    if(value == 3){
    client.print(" Connection OK");
    }
     else {
if(value == 4){
    client.print("blink8");
    }
     else {

if(value == 70){
    client.print("Full Vertical");
    }
     else {
    client.print(" #");
  }
  }
  }
  }
/*

  client.println("<a href=\"/LED=ON\"\"><center><button>Turn On </button></a>");
  client.println("<a href=\"/LED=Blink4\"\"><button>Blink4 </button></a>");
  client.println("<a href=\"/LED=Blink8\"\"><button>Blink8 </button></a>");
  client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></center></a><br />");

  client.println("<a href=\"/FUNCION A EJECUTAR\"\"><center><button>TITULO DEL BOTON</button></a>");

  */

  client.println("<p><b><h1><center>Numeric Control of the Robotic Arm</center></h1></b></p>");
  client.println("<h4><p><left>Jos&eacute; Luis Mart&iacute;nez.</left></p></h4>");
  client.println("<a href=\"/INITIALPOSITION\"\"><p><center><button>INITIAL POSITION</button></a>");
  client.println("<a href=\"/LED=Blink8\"\"><button>Test Connection </button></a>");
  client.println("<a href=\"/FULLVERTICAL\"\"><button>FULL VERTICAL</button></center><p></a>");
  client.println("<p><b><h5><center>SHOULDER TWIST (#27)</center></h5></b></p>");

  client.println("<a href=\"/LEFT1\"\"><center><button>LEFT 1 </button></a>");
  client.println("<a href=\"/LEFT2\"\"><button>LEFT 2  </button></a>");
  client.println("<a href=\"/LEFT5\"\"><button>LEFT 5  </button></a>");
  client.println("<a href=\"/LEFT7\"\"><button>LEFT 10 </button></a>");
  client.println("<a href=\"/LEFT8\"\"><button>LEFT 20 </button></a>");
  client.println("<a href=\"/LEFT45\"\"><button>LEFT 45 </button></a>");
  client.println("<a href=\"/RIGHT45\"\"><button>RIGHT 45</button></a>");
  client.println("<a href=\"/RIGHT8\"\"><button>RIGHT 20</button></a>");
  client.println("<a href=\"/RIGHT7\"\"><button>RIGHT 10</button></a>");
  client.println("<a href=\"/RIGHT5\"\"><button>RIGHT 5 </button></a>");
  client.println("<a href=\"/RIGHT2\"\"><button>RIGHT 2 </button></a>");
  client.println("<a href=\"/RIGHT1\"\"><button>RIGHT 1 </button></center></a><br />");

  client.println("<p><b><h5><center>SHOULDER Y (#31)</center></h5></b></p>");

  client.println("<a href=\"/SYUP1\"\"><center><button>UP 1 </button></a>");
  client.println("<a href=\"/SYUP2\"\"><button>UP 2   </button></a>");
  client.println("<a href=\"/SYUP5\"\"><button>UP 5   </button></a>");
  client.println("<a href=\"/SYUP7\"\"><button>UP 10  </button></a>");
  client.println("<a href=\"/SYUP8\"\"><button>UP 20  </button></a>");
  client.println("<a href=\"/SYUP45\"\"><button>UP 45  </button></a>");
  client.println("<a href=\"/SYDOWN45\"\"><button>DOWN 45</button></a>");
  client.println("<a href=\"/SYDOWN8\"\"><button>DOWN 20</button></a>");
  client.println("<a href=\"/SYDOWN7\"\"><button>DOWN 10</button></a>");
  client.println("<a href=\"/SYDOWN5\"\"><button>DOWN 5 </button></a>");
  client.println("<a href=\"/SYDOWN2\"\"><button>DOWN 2 </button></a>");
  client.println("<a href=\"/SYDOWN1\"\"><button>DOWN 1 </button></center></a><br />");

  client.println("<p><b><h5><center>ELBOW Y (#3)</center></h5></b></p>");

  client.println("<a href=\"/EYUP1\"\"><center><button>UP 1   </button></a>");
  client.println("<a href=\"/EYUP2\"\"><button>UP 2   </button></a>");
  client.println("<a href=\"/EYUP5\"\"><button>UP 5   </button></a>");
  client.println("<a href=\"/EYUP7\"\"><button>UP 10  </button></a>");
  client.println("<a href=\"/EYUP8\"\"><button>UP 20  </button></a>");
  client.println("<a href=\"/EYUP45\"\"><button>UP 45  </button></a>");
  client.println("<a href=\"/EYDOWN45\"\"><button>DOWN 45</button></a>");
  client.println("<a href=\"/EYDOWN8\"\"><button>DOWN 20</button></a>");
  client.println("<a href=\"/EYDOWN7\"\"><button>DOWN 10</button></a>");
  client.println("<a href=\"/EYDOWN5\"\"><button>DOWN 5 </button></a>");
  client.println("<a href=\"/EYDOWN2\"\"><button>DOWN 2 </button></a>");
  client.println("<a href=\"/EYDOWN1\"\"><button>DOWN 1 </button></center></a><br />");

  client.println("<p><b><h5><center>WRIST Y (#7)</center></h5></b></p>");

  client.println("<a href=\"/WYUP1\"\"><center><button>UP 1   </button></a>");
  client.println("<a href=\"/WYUP2\"\"><button>UP 2   </button></a>");
  client.println("<a href=\"/WYUP5\"\"><button>UP 5   </button></a>");
  client.println("<a href=\"/WYUP70\"\"><button>UP 10  </button></a>");
  client.println("<a href=\"/WYUP8\"\"><button>UP 20  </button></a>");
  client.println("<a href=\"/WYUP45\"\"><button>UP 45  </button></a>");
  client.println("<a href=\"/WYDOWN45\"\"><button>DOWN 45</button></a>");
  client.println("<a href=\"/WYDOWN8\"\"><button>DOWN 20</button></a>");
  client.println("<a href=\"/WYDOWN7\"\"><button>DOWN 10</button></a>");
  client.println("<a href=\"/WYDOWN5\"\"><button>DOWN 5 </button></a>");
  client.println("<a href=\"/WYDOWN2\"\"><button>DOWN 2 </button></a>");
  client.println("<a href=\"/WYDOWN1\"\"><button>DOWN 1 </button></center></a><br />");

  client.println("<p><b><h5><center>WRIST TWIST (#11)</center></h5></b></p>");

  client.println("<a href=\"/WTFA\"\"><center><button>Wrist Twist Full AntiClock </button></a>");
  client.println("<a href=\"/WTC\"\"><button>Wrist Twist Center </button></a>");
  client.println("<a href=\"/WTFC\"\"><button>Wrist Twist Full Clock </button></center></a><br />");

  client.println("<p><b><h5><center>GRIP (#15)</center></h5></b></p>");

  client.println("<a href=\"/GO\"\"><center><button>Grip Open</button </button></a>");
  client.println("<a href=\"/GMO\"\"><button>Grip Mid Open </button></a>");
  client.println("<a href=\"/GC\"\"><button>Grip Close </button></center></a><br />");



  client.println("</html>");

/*


  client.println("<p><center><button onclick=\"window.location.href='http://192.168.1.17/H'\">  LEFT 1  </button><button onclick=\"window.location.href='http://192.168.1.17/0'\">  LEFT 2  </button><button onclick=\"window.location.href='http://192.168.1.17/G'\">  LEFT 5  </button><button onclick=\"window.location.href='http://192.168.1.17/F'\">  LEFT 10  </button><button onclick=\"window.location.href='http://192.168.1.17/3'\">  LEFT 20  </button><button onclick=\"window.location.href='http://192.168.1.17/E'\">  LEFT 45  </button><button onclick=\"window.location.href='http://192.168.1.17/D'\">  RIGHT 45  </button><button onclick=\"window.location.href='http://192.168.1.17/2'\">  RIGHT 20  </button><button onclick=\"window.location.href='http://192.168.1.17/C'\">  RIGHT 10  </button><button onclick=\"window.location.href='http://192.168.1.17/B'\">  RIGHT 5  </button><button onclick=\"window.location.href='http://192.168.1.17/1'\">  RIGHT 2  </button><button onclick=\"window.location.href='http://192.168.1.17/A'\">  RIGHT 1  </button></center></p>");

 client.println("<p><center><button onclick=\"window.location.href='http://192.168.1.17/I'\">  UP 1  </button><button onclick=\"window.location.href='http://192.168.1.17/4'\">  UP 2  </button><button onclick=\"window.location.href='http://192.168.1.17/J'\">  UP 5  </button><button onclick=\"window.location.href='http://192.168.1.17/K'\">  UP 10  </button><button onclick=\"window.location.href='http://192.168.1.17/6'\">  UP 20  </button><button onclick=\"window.location.href='http://192.168.1.17/L'\">  UP 45  </button><button onclick=\"window.location.href='http://192.168.1.17/M'\">  DOWN 45  </button><button onclick=\"window.location.href='http://192.168.1.17/7'\">  DOWN 20  </button><button onclick=\"window.location.href='http://192.168.1.17/N'\">  DOWN 10  </button><button onclick=\"window.location.href='http://192.168.1.17/O'\">  DOWN 5  </button><button onclick=\"window.location.href='http://192.168.1.17/5'\">  DOWN 2  </button><button onclick=\"window.location.href='http://192.168.1.17/P'\">  DOWN 1  </button></center></p>");

 client.println("<p><center><button onclick=\"window.location.href='http://192.168.1.17/X'\">  UP 1  </button><button onclick=\"window.location.href='http://192.168.1.17/9'\">  UP 2  </button><button onclick=\"window.location.href='http://192.168.1.17/W'\">  UP 5  </button><button onclick=\"window.location.href='http://192.168.1.17/V'\">  UP 10  </button><button onclick=\"window.location.href='http://192.168.1.17/n'\">  UP 20  </button><button onclick=\"window.location.href='http://192.168.1.17/U'\">  UP 45  </button><button onclick=\"window.location.href='http://192.168.1.17/T'\">  DOWN 45  </button><button onclick=\"window.location.href='http://192.168.1.17/m'\">  DOWN 20  </button><button onclick=\"window.location.href='http://192.168.1.17/S'\">  DOWN 10  </button><button onclick=\"window.location.href='http://192.168.1.17/R'\">  DOWN 5  </button><button onclick=\"window.location.href='http://192.168.1.17/8'\">  DOWN 2  </button><button onclick=\"window.location.href='http://192.168.1.17/Q'\">  DOWN 1  </button></center></p>");

   client.println("<p><center><button onclick=\"window.location.href='http://192.168.1.17/f'\">  Up 1  </button><button onclick=\"window.location.href='http://192.168.1.17/p'\">  UP 2  </button><button onclick=\"window.location.href='http://192.168.1.17/e'\">  UP 5  </button><button onclick=\"window.location.href='http://192.168.1.17/d'\">  UP 10  </button><button onclick=\"window.location.href='http://192.168.1.17/r'\">  UP 20  </button><button onclick=\"window.location.href='http://192.168.1.17/c'\">  UP 45  </button><button onclick=\"window.location.href='http://192.168.1.17/b'\">  DOWN 45  </button><button onclick=\"window.location.href='http://192.168.1.17/q'\">  DOWN 20  </button><button onclick=\"window.location.href='http://192.168.1.17/a'\">  DOWN 10  </button><button onclick=\"window.location.href='http://192.168.1.17/Z'\">  DOWN 5  </button><button onclick=\"window.location.href='http://192.168.1.17/o'\">  DOWN 2  </button><button onclick=\"window.location.href='http://192.168.1.17/Y'\">  DOWN 1  </button></center></p>");

  client.println("<p><center><button onclick=\"window.location.href='http://192.168.1.17/g'\">Wrist Twist Full AntiClock</button><button onclick=\"window.location.href='http://192.168.1.17/h'\">Wrist Twist Center</button><button onclick=\"window.location.href='http://192.168.1.17/i'\">Wrist Twist Full Clock</button></center></p>"));

  client.println("<p><center><button onclick=\"window.location.href='http://192.168.1.17/j'\">Grip Open</button><button onclick=\"window.location.href='http://192.168.1.17/k'\">Grip Mid Open</button><button onclick=\"window.location.href='http://192.168.1.17/l'\">Grip Close</button></center></p>"));

 */ 

This is the ESP8266 wirelees stick used:

Here you`ll see the ESP8266 wireless stick broadcasting the I.P. address where the interface/web page is hosted:

And this is my interface: