olimex / esp8266 Goto Github PK
View Code? Open in Web Editor NEWESP8266 examples and toolchain setup
License: Apache License 2.0
ESP8266 examples and toolchain setup
License: Apache License 2.0
Hi, hello,
I´m trying to compile your code, but I´m getting some trouble while executing "make" command.
Here is the output:
xt-xcc -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections -fno-builtin-printf -DICACHE_FLASH -DFREERTOS -DOTA_FLASH_SIZE_K=32768 -DOTA_TAGNAME=""generic"" -I include -I ./ -I ../include -I ../libesphttpd/include -I ../libesphttpd/espfs -I ../include -I ../include/eagle -I ../driver_lib/include -o .output/eagle/debug/obj/cgi-test.o -c cgi-test.c
/bin/sh: xt-xcc: command not found
make[1]: *** [.output/eagle/debug/obj/cgi-test.o] Error 127
make: *** [.subdirs] Error 2
Any hint will be really appreciated!
Thanks in advance!
In ESP8266/Arduino IDE/Relay-Control-MQTT/firmware/relay-mqtt.ino
there were changes to PubSubClient and especially constructor etc.
Please find attached updated INO file.
Regards.
relay-mqtt.ino.txt
What to change in order to make it compile with the latest SDK version? (2.1.0)
Sorry my bad for chunked messages.
Last chunk of chunked messages is "0\r\n", this is correct handled, but we have to set OK flag in receiver state machine to proper free request.
So please add:
request->response_state = WEBCLIENT_RESP_STATE_OK
in line 454
Complete lines:
// Check if header && not chunked
if (request->response_state == WEBCLIENT_RESP_STATE_WAITCHUNK) {
if ((char *)os_strstr(pData, "0\r\n") == pData) {
request->response_state = WEBCLIENT_RESP_STATE_OK;
is_close_conn = true;
}
} else {
Best regards
I encountered some problems while POSTing data using WEBCLIENT; I tried to send data to thingspeak.com in cloud (of course data format is different than Olimex event format), PUT and POST are supported, not websockets.
There is no request freeing from the list which may cause memory leak.
Thingspeak responds using chunked response (at least two messages for response), so for proper response handling its needed to collect all messages.
There is also trouble when to many requests is triggered, limitation of ESP library. In this case function "espconn_connect" returns error and no "webclient_connect" callback is fired - also no freeing of requests.
I fixed troubles in my for., commit: https://github.com/mikexmas/ESP8266/commit/4bfabe9c350430285199be070363cb6b4d9ca151
latyas@zypher:~/ESP8266-master/IoT Firmware$ make
make[1]: Entering directory `/home/latyas/ESP8266-master/IoT Firmware/olimex'
make[2]: Entering directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user'
make[3]: Entering directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user/modules'
xt-xcc -Os -g -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -DICACHE_FLASH -I include -I ./ -I ../ -I ../../include/ets -I ../include -I ./ -I ../../include/ets -I ../../include -I ../../../include -I ../../../include/eagle -o .output/eagle/debug/obj/mod_finger.o -c mod_finger.c
mod_finger.c: In function 'void finger_buff_init(uint32, uint8, uint16)':
mod_finger.c:17:65: error: 'pvPortZalloc' was not declared in this scope
finger_buff = (finger_packet *)os_zalloc(sizeof(finger_packet));
^
mod_finger.c:25:28: error: 'vPortFree' was not declared in this scope
os_free(finger_buff->data);
^
mod_finger.c:31:25: error: 'pvPortZalloc' was not declared in this scope
(uint8 *)os_zalloc(len)
^
In file included from mod_finger.c:2:0:
mod_finger.c: In function 'void finger_send_buff()':
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:48:2: note: in expansion of macro 'debug'
debug("\nFINGER: Sending packet...\n");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:49:2: note: in expansion of macro 'debug'
debug("Address: 0x%08x\n", finger_buff->address);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:50:2: note: in expansion of macro 'debug'
debug("PID: 0x%02x\n", finger_buff->pid);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:51:2: note: in expansion of macro 'debug'
debug("Len: 0x%04x\n", finger_buff->len);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:52:2: note: in expansion of macro 'debug'
debug("Data: ");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:55:3: note: in expansion of macro 'debug'
debug("0x%02x ", finger_buff->data[j]);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:57:2: note: in expansion of macro 'debug'
debug("\n\n");
^
mod_finger.c: In function 'void finger_execute(uint32, uint8, uint8*, uint16)':
mod_finger.c:85:45: error: 'ets_memcpy' was not declared in this scope
os_memcpy(finger_buff->data + 1, data, len);
^
In file included from mod_finger.c:2:0:
mod_finger.c: In function 'void finger_receive()':
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:97:3: note: in expansion of macro 'debug'
debug("FINGER: Not initialized\n");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:102:3: note: in expansion of macro 'debug'
debug("FINGER: Address not match\n");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:107:3: note: in expansion of macro 'debug'
debug("FINGER: Checksum not match [0x%04x] [0x%04x]\n", finger_buff->check_sum, finger_check_sum());
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:114:2: note: in expansion of macro 'debug'
debug("\nFINGER: Received packet\n");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:115:2: note: in expansion of macro 'debug'
debug("Address: 0x%08x\n", finger_buff->address);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:116:2: note: in expansion of macro 'debug'
debug("PID: 0x%02x\n", finger_buff->pid);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:117:2: note: in expansion of macro 'debug'
debug("Len: 0x%04x\n", finger_buff->len);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:118:2: note: in expansion of macro 'debug'
debug("Data: ");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:121:3: note: in expansion of macro 'debug'
debug("0x%02x ", finger_buff->data[i]);
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:123:2: note: in expansion of macro 'debug'
debug("\n\n");
^
mod_finger.c: In function 'void finger_char_in(char)':
mod_finger.c:184:30: error: 'vPortFree' was not declared in this scope
os_free(finger_buff->data);
^
mod_finger.c:186:59: error: 'pvPortZalloc' was not declared in this scope
finger_buff->data = (uint8 *)os_zalloc(finger_buff->len);
^
In file included from mod_finger.c:2:0:
mod_finger.c: In function 'void finger_check()':
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:210:3: note: in expansion of macro 'debug'
debug("FINGER: Device found\n");
^
../../../include/osapi.h:39:41: error: 'os_printf_plus' was not declared in this scope
os_printf_plus(flash_str, ##__VA_ARGS__); \
^
../stdout.h:4:16: note: in expansion of macro 'os_printf'
#define debug os_printf
^
mod_finger.c:212:3: note: in expansion of macro 'debug'
debug("FINGER: Device not found\n");
^
mod_finger.c: In function 'void finger_init()':
mod_finger.c:232:36: error: 'setTimeout' was not declared in this scope
setTimeout(finger_check, NULL, 500);
^
make[3]: *** [.output/eagle/debug/obj/mod_finger.o] Error 1
make[3]: Leaving directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user/modules'
make[2]: *** [.subdirs] Error 2
make[2]: Leaving directory `/home/latyas/ESP8266-master/IoT Firmware/olimex/user'
make[1]: *** [.subdirs] Error 2
make[1]: Leaving directory `/home/latyas/ESP8266-master/IoT Firmware/olimex'
make: *** [.subdirs] Error 2
I noticed some troubles working with softAP; to connect my comp to softAP: connected and
immediately disconnected.
station: 00:27:10:81:40:f4 join, AID = 1
station: 00:27:10:81:40:f4 leave, AID = 1
rm 1
add 1
aid 1
station: 00:27:10:81:40:f4 join, AID = 1
station: 00:27:10:81:40:f4 leave, AID = 1
rm 1
add 1
aid 1
station: 00:27:10:81:40:f4 join, AID = 1
station: 00:27:10:81:40:f4 leave, AID = 1
rm 1
etc.....
I upgraded to new SDK and it may be much better.
Just copied SDK files to working folder, except "makefile".
Before I do it myself, I'm wondering does anybody already create this module as an Eagle component (device/package/symbol) to use it in other Eagle projects?
In the ESP8266EX-how-to-update-firmware.pdf you write:
The connections are easier if the board has male UEXT connector (like ESP8266-EVB). The important part
here is to connect the GND of the cable to the GND pin (#2) of the UEXT connector. Then TXD of the
cable to RXD of the UEXT (#4). Finally, RXD of the cable to TXD of the UEXT (#3).
but in the board's schematic , MOD-WIFI-ESP8266-DEV, hardware revision A and B, UEXT-PIN-4 is connected to TXD and UEXT-PIN-3 is connected to RXD.
So you have already crossed the RX-TX in your boards.
Please provide a correct description because there is a confusion.
Good Day
I was testing my MOD-WIFI-ESP8266-DEV module and when flashing I had an error because the makefile uses esptool.py default baudrate (115200) but the MOD-WIFI-ESP8266-DEV, or at leats the ones I got work at 58200 in UART mode. I am not issuing a pull request because I don't know how you would like to address this problem.
Kind regards
Hi :)
Did you success in connecting to a WPA2-PEAP with the new sdk V2.0.0?
I'm following Gidrix's sketch (esp8266/Arduino#2595) that it follows SDK Documentation flow, but my ESP8266-07 doesn't connect to eduroam (WPA-PEAP MSCHAPv2 network).
Everything is prepared for flashing esphttpd example instead of webpages.espfs
When ESP is complete flashed (also blank.bin and esp_init_data_default.bin) there is different configuration of softAP & station which is stored by ESP SDK than when you press long button and restore_defaults occurs.
Is there a way to detect initial ESP settings in user_main to be overriden by restore_defaults (which works better) not only with long-button press?
Best Regards
Currently status/events messages has device field constant ESP8266, which means nothing:
{"Device" : "ESP8266", "Status" : "Authorization success"}
I suggest to put in some usefiull information, like hostname:
{"Device" : "LivingRoomThing", "Status" : "Authorization success"}
maybe wifi_station_get_hostname()
I've made a simple OpenHub binding and hostname gives much more information than constant.
Hi,
Great project! Thanks for sharing. Under what open source license is the source code available? Could you please add a license file to root directory of the repo?
Thanks,
Leon
xtensa-lx106-elf-gcc -Os -g -O2 -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -DICACHE_FLASH -I include -I ./ -I ../../include/ets -I ../include -I ./ -I ../../include/ets -I ../../include -I ../../../include -I ../../../include/eagle -o .output/eagle/debug/obj/arduino_serial.o -c arduino_serial.c
In file included from arduino_serial.c:23:0:
arduino_serial.c: In function 'uart0_init':
arduino_serial.c:103:42: error: 'FUNC_U0RXD' undeclared (first use in this function)
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD);
^
../../../include/eagle_soc.h:50:98: note: in definition of macro 'WRITE_PERI_REG'
#define WRITE_PERI_REG(addr, val) (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val)
^
../../../include/eagle_soc.h:250:9: note: in expansion of macro 'SET_PERI_REG_MASK'
SET_PERI_REG_MASK(PIN_NAME, (((FUNC&BIT2)<<2)|(FUNC&0x3))<<PERIPHS_IO_MUX_FUNC_S); \
^
arduino_serial.c:103:2: note: in expansion of macro 'PIN_FUNC_SELECT'
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD);
^
arduino_serial.c:103:42: note: each undeclared identifier is reported only once for each function it appears in
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD);
^
../../../include/eagle_soc.h:50:98: note: in definition of macro 'WRITE_PERI_REG'
#define WRITE_PERI_REG(addr, val) (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val)
^
../../../include/eagle_soc.h:250:9: note: in expansion of macro 'SET_PERI_REG_MASK'
SET_PERI_REG_MASK(PIN_NAME, (((FUNC&BIT2)<<2)|(FUNC&0x3))<<PERIPHS_IO_MUX_FUNC_S); \
^
arduino_serial.c:103:2: note: in expansion of macro 'PIN_FUNC_SELECT'
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD);
Hi, i have a simple problem but to me it's being so dificulty to resolve. It's start recently, i've nerver had tbis problema before, when I connect in NODEMCU web Server in my web (192.168.0.114, for example), the page that i've created in program doesn't show, follow the code bellow:
Note: The download was a succes and I already updated de NODEMCU firmware
`#include <ESP8266WiFi.h>
const char* ssid = "ssid";
const char* password = "password";
WiFiServer server(80);
void setup()
{
Serial.begin(115200);
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
server.begin();
Serial.println("Server started");
Serial.println(WiFi.localIP());
}
void loop()
{
WiFiClient client = server.available();
if (!client)
{
return;
}
Serial.println("new client");
while(!client.available())
{
delay(1);
}
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
String buf = "";
buf += "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n";
buf += "<html lang="en"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>\r\n";
buf += "<title>ESP8266 Web Server</title>";
buf += "<style>.c{text-align: center;} div,input{padding:5px;font-size:1em;} input{width:80%;} body{text-align: center;font-family:verdana;} button{border:0;border-radius:0.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%;} .q{float: right;width: 64px;text-align: right;}</style>";
buf += "";
buf += "
client.print(buf);
client.flush();
Serial.println("Client disonnected");
}`
It will be great if you can add the missing Serial.read and Serial.available functions to https://github.com/OLIMEX/ESP8266/blob/master/arduino_style/arduino/arduino_serial.c.
Hi,
it's about esphttpd
Could you please add possibility for WIFI config and connect to an existing WIFI AP/router?
10x
Boby
It will usefull to add way to change default port from 80 to another one... Becuase host server/IoT server in some cases may use it for another app and board is not able to connect..
Hi.
Do you have any FOTA example with Unofficial Development Kit for Espressif ESP8266 ?
Best regards.
/bin/sh: 2: xt-xcc: not found
xt-xcc -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections -DICACHE_FLASH -I include -I ./ -I ../ -I ../../include/ets -I ../include -I ./ -I ../../include/ets -I ../../include -I ../../../include -I ../../../include/eagle -o .output/eagle/debug/obj/mod_emtr.o -c mod_emtr.c
make[3]: xt-xcc: Command not found
Copiing value os_memcpy(dst, parser->json + pos - 1, len) in fnc jsonparse_object_str causes to copy +1 byte: includin ending "}".
{"key": value}
result in *dst: "value}"
correct result in *dst: "value"
Please check.
In latest version I notified webserver troubles, when I make reconnect to device, first time webserver works ok, but after recconect not anymore; web server is not responding.
LOG
connected with MB, channel 6
dhcp client start...
ip:192.168.1.101,mask:255.255.255.0,gw:192.168.1.1
EVENTS: Station connected
WEBSERVER: Connected [192.168.4.2:54583]
WebSocket: Accepted new connection [/events] [192.168.4.2:54583]
station: 00:27:10:81:40:f4 leave, AID = 1
rm 1
WEBSERVER: Disconnected [192.168.4.2:54583] [Close]
// I MAKE DISCONNECT ON MY COMPUTER
espconn_tcp_delete 1, 80
add 1
aid 1
station: 00:27:10:81:40:f4 join, AID = 1
// I RECONNECT WITH MY COMPUTER BUT CANNOT TO MAKE NY GET/POST
...
station: 00:27:10:81:40:f4 leave, AID = 1
rm 1
Hi,
does it possible to have 3-th state for relay "toggle" , which should switch it "on" and after a while switch back to "off".
The goal is to have "button" like behavior with only one HTTP request .
Now it is possible with two separated requests.
10x
Boby
The EVB board brings out (on the board header) the GPIO 6 to 11 (SD_CLK to SD_CMD) but, if I understand correctly, they cannot be used without crashing the running program.
Am I wrong? Can they be used someway?
Thanks
Build error
xtensa-lx106-elf-gcc -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections -DICACHE_FLASH -DDEVICE=0 -DSSL=0 -DBUILD=\"\" -I include -I ./ -I ../include -I ../../include -I ../../include/eagle -o .output/eagle/debug/obj/i2c_master.o -c i2c_master.c
xtensa-lx106-elf-ar ru .output/eagle/debug/lib/libdriver.a .output/eagle/debug/obj/hw_timer.o .output/eagle/debug/obj/uart.o .output/eagle/debug/obj/gpio16.o .output/eagle/debug/obj/pwm.o .output/eagle/debug/obj/i2c_extention.o .output/eagle/debug/obj/spi.o .output/eagle/debug/obj/key.o .output/eagle/debug/obj/i2c_master.o
xtensa-lx106-elf-ar: creating .output/eagle/debug/lib/libdriver.a
make[2]: Leaving directory '/home/chris/Dokumente/ESP8266/IoT Firmware/olimex/driver'
xtensa-lx106-elf-gcc -L../lib -nostdlib -T../ld/eagle.app.v6.new.1024.app1.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,--start-group -lc -lgcc -lhal -lphy -lpp -lnet80211 -llwip -lwpa -lmain -ljson -lupgrade -lssl -lsmartconfig -lcrypto user/.output/eagle/debug/lib/libuser.a driver/.output/eagle/debug/lib/libdriver.a user/modules/.output/eagle/debug/lib/libmod.a -Wl,--end-group -o .output/eagle/debug/image/eagle.app.v6.out
/opt/Espressif/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5/../../../../xtensa-lx106-elf/bin/ld: .output/eagle/debug/image/eagle.app.v6.out section `.text' will not fit in region `iram1_0_seg'
collect2: error: ld returned 1 exit status
../Makefile:371: recipe for target '.output/eagle/debug/image/eagle.app.v6.out' failed
make[1]: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1
make[1]: Leaving directory '/home/chris/Dokumente/ESP8266/IoT Firmware/olimex'
Makefile:316: recipe for target '.subdirs' failed
make: *** [.subdirs] Error 2
maybe this belongs to changes in eagle.app.v6 ???
_EDIT:_
i have checked eagle.app.v6 files - found nothing special, so i think there is something with changed binary files
I encountered some odd behaviour with the EVB. I mounted an http server on the ESP8266 ( javascript thanks to Espruino), and I tried to switch the relay state everytime a client connects to the server (thus, giving me a audible debug info). The case happened, where the ESP reseted by itself after the relay state changed. I experienced this many times.
I think it may come from the electro-magnetic field created by the relay inductor, which may be important enough to cause electrical errors on the ESP side.
Does anyone experienced the same behaviour?
I'd like to connect two ESPs, one of their is the Access point, the other is the client.
In the access point a have an out, his ip is the default of esp (192.168.4.1), i need with the client esp send an url like 192.168.4.1/led_on to turns the led on. I tried something but doesn't work. Someone could help me ?
WiFi Scan: 8 APs found.
f r0, WiFi Scan: Event Raise.
scandone
f 0, WiFi Scan: Auto Detect...
scandone
state: 0 -> 2 (b0)
station: 08:11:96:f7:04:d8 leave, AID = 1
rm 1
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 2
connected with MWIFI-9RS8, channel 11
dhcp client start...
cnt
ip:192.168.99.169,mask:255.255.255.0,gw:192.168.99.1
EVENTS: Station connected
Fatal exception 29(StoreProhibitedCause):
epc1=0x4020c03d, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000004, depc=0x00000000
Here is the map
4020c02c <webclient_new_request>:
char *host,
int port,
char *path,
char *headers,
char *content
) {
4020c02c: c0c112 addi a1, a1, -64
4020c02f: f109 s32i.n a0, a1, 60
4020c031: e1c9 s32i.n a12, a1, 56
4020c033: d1d9 s32i.n a13, a1, 52
4020c035: c1e9 s32i.n a14, a1, 48
4020c037: b1f9 s32i.n a15, a1, 44
4020c039: 3179 s32i.n a7, a1, 12
4020c03b: 017d mov.n a7, a1
4020c03d: 1f29 s32i.n a2, a15, 4
}
debug("WEBCLIENT: Requests count: %d\n", count);
STAILQ_FOREACH(request, &webclient_requests, entries) {
4020c03f: fe4f21 l32r a2, 4020b97c <crc16+0x34>
char *host,
int port,
char *path,
char *headers,
char *content
USER_CONFIG_START_SECTOR 0x07C
flash_region_register("boot.bin", 0x000, 0x001);
flash_region_register("user1.bin", 0x001, 0x07B);
flash_region_register("user2.bin", 0x081, 0x07B);
flash_region_register("user-config", 0x07C, 0x001);
flash_region_register("PrivateKey", 0x07E, 0x001);
flash_region_register("Certificate", 0x07F, 0x001);
Is there any special reason to have following two fncs in RAM ?
user_config.c/config_response
user_webclient.c/webclient_host_check
I stray of RAM iram1_0_seg since SDK 1.5.3.
Attached oliiot.tcpdump.zip is a tcpdump from web socket session to one of your devices. After the HTTP handshake a TCP packet is send with 6 bytes - the header of a websocket frame, then another TCP packet is sent with the playload. Your client fails to acknowledge this packets and then some re transmission happens and practically no communication happens. As TCP is stream oriented protocol it is perfectly posible to receive every byte in a message in separate TCP packet and this should not break your "server"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.