Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
6 years, 3 months ago.
How to change ESP8266 default WiFi baud rate setting in Mbed-OS
The default setting for the ESP8266 WiFi module is 115200 and I need to change this to 921600.
Is it possible to change this in the mbed_app.json file for instance?
Many thanks
Paul
1 Answer
6 years, 3 months ago.
Hi Paul,
You can do a slight modification in ESP8266.cpp
#ifndef ESP8266_DEFAULT_BAUD_RATE #define ESP8266_DEFAULT_BAUD_RATE 115200 #endif
Then you will be able to define the default baud rate in mbed_app.json
"config": {
"esp8266-baudrate": {
"help": "ESP8266 baudrate",
"macro_name": "ESP8266_DEFAULT_BAUD_RATE",
"value": 921600
}
},
Does this work for you?
Regards, Desmond
Hi Desmond,
I use the online compiler so this mod to the ESP8266.cpp file will need to be done your end.
Could you arrange this for the next Mbed update please?
Then I can modify my mbed_app.json file.
Regards
Edit....
I added an enhancement request on git hub,
https://github.com/ARMmbed/mbed-os/issues/11300
Paul
posted by 23 Aug 2019I see the ESP8266 driver has been updated to enable default baud rate override, however I'm having trouble achieving this using the http-example with the on-line compiler:
https://os.mbed.com/teams/sandbox/code/http-example/
I have added the target overrides for the boards I'm using and put the the "serial-baudrate" in the config section but the rate does not change.
mbed_app.json
{
"config": {
"main-stack-size": {
"value": 8192
},
"serial-baudrate": {
"help": "Serial baudrate for ESP8266, defaults to 115200",
"value": 921600
}
},
"macros": [
"MBEDTLS_MPI_MAX_SIZE=1024",
"MBEDTLS_MPI_WINDOW_SIZE=1",
"MBEDTLS_USER_CONFIG_FILE=\"mbedtls_entropy_config.h\"",
"MBEDTLS_TEST_NULL_ENTROPY",
"MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES",
"MBED_HEAP_STATS_ENABLED=1"
],
"target_overrides": {
"*": {
"platform.stdio-baud-rate": 115200,
"platform.stdio-convert-newlines": true,
"mbed-mesh-api.6lowpan-nd-channel-page": 0,
"mbed-mesh-api.6lowpan-nd-channel": 12,
"mbed-trace.enable": null,
"mbed-http.http-buffer-size": 2048,
"nsapi.default-wifi-security": "WPA_WPA2",
"nsapi.default-wifi-ssid": "\"ssid\"",
"nsapi.default-wifi-password": "\"password\""
},
"DISCO_L475VG_IOT01A": {
"target.network-default-interface-type" : "WIFI"
},
"NUCLEO_F401RE": {
"target.network-default-interface-type" : "WIFI",
"esp8266.tx" : "D8",
"esp8266.rx" : "D2",
"esp8266.provide-default" : true
},
"NUCLEO_F767ZI": {
"target.network-default-interface-type" : "WIFI",
"esp8266.tx" : "D1",
"esp8266.rx" : "D0",
"esp8266.provide-default" : true
}
}
}
Edit....
So it turns out that the latest Mbed-os actually isn't. If you wind it back to revision 6689 and apply this .json file all is good. However the integrated Mbed-os ESP8266 driver has issues keeping up with HTTP/HTTPS at 921600 but appears stable at 460800 which is a considerable improvement on 115200 default speed. Perhaps Mbed-os v.5.15 will have this applied.
mbed_app.json
{
"config": {
"main-stack-size": {
"value": 8192
}
},
"macros": [
"MBEDTLS_MPI_MAX_SIZE=1024",
"MBEDTLS_MPI_WINDOW_SIZE=1",
"MBEDTLS_USER_CONFIG_FILE=\"mbedtls_entropy_config.h\"",
"MBEDTLS_TEST_NULL_ENTROPY",
"MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES",
"MBED_HEAP_STATS_ENABLED=1"
],
"target_overrides": {
"*": {
"platform.stdio-baud-rate": 115200,
"platform.stdio-convert-newlines": true,
"mbed-mesh-api.6lowpan-nd-channel-page": 0,
"mbed-mesh-api.6lowpan-nd-channel": 12,
"mbed-trace.enable": null,
"mbed-http.http-buffer-size": 2048,
"nsapi.default-wifi-security": "WPA_WPA2",
"nsapi.default-wifi-ssid": "\"***ssid****\"",
"nsapi.default-wifi-password": "\"****pwd*****\""
},
"NUCLEO_F401RE": {
"target.network-default-interface-type" : "WIFI",
"esp8266.tx" : "D8",
"esp8266.rx" : "D2",
"esp8266.provide-default" : true
},
"NUCLEO_F767ZI": {
"target.network-default-interface-type" : "WIFI",
"esp8266.serial-baudrate" : 460800,
"esp8266.tx" : "D1",
"esp8266.rx" : "D0",
"esp8266.provide-default" : true
}
}
}
The information currently shown on Github is a bit misleading,
https://github.com/ARMmbed/mbed-os/blob/master/components/wifi/esp8266-driver/mbed_lib.json
posted by 05 Oct 2019