Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By Fyod
#37610 Hey guys!
I'm working on controlling a GoPro over the embedded webserver on the GoPro.
I have successfully wired the ESP to my Arduino and the ESP has external power. All is well in the Serial Monitor, raised baud to 57k.
I connect to the GoPro (ESP is in station mode), I get an IP assigned, TCP to 80, everything seems fine until I do a GET request. The Send is OK, but nothing happens on the GoPro and no reply. I am trying various commands like shutter, camera off, etc.

Troubleshooting:
- Tried the same thing from iPhone browser, GoPro commands work fine
- Tried connecting ESP to my home WiFi, TCP on 80 to google.com works, GET google.com works, responds

Not sure where to go from here. All I know is that the firmware is old, but I doubt that has anything to do with it.
Any help is appreciated.

Oh, Happy New Year!
User avatar
By Fyod
#37746 Here's my approach after ESP is turned on:

Code: Select allAT+CWMODE=1
no change

AT+CWJAP="ssidname","password"
OK

AT+CIPMUX=0
OK

AT+CIPSTART="TCP","10.5.5.9",80  // or 8080 for GoPro 3+
OK
Linked

AT+CIPSEND=61
>

GET http://10.5.5.9/bacpac/SH?t=password&p=%01 HTTP/1.1\r\n
SEND OK


... nothing happens.
User avatar
By Fyod
#37750 If I add more bytes to CIPSEND, this happens:

Code: Select allAT+CIPSEND=63

> GET http://10.5.5.9/bacpac/SH?t=password&p=%01 HTTP/1.1\r\n


SEND OK

+IPD,221:HTTP/1.1 400 Bad Request
Connection: close
Date: Sun, 03 Jan 2016 05:09:18 GMT
Server: Cherokee/1.2.101b140303_457ea58 (UNIX)
Content-Length: 448
Content-Type: text/html
Cache-Control: no-cache
Pragma: no-cache


OK

+IPD,448:<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>400 Bad Request</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>400 Bad Request</h1>
Your browser sent a request that this server could not understand.<p><pre>GET http://10.5.5.9/bacpac/SH?t=password&amp;p=%01 HTTP/1.1\r\n

</pre>
<p><hr>
Cherokee web server 1.2.101b140303_457ea58 (UNIX), Port 80
</body>
</html>

OK


So possibly the '&amp;' is the problem. I am doing the AT commands directly from Arduino Serial Monitor and achoing them to ESP serial port.