ESP8266/OTA: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
* https://harizanov.com/2015/06/firmware-over-the-air-fota-for-esp8266-soc/
* https://harizanov.com/2015/06/firmware-over-the-air-fota-for-esp8266-soc/


There is an OTA option in the Arduino IDE, however there doesn't seem to be much on how to use it.
There is an OTA option in the Arduino IDE.


<span style="color:#ff6600;font-family:courier;font-size:24pt">'''UPDATED'''</span>
<span style="color:#ff6600;font-family:courier;font-size:24pt">'''UPDATED'''</span>


This now potentially actually works with Arduino IDE 1.6.5 r5
This now actually works with Arduino IDE 1.6.5 r5


* https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA
Freshly updated documentation


In processes documentation
* https://github.com/esp8266/Arduino/blob/master/doc/ota_updates.md
 
Verified this working with DNS_SD_Arduino_OTA Example sketch using ESP-01 & ESP-12e with 1MB memory.


* https://github.com/esp8266/Arduino/blob/master/doc/ota_updates.md
The "Network ports" option seemed to require restarting the IDE after uploading the initial firmware via serial.




It's also important to know the flash memory size, ESP.getFlashChipSize() may be useful.
It's also important to know the flash memory size, ESP.getFreeSketchSpace() may be useful, free space must be greater than sketch size.


<pre>
<pre>
Line 29: Line 31:
   Serial.println(ESP.getFlashChipId(), HEX);
   Serial.println(ESP.getFlashChipId(), HEX);
   Serial.println("Flash Size: ");
   Serial.println("Flash Size: ");
   Serial.println(ESP.getFlashChipSize());
 
   Serial.println("Flash Speed: ");
   Serial.printf("Sketch size: %u\n", ESP.getSketchSize());
  Serial.println(ESP.getFlashChipSpeed());
   Serial.printf("Free size: %u\n", ESP.getFreeSketchSpace());
}
}


Line 42: Line 44:
Flash ID:  
Flash ID:  
1440E0
1440E0
Flash Size:  
Sketch size: 304716
4194304
Free size: 655360
Flash Speed:  
40000000
</pre>
</pre>
''Note: Updated to HEX formatting of numbers. Flash Size returned seems to be whatever option you have set in the IDE, and may not reference the actual hardware size.
''Note: Updated to HEX formatting of Flash ID.

Latest revision as of 18:51, 10 November 2015

Exploring Over The Air (OTA) updates.

There is an OTA option in the Arduino IDE.

UPDATED

This now actually works with Arduino IDE 1.6.5 r5

Freshly updated documentation

Verified this working with DNS_SD_Arduino_OTA Example sketch using ESP-01 & ESP-12e with 1MB memory.

The "Network ports" option seemed to require restarting the IDE after uploading the initial firmware via serial.


It's also important to know the flash memory size, ESP.getFreeSketchSpace() may be useful, free space must be greater than sketch size.

void setup() {
  Serial.begin(115200);
  Serial.println("Flash Memory Stuff");

  Serial.println("ESP ID: ");
  Serial.println(ESP.getChipId(), HEX);
 
  Serial.println("Flash ID: ");
  Serial.println(ESP.getFlashChipId(), HEX);
  Serial.println("Flash Size: ");

  Serial.printf("Sketch size: %u\n", ESP.getSketchSize());
  Serial.printf("Free size: %u\n", ESP.getFreeSketchSpace());
}

Serial output from an ESP-01

ESP ID: 
DCED75
Flash ID: 
1440E0
Sketch size: 304716
Free size: 655360

Note: Updated to HEX formatting of Flash ID.