code below is an html/js interface with arduino.I am able to connect with uno through enc28j60 but not able to display my webpage and pass values.
#include <SPI.h>
#include <UIPEthernet.h>//ran success eith UIPEthernet but not eith Ethernet
#include <SD.h>
#define BAUD 115200
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = {
192, 168, 14, 10 }; // ip in lan
byte gateway[] = {
192, 168, 14, 9 }; // internet access via router
byte subnet[] = {
255, 255, 255, 0 }; //subnet mask
EthernetServer server(84);//server port
File webfile;
//byte Ethernet::buffer[700];
String readString;
//////////////////////
void setup(){
//pinMode(9, OUTPUT); //pin selected to control
//start Ethernet
Ethernet.begin(mac, ip, gateway, gateway, subnet);
server.begin();
//enable serial data print
Serial.begin(BAUD);
Serial.println("server text box test1"); // so I can keep track of what is loaded
}
void loop(){
// Create a client connection
String wifissid;
String sta_pwd;
String ap_ip;
String ap_ssid;
String ap_pwd;
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {//Serial.print("inside client connected");
if (client.available()) {//Serial.println("inside client available");
char c = client.read();
//read char by char HTTP request
if (readString.length() < 1000) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
// last line of client request is blank and ends with \n
// respond to client only after last line received
if (c == '\n' && currentLineIsBlank) {
//Serial.println("in 1st if");
///////////////
Serial.println(readString); //see what was captured
//now output HTML data header
//client.send()
client.println("HTTP/1.1 200 OK");
//client.println("Content-Type: text/html");
//client.println();
/*running client.println("");
client.println("");
client.println("Arduino GET test page");
client.println("");
client.println("");
//client.println("
HTML form GET example
");client.println(""); //uses IP/port of web page
//client.println("Pin 9 'on9' or 'off9':
");
client.println("
Enter the configuration.
");
client.println("WiFiSettings:
");
client.println("WiFiSSID ");
client.println("WiFiPASSWORD .
");
client.println("AP Settings:
");
client.println("AP IP ");
client.println("AP SSID");
client.println("AP PASSWORD ");
client.println("
");
client.println("");
client.println("
");
//check for mypassword
if(readString.indexOf("mypassword") >0) {
//link to a second control page
client.println("<a href='/ctrl' '>secret click link");
}running*/
/client.println("document.getElementByName('sta_ssid'))[0].value");
client.println("document.getElementByName('sta_password'))[0].value");
client.println("document.getElementByName('ap_ip'))[0].value");
client.println("document.getElementByName('ap_ssid'))[0].value");
client.println("document.getElementByName('ap_password'))[0].value");/
/runningclient.println("");
client.println("");running/
//GetTextFromHtmltextboxes()
if(readString.substring(0)=="ajax_inputs")
{
/////////////////////
if(readString.indexOf("sta_ssid") >0)//checks for on
{
//digitalWrite(9, HIGH); // set pin 9 high
wifissid=readString.substring(strlen("sta_ssid")+1,readString.indexOf(":"));
Serial.println(wifissid);
}
if(readString.indexOf("sta_pwd") >0)//checks for off
{
//digitalWrite(9, LOW); // set pin 9 low
sta_pwd=readString.substring(strlen("sta_pwd")+1,readString.indexOf(":"));
Serial.println(readString.indexOf(sta_pwd));
}
if(readString.indexOf("ap_ip") >0)//checks for off
{
//digitalWrite(9, LOW); // set pin 9 low
ap_ip=readString.substring(strlen("ap_ip")+1,readString.indexOf(":"));
Serial.println(readString.indexOf(ap_ip));
}
if(readString.indexOf("ap_ssid") >0)//checks for off
{
//digitalWrite(9, LOW); // set pin 9 low
ap_ssid=readString.substring(strlen("ap_ssid")+1,readString.indexOf(":"));
Serial.println(readString.indexOf(ap_ssid));
}
if(readString.indexOf("ap_pwd") >0)//checks for off
{
//digitalWrite(9, LOW); // set pin 9 low
ap_pwd=readString.substring(strlen("ap_pwd")+1,readString.indexOf(":"));
Serial.println(readString.indexOf(ap_pwd));
}
//clearing string for next read
readString="";
}
else // web page request
{
//
webfile = SD.open("arduinohtml.html"); // open web page file
if (webfile) {
while(webfile.available()) {
client.write(webfile.read()); // send web page to client
}
webfile.close();
}
//
}
break;
}
if (c == '\n') {
// last character on line of received text
// starting new line with next character read
currentLineIsBlank = true;//Serial.println("currentLineIsBlank = true");
}
else if (c != '\r') {
// a text character was received from client
currentLineIsBlank = false; //Serial.println("currentLineIsBlank = false");
}
}// end if (client.available())
}// end while (client.connected())
delay(1);
//stopping client
client.stop();
}// end if (client)
}
/*output:
- GET/HTTP/1.1 Host:192.168.14.10:84 User Agent:Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml#AE application/xml;q 0.9,*;q 0.8 Accept Language: en US,en;q 0.5 Accept
Encoding: gzip, deflate
Connection: keep alive
Upgrade Insecure Requests: 1
G*/