Ο Προγραμματισμός OTA (Over the Air) είναι μια δυνατότητα οποιουδήποτε μικροελεγκτή με δυνατότητα WiFi όπως τα ESP32 και ESP8266 που επιτρέπει σε αυτές τις συσκευές να αναβαθμίσουν το υλικολογισμικό ή το λογισμικό τους ασύρματα χωρίς φυσική πρόσβαση. Αυτή η δυνατότητα μπορεί να χρησιμοποιηθεί για τον επαναπρογραμματισμό των συσκευών που είναι στερεωμένες σε στέγη ή σε οποιοδήποτε άλλο μέρος όπου η σύνδεση καλωδίου είναι δύσκολη. Χρησιμοποιώντας το OTA, μπορείτε να στείλετε μια ενημέρωση σε πολλούς μικροελεγκτές ή συσκευές που βρίσκονται στο ίδιο δίκτυο. Για παράδειγμα, αυτή η δυνατότητα μπορεί να χρησιμοποιηθεί για την αποστολή ενημερώσεων για την επίλυση των σφαλμάτων, την προσθήκη ορισμένων λειτουργιών κ.λπ. σε πολλούς μικροελεγκτές, κινητά τηλέφωνα, υπολογιστές, αποκωδικοποιητές κ.λπ. Οι ενημερώσεις OTA παίζουν επίσης σημαντικό ρόλο στο IoT. Χρησιμοποιείται για την απομακρυσμένη ενημέρωση συσκευών συνδεδεμένων στο Διαδίκτυο με νέες ρυθμίσεις, λογισμικό και υλικολογισμικό.
Έχουμε ήδη μάθει να προγραμματίζουμε το ESP8266 NodeMCU χρησιμοποιώντας το OTA. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε τον προγραμματισμό over-the-air (OTA) με το ESP32 χρησιμοποιώντας το OTA Web Updater στο Arduino IDE.
Απαιτούμενα στοιχεία
- ESP32
- Arduino IDE
Πώς λειτουργεί ο προγραμματισμός OTA;
Για να χρησιμοποιήσετε τη δυνατότητα προγραμματισμού Over the Air (OTA), πρώτα, πρέπει να ανεβάσετε ένα σκίτσο μέσω σειριακής θύρας. Αυτό το σκίτσο περιέχει τον κώδικα HTML για τη δημιουργία ενός OTA Web Updater, ώστε να μπορείτε να ανεβάσετε κώδικα αργότερα χρησιμοποιώντας το πρόγραμμα περιήγησης. Όταν ο κώδικας μεταφορτώνεται μέσω σειριακής θύρας, δημιουργεί έναν διακομιστή ιστού όπου μπορείτε να επιλέξετε και να ανεβάσετε ένα νέο σκίτσο μέσω ενός προγράμματος περιήγησης ιστού.
Για να ανεβάσετε τον πρώτο κωδικό, συνδέστε το ESP32 με το φορητό υπολογιστή και ανοίξτε το Arduino IDE, επιλέξτε το Type Board ως ESP32 Dev Kit και επιλέξτε τη σωστή σειριακή θύρα.
Στη συνέχεια, μεταβείτε στο Αρχείο> Παραδείγματα> ArduinoOTA> OTAWebUpdater
Αλλάξτε το όνομα και τον κωδικό πρόσβασης Wi-Fi στον αρχικό κωδικό.
const char * ssid = "Το Όνομα WiFi"; const char * password = "Κωδικός πρόσβασης";
Ανεβάστε τον κωδικό στην πλακέτα ESP32. Αφού ανεβάσετε με επιτυχία τον κωδικό, ανοίξτε τη σειριακή οθόνη. Αλλάξτε το ρυθμό Baud 115200 στο Serial Monitor και πατήστε το κουμπί Reset στο ESP32 και θα πρέπει να εκτυπώσετε τη διεύθυνση IP ESP32.
Τώρα ανοίξτε το προεπιλεγμένο πρόγραμμα περιήγησης και επικολλήστε τη διεύθυνση IP ESP32. Θα πρέπει να ανοίξει τον διακομιστή Web για τον προγραμματισμό Over the Air όπως φαίνεται στην παρακάτω εικόνα:
Το προεπιλεγμένο όνομα χρήστη και ο κωδικός πρόσβασης είναι διαχειριστής.
Στη συνέχεια, εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης και κάντε κλικ στη σελίδα σύνδεσης, ανοίγει μια νέα καρτέλα. Εδώ μπορείτε να ανεβάσετε τον κωδικό.
Εδώ πρόκειται να ανεβάσετε έναν απλό κωδικό LED που αναβοσβήνει. Κάθε κωδικός που ανεβάζετε στον αέρα πρέπει να περιέχει έναν κωδικό OTA. Προσθέστε λοιπόν το μέρος που αναβοσβήνει στον αρχικό κωδικό OTA. Ο πλήρης κωδικός δίνεται στο τέλος της σελίδας.
void loop (void) {server.handleClient (); καθυστέρηση (1) digitalWrite (led, HIGH); καθυστέρηση (600) digitalWrite (led, LOW); καθυστέρηση (600) }
Αποθηκεύστε τον κωδικό σας με ένα νέο όνομα και, στη συνέχεια, μεταβείτε στο S ketch> Export compiled Binary . Αυτό θα δημιουργήσει ένα νέο αρχείο .bin στο φάκελο σκίτσων σας.
Τώρα μεταβείτε στην ιστοσελίδα OTA και, στη συνέχεια, κάντε κλικ στο κουμπί " Επιλογή αρχείου" και επιλέξτε το αρχείο .bin . Μετά από αυτό, κάντε κλικ στο κουμπί "Ενημέρωση" για να ανεβάσετε το σκίτσο.
Αυτός είναι ο τρόπος με τον οποίο το ESP32 μπορεί να προγραμματιστεί χρησιμοποιώντας OTA χωρίς τη χρήση σειριακής επικοινωνίας.