Here is some code I used to test IP connection to a local web server.
I couldn’t the web server to accept GET requests from the Photon.
I found out it was the firewall.
I hope this can help save somebody some time.
int xcmd;
char xSSID[250];
char xoutstring[250];
IPAddress mainpc(10,0,0,142);
TCPClient client;
int pht1 = A0;
int pwr1 = A5;
int pht1_value;
void setup() {
pinMode(pwr1, OUTPUT);
pinMode(pht1, INPUT);
digitalWrite(pwr1,HIGH);
Serial.begin(9600);
}
void loop() {
print_Menu();
while(!Serial.available()) Particle.process();
xcmd = Serial.read();
Serial.print("Command entered: ");
sprintf(xoutstring,"%c",xcmd);
Serial.println(xoutstring);
switch(xcmd)
{
case 'a':
Serial.println("Connected to SSID");
Serial.println("");
Serial.println(WiFi.SSID());
Serial.println("");
Serial.println("");
break;
case 'b':
Serial.print("Connected to SSID:");
Serial.println(WiFi.SSID());
Serial.print("Signal Strength:");
Serial.print(WiFi.RSSI());
Serial.println("db");
Serial.println("");
Serial.println("");
break;
case 'c':
Serial.print("Local IP Address:");
Serial.println(WiFi.localIP());
Serial.print("Subnet Mask:");
Serial.println(WiFi.subnetMask());
Serial.println("");
Serial.println("");
break;
case 'd':
Serial.print("Pinging Router:");
Serial.println(WiFi.gatewayIP());
Serial.println("");
Serial.print("Number of Packets: ");
Serial.println(WiFi.ping(WiFi.gatewayIP()));
Serial.println("");
Serial.println("");
break;
case 'e':
Serial.print("Pinging Main:");
Serial.println(mainpc);
Serial.println("");
Serial.print("Number of Packets:");
Serial.println(WiFi.ping(mainpc));
Serial.println("");
Serial.println("");
break;
case 'f':
Serial.println("Connecting to Main");
if (client.connect(mainpc, 80))
{
Serial.println("connected");
pht1_value = analogRead(pht1);
sprintf(xoutstring,"GET /addlightvalue.asp?tstamp=%lu&lvalue=%d HTTP/1.0",Time.now(),pht1_value);
client.println(xoutstring);
client.println("Content-Length: 0");
client.println();
while(client.connected())
{
if(client.available())
{
char c = client.read();
Serial.print(c);
}
Particle.process();
}
client.stop();
Serial.println("Disconnected");
}
else
{
Serial.println("connection failed");
}
}
}
void print_Menu()
{
Serial.println("Menu");
Serial.println("a. Display SSID");
Serial.println("b. Display Signal Strength");
Serial.println("c. Display Local IP");
Serial.println("d. Ping Router");
Serial.println("e. Ping Main");
Serial.println("f. Connect to Main");
Serial.println("");
Serial.println("");
}