You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-11Lines changed: 26 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -4,20 +4,28 @@ The Mbed OS driver for the ESP8266 WiFi module.
4
4
5
5
## Firmware version
6
6
7
-
ESP8266 modules come in different shapes and formats, but the most important factor is the firmware version in it. To make sure that the firmware in your module is compatible with Mbed OS, follow the [Update guide](https://developer.mbed.org/teams/ESP8266/wiki/Firmware-Update).
7
+
ESP8266 modules come in different shapes and formats, but the most important factor is the firmware version in it. To
8
+
make sure that the firmware in your module is compatible with Mbed OS, follow the
It is advicable to update the [AT firmware](https://www.espressif.com/en/support/download/at?keys=) at least to version 1.7.0.0
11
+
It is advisable to update the [AT firmware](https://www.espressif.com/en/support/download/at?keys=) at least to version
12
+
1.7.0.0
10
13
11
14
## Restrictions
12
15
13
16
- The ESP8266 WiFi module does not allow the TCP client to bind on a specific port.
14
17
- Setting up a UDP server is not possible.
15
-
- The serial port does not have hardware flow control enabled by default. The AT command set does not either have a way to limit the download rate. Therefore, downloading anything larger than the serial port input buffer is unreliable. An application should be able to read fast enough to stay ahead of the network. This affects mostly the TCP protocol where data would be lost with no notification. On UDP, this would lead to only packet losses which the higher layer protocol should recover from.
18
+
- The serial port does not have hardware flow control enabled by default. The AT command set does not either have a way
19
+
to limit the download rate. Therefore, downloading anything larger than the serial port input buffer is unreliable. An
20
+
application should be able to read fast enough to stay ahead of the network. This affects mostly the TCP protocol where
21
+
data would be lost with no notification. On UDP, this would lead to only packet losses which the higher layer protocol
22
+
should recover from.
16
23
17
24
## Mandatory configuration
18
-
 configuration assumes Arduino form factor. Please adjust according to which board is in use. Parameters are overridable from your app config file.
25
+
 configuration assumes Arduino form factor. Please adjust according to which board is in
26
+
use. Parameters are overridable from your app config file.
19
27
20
-
Least one is expected to check are the following configuration parameters
28
+
Least one is expected to check are the following configuration parameters
21
29
22
30
```javascript
23
31
{
@@ -33,23 +41,28 @@ Least one is expected to check are the following configuration parameters
"value":false<-Set to 'true'ifthis is the interface you are using
44
+
"value":false<-Set to 'true'ifthis is the interface you are using
37
45
},
38
46
"socket-bufsize": {
39
47
"help":"Max socket data heap usage",
40
-
"value":8192<- Without HW flow control more is better. Once the limit is reached packets are dropped - does not matter is it TCP or UDP.
48
+
"value":8192<- Without HW flow control more is better. Once the limit is reached packets are
49
+
dropped - does not matter is it TCP or UDP.
41
50
}
42
51
}
43
52
}
44
53
```
45
54
46
55
## UART HW flow control
47
56
48
-
UART HW flow control requires you to additionally wire the CTS and RTS flow control pins between your board and your ESP8266 module. Once this is done remember to add configuration option for flow control in your app config file. Here a [ST NUCLEO-F429ZI](https://os.mbed.com/platforms/ST-Nucleo-F429ZI/) board and [ESPBee XBee Module](https://www.cascologix.com/product/espbee/) are used as an example.
57
+
UART HW flow control requires you to additionally wire the CTS and RTS flow control pins between your board and your
58
+
ESP8266 module. Once this is done remember to add configuration option for flow control in your app config file. Here a
59
+
[ST NUCLEO-F429ZI](https://os.mbed.com/platforms/ST-Nucleo-F429ZI/) board and
60
+
[ESPBee XBee Module](https://www.cascologix.com/product/espbee/) are used as an example.
49
61
50
62
**NOTE** Not all modules expose ESP8266's RTS and CTS pins so beware when you are choosing one.
51
63
52
-
Once you have your HW set up add configuration like this in your app config - Arduino pins D1 and D0 assumed for TX and RX:
64
+
Once you have your HW set up add configuration like this in your app config - Arduino pins D1 and D0 assumed to be used
65
+
as TX and RX:
53
66
54
67
```javascript
55
68
"target_overrides": {
@@ -72,9 +85,11 @@ Once you have your HW set up add configuration like this in your app config - Ar
72
85
4. CTS - CTS (ESPBee XBee headers)
73
86
74
87
### Connections
75
-
With these pictures only consider the green and yellow wires which are connected to ESP8266. Pink wire is for reset and the rest for firmware update. TX and RX go through Arduino pins D1 and D0.
88
+
With these pictures only consider the green and yellow wires which are connected to ESP8266. Pink wire is for reset and
89
+
the rest for firmware update. TX and RX go through Arduino pins D1 and D0.
76
90
77
-
**NOTE** GPIO15(ESPBee RTS) needs to be pulled down during startup to boot from flash, instead of firmware update or boot from SD card. Once the software is running the same pin is used as the RTS pin.
91
+
**NOTE** GPIO15(ESPBee RTS) needs to be pulled down during startup to boot from flash, instead of firmware update or
92
+
boot from SD card. Once the software is running the same pin is used as the RTS pin.
0 commit comments