mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Merge pull request #370 from Links2004/esp8266
add better docu and schematics for easy setup the ESP
This commit is contained in:
commit
3ff5947305
63
README.md
63
README.md
@ -206,6 +206,28 @@ Libraries that don't rely on low-level access to AVR registers should work well.
|
||||
Pick the correct serial port.
|
||||
You need to put ESP8266 into bootloader mode before uploading code.
|
||||
|
||||
#### Power Supply ####
|
||||
|
||||
For stable use of the ESP8266 a power supply with 3V3 and >= 250mA is required.
|
||||
|
||||
* Note
|
||||
- using Power from USB to Serial is may unstable, they not deliver enough current.
|
||||
|
||||
#### Serial Adapter ####
|
||||
|
||||
There are many different USB to Serial adapters / boards.
|
||||
|
||||
* Note
|
||||
- for full upload management you need RTS and DTR
|
||||
- the chip need to have 3V3 TTL (5V may damage the chip)
|
||||
- not all board have all pins of the ICs as breakout (check before order)
|
||||
- CTS and DSR are not useful for upload (they are Inputs)
|
||||
|
||||
* Working ICs
|
||||
- FT232RL
|
||||
- CP2102
|
||||
- may others (drop a comment)
|
||||
|
||||
#### Minimal hardware Setup for Bootloading and usage ####
|
||||
|
||||
ESPxx Hardware
|
||||
@ -226,26 +248,43 @@ ESPxx Hardware
|
||||
- Reset is also named RSBT or REST (adding PullUp improves the stability of the Module)
|
||||
- GPIO2 is alternative TX for the boot loader mode
|
||||
|
||||
ESP01 example:
|
||||
|
||||

|
||||
###### esp to Serial
|
||||

|
||||
|
||||
#### Minimal hardware Setup for Bootloading only ####
|
||||
ESPxx Hardware
|
||||
|
||||
| PIN | Resistor | Serial Adapter |
|
||||
| ------------- | -------- | -------------- |
|
||||
| VCC | | VCC (3.3V) |
|
||||
| GND | | GND |
|
||||
| TX or GPIO2 | | RX |
|
||||
| RX | | TX |
|
||||
| GPIO0 | | GND |
|
||||
| PIN | Resistor | Serial Adapter |
|
||||
| ------------- | -------- | --------------- |
|
||||
| VCC | | VCC (3.3V) |
|
||||
| GND | | GND |
|
||||
| TX or GPIO2 | | RX |
|
||||
| RX | | TX |
|
||||
| GPIO0 | | GND |
|
||||
| Reset | | RTS* |
|
||||
| GPIO15 | PullDown | |
|
||||
| CH_PD | PullUp | |
|
||||
| GPIO15 | PullDown | |
|
||||
| CH_PD | PullUp | |
|
||||
|
||||
* Note
|
||||
- if no RTS is used a manual power toggle is needed
|
||||
|
||||
#### Minimal hardware Setup for running only ####
|
||||
|
||||
ESPxx Hardware
|
||||
|
||||
| PIN | Resistor | Power supply |
|
||||
| ------------- | -------- | --------------- |
|
||||
| VCC | | VCC (3.3V) |
|
||||
| GND | | GND |
|
||||
| GPIO0 | PullUp | |
|
||||
| GPIO15 | PullDown | |
|
||||
| CH_PD | PullUp | |
|
||||
|
||||
###### minimal
|
||||

|
||||
|
||||
###### improved stability
|
||||

|
||||
|
||||
### Issues and support ###
|
||||
|
||||
|
BIN
doc/ESP_improved_stability.png
Normal file
BIN
doc/ESP_improved_stability.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
doc/ESP_min.png
Normal file
BIN
doc/ESP_min.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.5 KiB |
BIN
doc/ESP_to_serial.png
Normal file
BIN
doc/ESP_to_serial.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
@ -46,6 +46,9 @@ ESP8266WiFiClass::ESP8266WiFiClass()
|
||||
|
||||
void ESP8266WiFiClass::mode(WiFiMode m)
|
||||
{
|
||||
if(wifi_get_opmode() == (uint8)m) {
|
||||
return;
|
||||
}
|
||||
ETS_UART_INTR_DISABLE();
|
||||
wifi_set_opmode(m);
|
||||
ETS_UART_INTR_ENABLE();
|
||||
@ -357,10 +360,14 @@ void ESP8266WiFiClass::_scanDone(void* result, int status)
|
||||
|
||||
int8_t ESP8266WiFiClass::scanNetworks()
|
||||
{
|
||||
if ((wifi_get_opmode() & 1) == 0)//1 and 3 have STA enabled
|
||||
{
|
||||
if(_useApMode) {
|
||||
// turn on AP+STA mode
|
||||
mode(WIFI_AP_STA);
|
||||
} else {
|
||||
// turn on STA mode
|
||||
mode(WIFI_STA);
|
||||
}
|
||||
|
||||
int status = wifi_station_get_connect_status();
|
||||
if (status != STATION_GOT_IP && status != STATION_IDLE)
|
||||
{
|
||||
@ -532,9 +539,12 @@ void ESP8266WiFiClass::beginSmartConfig()
|
||||
if (_smartConfigStarted)
|
||||
return;
|
||||
|
||||
if ((wifi_get_opmode() & 1) == 0)//1 and 3 have STA enabled
|
||||
{
|
||||
if(_useApMode) {
|
||||
// turn on AP+STA mode
|
||||
mode(WIFI_AP_STA);
|
||||
} else {
|
||||
// turn on STA mode
|
||||
mode(WIFI_STA);
|
||||
}
|
||||
|
||||
_smartConfigStarted = true;
|
||||
|
@ -72,7 +72,6 @@ wl_status_t ESP8266WiFiMulti::run(void) {
|
||||
|
||||
WiFi.getNetworkInfo(i, ssid_scan, sec_scan, rssi_scan, BSSID_scan, chan_scan, hidden_scan);
|
||||
|
||||
|
||||
bool known = false;
|
||||
for(uint32_t x = 0; x < APlist.size(); x++) {
|
||||
WifiAPlist_t entry = APlist[x];
|
||||
@ -152,7 +151,17 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) {
|
||||
|
||||
WifiAPlist_t newAP;
|
||||
|
||||
newAP.ssid = (char*) malloc(strlen(ssid));
|
||||
if(!ssid || strlen(ssid) > 31) {
|
||||
// fail SSID to long or missing!
|
||||
return false;
|
||||
}
|
||||
|
||||
if(passphrase && strlen(passphrase) > 63) {
|
||||
// fail passphrase to long!
|
||||
return false;
|
||||
}
|
||||
|
||||
newAP.ssid = (char*) malloc((strlen(ssid) + 1));
|
||||
|
||||
if(!newAP.ssid) {
|
||||
return false;
|
||||
@ -161,16 +170,14 @@ bool ESP8266WiFiMulti::APlistAdd(const char* ssid, const char *passphrase) {
|
||||
strcpy(newAP.ssid, ssid);
|
||||
|
||||
if(passphrase && *passphrase != 0x00) {
|
||||
newAP.passphrase = (char*) malloc(strlen(passphrase));
|
||||
newAP.passphrase = (char*) malloc((strlen(passphrase) + 1));
|
||||
if(!newAP.passphrase) {
|
||||
free(newAP.ssid);
|
||||
return false;
|
||||
}
|
||||
strcpy(newAP.passphrase, passphrase);
|
||||
}
|
||||
|
||||
if(!newAP.passphrase) {
|
||||
free(newAP.ssid);
|
||||
return false;
|
||||
}
|
||||
|
||||
strcpy(newAP.passphrase, passphrase);
|
||||
|
||||
APlist.push_back(newAP);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user