Implementing OTA Updates through a Web Server in the SparkFun ESP32 Thing

Advanced ESP32 Over The Air Programming in ESP32
9 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€64.99
List Price:  €92.85
You save:  €27.85
£55.77
List Price:  £79.68
You save:  £23.90
CA$95.68
List Price:  CA$136.70
You save:  CA$41.01
A$105.96
List Price:  A$151.38
You save:  A$45.42
S$94.48
List Price:  S$134.98
You save:  S$40.50
HK$546.78
List Price:  HK$781.15
You save:  HK$234.36
CHF 63.33
List Price:  CHF 90.48
You save:  CHF 27.14
NOK kr761.11
List Price:  NOK kr1,087.35
You save:  NOK kr326.23
DKK kr485.02
List Price:  DKK kr692.92
You save:  DKK kr207.89
NZ$116.44
List Price:  NZ$166.35
You save:  NZ$49.91
د.إ257.06
List Price:  د.إ367.25
You save:  د.إ110.18
৳7,660.01
List Price:  ৳10,943.35
You save:  ৳3,283.33
₹5,835.78
List Price:  ₹8,337.18
You save:  ₹2,501.40
RM331.75
List Price:  RM473.95
You save:  RM142.20
₦86,437.65
List Price:  ₦123,487.65
You save:  ₦37,050
₨19,492.21
List Price:  ₨27,847.21
You save:  ₨8,355
฿2,572.74
List Price:  ฿3,675.50
You save:  ฿1,102.76
₺2,264.43
List Price:  ₺3,235.04
You save:  ₺970.61
B$355.02
List Price:  B$507.19
You save:  B$152.17
R1,295.44
List Price:  R1,850.71
You save:  R555.27
Лв127.05
List Price:  Лв181.51
You save:  Лв54.46
₩94,909.58
List Price:  ₩135,590.93
You save:  ₩40,681.35
₪260.15
List Price:  ₪371.66
You save:  ₪111.51
₱3,993.87
List Price:  ₱5,705.78
You save:  ₱1,711.90
¥10,713.01
List Price:  ¥15,304.96
You save:  ¥4,591.95
MX$1,187.73
List Price:  MX$1,696.83
You save:  MX$509.10
QR254.83
List Price:  QR364.06
You save:  QR109.23
P950.82
List Price:  P1,358.38
You save:  P407.55
KSh9,247.76
List Price:  KSh13,211.65
You save:  KSh3,963.89
E£3,352.12
List Price:  E£4,788.95
You save:  E£1,436.83
ብር4,006.43
List Price:  ብር5,723.72
You save:  ብር1,717.28
Kz58,511.64
List Price:  Kz83,591.64
You save:  Kz25,080
CLP$65,950.47
List Price:  CLP$94,219
You save:  CLP$28,268.52
CN¥506.53
List Price:  CN¥723.65
You save:  CN¥217.11
RD$4,055.76
List Price:  RD$5,794.19
You save:  RD$1,738.43
DA9,420.16
List Price:  DA13,457.95
You save:  DA4,037.79
FJ$157.70
List Price:  FJ$225.30
You save:  FJ$67.59
Q542.52
List Price:  Q775.06
You save:  Q232.54
GY$14,601.52
List Price:  GY$20,860.22
You save:  GY$6,258.69
ISK kr9,773.40
List Price:  ISK kr13,962.60
You save:  ISK kr4,189.20
DH703.98
List Price:  DH1,005.73
You save:  DH301.75
L1,236.34
List Price:  L1,766.28
You save:  L529.93
ден3,998.26
List Price:  ден5,712.05
You save:  ден1,713.78
MOP$561.77
List Price:  MOP$802.57
You save:  MOP$240.79
N$1,291.99
List Price:  N$1,845.78
You save:  N$553.78
C$2,569.36
List Price:  C$3,670.67
You save:  C$1,101.31
रु9,319.09
List Price:  रु13,313.56
You save:  रु3,994.46
S/260.54
List Price:  S/372.22
You save:  S/111.67
K269.79
List Price:  K385.44
You save:  K115.64
SAR262.50
List Price:  SAR375.01
You save:  SAR112.51
ZK1,882.68
List Price:  ZK2,689.66
You save:  ZK806.98
L323.40
List Price:  L462.03
You save:  L138.62
Kč1,628.77
List Price:  Kč2,326.92
You save:  Kč698.14
Ft25,334.28
List Price:  Ft36,193.38
You save:  Ft10,859.10
SEK kr755.02
List Price:  SEK kr1,078.64
You save:  SEK kr323.62
ARS$61,468.17
List Price:  ARS$87,815.44
You save:  ARS$26,347.26
Bs483.33
List Price:  Bs690.51
You save:  Bs207.17
COP$271,845.87
List Price:  COP$388,367.89
You save:  COP$116,522.02
₡35,672.25
List Price:  ₡50,962.55
You save:  ₡15,290.29
L1,724.16
List Price:  L2,463.20
You save:  L739.03
₲522,510.75
List Price:  ₲746,475.93
You save:  ₲223,965.17
$U2,674.97
List Price:  $U3,821.56
You save:  $U1,146.58
zł281.37
List Price:  zł401.98
You save:  zł120.60
Already have an account? Log In

Transcript

Video implementing ot updates through a web server in the sparkfun ESP 32 thing. In this video, we will learn the need for implementing web server based ot updates, and later implement web server based ot updates in the sparkfun ESP 32 thing. In the last video, you'll learn how to implement an OTA update through Arduino ID. But just imagine that your customer is not tech savvy, and don't have any clue on how to do an OTA update using Arduino ID. In such cases, it's necessary to implement an OTA update through a web server created by the ESP 32. Rather than using Arduino ID.

In this ot a model, the ESP 32 board will create a web server. The customer will be given a binary file of the updated code. The customer can just go to the browser and type In the mdns web page, and use the web server based UI to upload the binary file to complete the OT update. Just like in the previous video, we need to first prepare the ESP 32 abode for web server ot update. First, download the web server ot a dot zip file from the resources section and unzip it. Now open the Enable underscore web server underscore oca.io file in the Arduino ID.

Let's discuss how the code works. Just like the basic RTA code, we will import several libraries other than the usual libraries we imported earlier. We also will import the Wi Fi client dot hedge and the web server dot hedge for configuring and running the web server. But instead of the Arduino ot eight or hedge library, we will import the update dot h library which supports ot update Through HTTP. Thus, we can incorporate this with our web server for implementing RTA. Then we set the hostname and Wi Fi network credentials to these variables.

Please do not forget to edit this and add your wife or network credentials before uploading the code. Remember that the hostname will be mapped to the IP address by the end DNS protocol, making it easy to access the web server later. This instruction creates a web server object that listens for HTTP requests on port 80. Basically, for the OT a web server, we need a login page and ot update page and a general template for styling the web server. I have built here a custom web server experience, which is good to look at. If you are interested in making your own custom ot a web server.

You can visit the links in the resources section to learn more The string style has the HTML template code of the general look and feel of the web server. The string login index has the HTML code for the login authentication page, you can set your own login name and password by editing this line of the code. The string server index has the HTML code for the OTA update page, and handling the OTA update process using HTTP commands. Now let's get into the void setup loop. These instructions essentially do the same functions as these codes from the previous video. The mdns dot begin hostname method basically maps the IP address to the host name, which is ot ESP.

The following print commands will output the web address of your web server. The following codes will be skipped as they are callback functions. Data invoked during different phases of the updation. Once the web server starts just before the end of the Void set upload, the server dot begin function is invoked to start the web server. Inside the void loop, the server dot handle client function will handle all the OTA update process. Using callbacks two different methods in the void setup lobe.

The set of instructions is called when a get request happens for the root page of the web server, which is denoted by a forward slash. This function will display the login page in the web server. When a new user reaches the mdns web page we have set up these set of instructions is called when a get request happens for the server index page of the web server, which is denoted by forward slash server index. This function displays the OT update page in the website. After the user authentication has completed all these instructions till the server dot begin function is a single callback function that handles the uploading of the binary file. It also handles errors during the update process.

This callback is initiated when you click the Update button. After selecting the binary file of the OTA update. Here, a post command is sent on pressing the Update button, and the dot bin file, or binary file of the OTA update program is flashed to the ESP 32 board over the air. The update dot has error function checks the integrity and compatibility of the file being uploaded even before upload and output the status. If an error is detected, the ESP 32 is restarted when the upload is just about to begin, the set of instructions are executed which checks the size of the load. If the size is not compatible with the boat, an error message is shown.

If the upload status is to write the file to the ESP 32 bold, the update dot write function is invoked to handle the flashing of the firmware. As always, error handling instructions are also included. Similarly, when the upload process has ended, these sets of instructions are invoked to convey to the user that the update is successful. The last l slope is included to handle any of the unforeseen errors. Now let's upload the Enable underscore web server underscore ot a dot i n o to the sparkfun ESP 32 thing through the compote. before uploading, make sure that you have edited the Wi Fi SSID and password variables in the code.

Once flashed, open the serial monitor and press the reset button on the boat. Now you can see that the serial monitor will output a webpage URL. Now, you can remove your boat from the computer and power it via a power bank or a compatible battery. Once you have connected your computer to the same Wi Fi network, type in the webpage URL to the browser. Now log in with a user credentials. Next, let's upload a blink program over the air just like we did earlier.

Open the OT underscore program web server.io file in Arduino ID. The code is self explanatory if you understood the previous video. Now we need to create a binary file. Click the export compiled library option under sketch tab in the Arduino ID. The dot bin file will be saved in the same folder as the dot INF file of your sketch. Now go back to your web browser.

Click Choose File and select the binary file we just created. For our blink program, click update and wait till the progress reaches hundred percent. Wait for a couple of seconds No. And you can see that the LED on the sparkfun ESP 32 is indeed blinking. Thus, in the Zotero method, we don't need the Arduino ID to do an OTA update. This will make ot updation very less intimidating to your customers.

You can just send the binary file over to your customers and they can easily implement the updates to the product. I will now give you an activity, do an OT update to change the rate of blinking to one time every two seconds. Congratulations on completing web server implementation of ot update with a sparkfun ESP 32 thing. Summary In this video we have covered the following topics the need for implementing web server ot updates Implementing ot updates through a web server in the sparkfun ESP 32 thing. In the next video, we will implement a cloud based ot update system for the ESP 32 thing using mangoes always

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.