Arduino IDE ve Web Sunucusunu kullanarak ESP32 Firmware Over -The -Air (OTA) nasıl güncellenir

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Geçmişte, ürün yazılımı güncellemeleri gömülü sistemler kritik bir görevdi. Ancak IoT cihazlarının ve gömülü cihazların çoğu, ürün yazılımını geliştiriciler tarafından uzaktan güncellemek için internet üzerinden bağlanır. İnternete bağlanabilen cihazların kendilerini güncelleme avantajına sahiptir. Yani bu tür ürün yazılımı programları ESP32 gömülü cihazları minimum kullanıcı müdahalesi ile güncel tutmaya yardımcı olan OTA (hava üzerinde) olarak adlandırılır.  Ayrıca, havada birçok özellik sunar ve geliştiricilerin cihazlarını güncellemeleri için uygun maliyetli bir tekniktir. Bu makale araştırıyor OTA ürün yazılımı ESP32 Geliştirme Kurulu üzerindeki prosedürü güncelleyin.


ESP32/ ESP32 OTA'da OTA programlama nedir?

ESP32 OTA, bir bilgisayara bağlanmadan internet üzerinden ESP32 geliştirme kartı sürecine yeni bir program yükleme veya güncelleme yeteneğidir. Buna ek olarak, bu işlem, bakımdaki her ESP modülünü güncellemek için gerekli süreyi de azaltabilir. Böylece, İnternet veya diğer kablosuz ağ türleri üzerinden kablosuz güncellemelere izin verir.



ESP32 Geliştirme Kurulu, kullanarak bir ürün yazılımı güncellemesine dikkat eder. protokoller HTTPS, MQTT veya HTTP gibi. Bundan sonra, ESP32 kartının anısı içindeki tahsis edilmiş bir bölüme doğru doğrular ve yanıp söner.  OTA güncellemeleri, özellikle cihazların erişilmesi zor olduğunda veya uzak konumlarda gömülü cihazlar veya IoT cihazları için önemlidir.

ESP32 OTA Çekirdek Parçaları

ESP32 OTA, aygıtı fiziksel olarak bağlamadan ürün yazılımı güncellemeleri için çeşitli anahtar bileşenler kullanır. Böylece, bu OTA'nın temel kısımları güncellemelerin iletilmesinde ve almaya yardımcı olur. Buna ek olarak, Asyncelegantota (OR) ESP HTTPS OTA Kütüphaneleri ve ESPressif çerçeveleri uygulama prosedürünü kısaltır.



OTA'nın Veri Bölümü

ESP32 panosunun flash belleğindeki bu bölüm, OTA'nın güncellenmiş bilgilerini, hangi yuvanın daha yakın zamanda yazıldığını izlemek için ürün yazılımı görüntüsü ve bir sayaç gibi saklar.

İletişim mekanizması

OTA güncellemeleri esas olarak kablosuz iletişim protokollerine bağlı Bluetooth veya Bluetooth'un daha yerel ve daha küçük güncellemeler için kullanıldığı WiFi ve WiFi yaygın olarak kullanılır.

  Pcbway

Müşteri-Server Mimarisi

Bir mobil uygulama veya PC gibi bir istemci güncellemeyi başlatır ve ürün yazılımını ESP32 sunucusuna gönderir.

Kütüphaneler ve Çerçeveler

Asyncelegantota ve ESP HTTPS OTA kütüphaneleri, OTA prosedürünü işlemek ve gelişimi kısaltmak için önceden oluşturulmuş işlevler sağlar.

Bootloader

Bu bootloader, başarılı bir OTA güncellemesinden sonra en son ürün yazılımına geçişi işler.

Güvenli OTA

Güvenli OTA güncellemeleri, bütünlüğünü ve özgünlüğünü sağlamak için ürün yazılımı imzası görüntü doğrulamasını içerir.

Özünde, ESP32 OTA güncellemeleri bir yazılım (bölümler, kütüphaneler ve ürün yazılımı) ve iletişim protokollerinin (Wi-Fi veya Bluetooth) bir kombinasyonunu içerir. Böylece, fiziksel erişim olmadan cihazın ürün yazılımını sorunsuz bir şekilde güncelleyin.

Çalışma

ESP32 OTA programlama, ESP32’nin ürün yazılımının/yazılımının fiziksel bağlantısı olmayan bir bilgisayara kablosuz olarak güncellenmesini sağlar. Bu nedenle, Wi-Fi gibi bir ağ üzerinden yeni bir ürün yazılımı resmi göndererek ve bundan sonra ESP32'nin flash belleğine yazılarak yapılabilir. Böylece, ESP32 geliştirme kartı yeniden başlatılır ve en son ürün yazılımı çalışır.

ESP32 OTA'nın uygulanması

ESP32 Geliştirme Kurulu için havadan güncellemeleri uygulamak için temel bir OTA taslağı yüklenmelidir. Bundan sonra, en son ürün yazılımını yüklemek için bir web sunucusu kullanılır. Dolayısıyla, ESP32 OTA prosedürünün tüm kurulumu bir Wi-Fi bağlantı kurulumu, kütüphane kurulumu içerir ve bundan sonra ESP32 kartına derlenmiş bir ikili dosya yüklenir.

ESP32 OTA uygulamasının adım adım prosedürü:

  • İlk olarak, ESP32 kart paketini Arduino IDE içine yüklemeniz gerekiyor.
  • Bundan sonra, ESP32'nin belirli ve diğer gerekli kütüphanelerini ekleyin.
  • Temel OTA eskizinin yüklenmesi gerekir, bu da normalde esas olarak OTA güncellemeleri için bir web sunucusu içerir.
  • Tarayıcıyı açın ve ESP32'nin web sunucusu IP adresine izin verin.
  • Yüklemek istediğiniz web sunucusu arabiriminde .bin dosyasını seçin.
  • OTA güncellemesini başlatmak için Yükle düğmesini tıklayın.
  • Şimdi ESP32 Wi-Fi ağınıza bağlı.
  • Open Aard, yeni yüklenen ürün yazılımını yeniden başlatacak.
  • Arduinoota kütüphanesi OTA prosedürünü basitleştirmek için ESP32 çekirdeğinde kullanılmalıdır.
  • Kütüphane tarafından verilen Basicota örneğini de kullanabilir veya kendi OTA uygulamanızı oluşturabilirsiniz.
  • Şimdi, Arduinoota kütüphanesi en son Sketch OTA'yı ESP32'nize yüklemenize izin veriyor.

Bir Web Sunucusu kullanın

  • ESP32 Arduino kütüphanesinde, Otewebupdater örneği, ürün yazılımını yüklemek için bir web arayüzü sağlar.
  • Eskiz, bir .Bin dosyası oluşturmak için derlenir, bundan sonra web sunucusundan yüklenebilir.
  • Bu teknik, basit ve daha erişilebilir OTA güncellemelerine izin verir.
  • Ayrıca, ESP32 kartınızda en az iki OTA bölümünüz olduğundan emin olun.
  • Arduino IoT Cloud gibi diğer teknikleri, özellikle OTA güncellemeleri için kullanın.
  • OTA prosedürü, çalışan ürün yazılımının sabit kalmasını sağlayarak özel bir OTA bölümü içindeki mevcut ürün yazılımının üzerine yazar.

Arduino ile ESP32 OTA arayüzü

WiFi özellikli mikrodenetleyicilerin ana özelliği (ESP32 ve ESP8266 ) OTA programlama. Bu cihazlar ürün yazılımlarını kablosuz olarak yükseltir. OTA kullanılarak, benzer bir ağdaki çeşitli mikrodenetleyicilere bir güncelleme gönderilebilir. Bu özellik, bazı özellikleri birkaç mikro denetleyiciye, set üstü kutulara, bilgisayarlara, cep telefonlarına vb. Ekleyerek hataları çözmek için güncellemeler göndermek için kullanılır.

Genel olarak, OTA güncellemeleri Nesnelerin İnterneti İnternet bağlantılı cihazları yeni ayarlar ve yazılımlarla uzaktan güncellemek için. Burada Arduino IDE'deki ESP32 panosu ile OTA Web güncelleyici ile OTA programlamasını kullanacağız.

Arduino kartı ile ESP32 OTA arayüzü için gerekli bileşenler arasında ESP32 kartı ve Arduino IDE bulunur.

  Arduino ile ESP32 OTA arayüzü
 Arduino ile ESP32 OTA arayüzü

OTA kodu

ESP32 geliştirme kartı için OTA kodu aşağıda verilmiştir.

#include

#include

const char* host = “esp32”;  ssid = “xxx”; şifre = “xxxx”;

WebServer Server (80);

/* Giriş sayfası*/

Const char* logindex =

''

''

ESP32 Giriş Sayfası

'
'

''

'
'

'
'

''

''

' Kullanıcı adı: '


''

'
'

'
'

''

' şifre: '


'
'

'
'

''

''

''

''

'

'

''

'Fonksiyon kontrolü (form)'

'{'

'İf (form.userid.value ==’ admin ’&& ​​form.pwd.value ==’ admin ’)'

'{'

'Window.open ('/ServerIndex ')'

'}'

'başka'

'{'

'Alert (' Hata Parola veya Kullanıcı Adı ')/*Hata mesajını görüntüler*/'

'}'

'}'

“”;

/*

* Sunucu Dizin Sayfası

*/

const char* serverIndex =

”;

/*

* Kurulum işlevi

*/

void kurulumu (void) {

Serial.Begin (115200);

// WiFi ağına bağlanın

Wifi.begin (ssid, şifre);

Serial.println (“”);

// bağlantı için bekle

while (wifi.status ()! = wl_connected) {

gecikme (500);

Serial.print (“.”);

}

Serial.println (“”);

Serial.print (“bağlı”);

Serial.println (SSID);

Serial.print (“IP adresi:”);

Serial.println (wifi.localip ());

/*Ana bilgisayar adı çözümü için mdns kullanın*/

if (! mdns.begin (host)) {// c2e2f8f35ba56eedbbc296b8125c387d1182e239

Serial.println (“MDNS Yanıtlayıcısı Ayarlama Hata!”);

(1) {

gecikme (1000);

}

}

Serial.println (“MDNS Yanıtlayıcı başladı”);

/ *ServerIndex'te saklanan dizin sayfası sayfası */

Server.on (“/”, http_get, [] () {

Server.sendheader (“bağlantı”, “kapat”);

Server.send (200, “Text/HTML”, loginIndex);

});

Server.on (“/ServerIndex”, http_get, [] () {

Server.sendheader (“bağlantı”, “kapat”);

Server.send (200, “Text/HTML”, ServerIndex);

});

/ *Üretme ürün yazılımı dosyasını işleme */

Server.on (“/güncelleme”, http_post, [] () {

Server.sendheader (“bağlantı”, “kapat”);

Server.send (200, “Text/Sade”, (update.haserror ())? “Başarısız”: “Tamam”);

Esp.restart ();

} {

Httpupload & upload = server.upload ();

if (upload.status == upload_file_start) {

Serial.printf (“Güncelleme: %s \ n”, upload.filename.c_str ());

if (! update.begin (update_size_unknown)) {// Kullanılabilir boyutta maksimum ile başlayın

Update.printerror (seri);

}

} else if (upload.status == upload_file_write) {

/* ESP'ye yanıp sönen ürün yazılımı*/

if (update.write (upload.buf, upload.currentize)! = upload.currentize) {

Update.printerror (seri);

}

} else if (upload.status == upload_file_end) {

if (update.end (true)) {// Boyutu geçerli ilerlemeye ayarlamak için true

Serial.printf (“Güncelleme Başarısı: %U \ nrebooting… \ n”, upload.totalize);

} başka {

Update.printerror (seri);

}}}

Server.begin ();

}

void döngüsü (void) {

Server.HandleClient ();

gecikme (1);

}

OTA programlama çalışması

OTA programlama özelliğini kullanmak için, seri bağlantı noktasından bir taslak yüklenmesi gerekir. Bu eskiz, bir OTA Web güncelleyici yapmak için HTML kodunu içerir. Daha sonra, kodu tarayıcı ile kolayca yükleyebilirsiniz. Kod bir seri bağlantı noktasından yüklendikten sonra, bir web tarayıcısından yeni bir taslak seçip yükleyebileceğiniz bir web sunucusu oluşturulur.

Birincil kodu yüklemek için ESP32 kartını dizüstü bilgisayara bağlayın, ardından Arduino IDE'yi açın ve ESP32 Dev Kiti olarak kart türünü seçin ve doğru seri bağlantı noktasını seçin.

Orijinal koddaki Wi-Fi ve Parola adını değiştirin.

OTA kodu ESP32 kartınıza yüklenmelidir. Kod başarıyla yüklendikten sonra seri monitörü açın. Bundan sonra, seri monitörde 115200 baud oranı değiştirilmelidir. ESP32 modülünün üzerindeki Sıfırla düğmesine basın ve ESP32 kartının IP adresini yazdırmalıdır.

ESP32 IP adresini yapıştırmak için varsayılan tarayıcıyı açın. Bu nedenle OTA için Web Sunucusu sayfasını açmalıdır. Burada kullanıcı adı ve şifre varsayılan olarak yöneticidir. Şimdi, giriş bilgilerini girin, oturum açma sayfasına tıklayın ve ardından kodu yüklemek için yeni bir sekme açılacaktır.

Avantajlar

ESP32 OTA'nın avantajları aşağıdakileri içerir.

  • Bu merkezi yaklaşım, tek bir güncellemenin benzer bir ağda çeşitli ESP32'lere yayılmasını sağlar.
  • OTA, IoT dağıtımları için mükemmel hale getirmek için geliştirme panosuna fiziksel erişim kullanmadan uzaktan ürün yazılımının yükseltilmesine izin verir.
  • OTA, özellikle erişilemeyen veya uzak cihazlar için güncelleme prosedürünü basitleştirerek ESP32 kartını güncellemek için fiziksel bağlantıların gereksinimini ortadan kaldırır.
  • Güncellemeler uzaktan elde edilebilir, bu da koruma ve işletme için harcanan süreyi azaltır.
  • Tek bir kaynak, benzer bir ağda çok sayıda ESP32'ye güncelleme gönderir ve büyük dağıtımlar için güncelleme prosedürünü düzene dönüştürür.
  • OTA, büyük ölçekli projeler için çok verimli hale getirerek çeşitli cihazlarda eşzamanlı güncellemelere izin verir.
  • Güncellemeler, cihazın çalışması için sorunu azaltan yoğun saatlerde planlanabilir ve yürütülebilir.
  • OTA güncellemeleri, güvenlik açıklarından koruyan güvenlik yamaları ve iyileştirmeleri içerir.
  • OTA işlevselliği, Arduinoota kütüphanelerine sahip ESP32 tabanlı projelere entegre edilebilir.
  • OTA programlama, bilgisayarla herhangi bir bağlantı olmadan ESP32'ye yeni bir programı güncellemenizi sağlar.

Dezavantajlar

. ESP32 OTA'nın dezavantajları aşağıdakileri ekleyin.

  • ESP32 kartının fabrika görüntüsü OTA özelliği içermez. Bu nedenle, önce, OTA güncellemelerini kullanmadan önce bu ürün yazılımını seri bağlantı üzerinden yüklemeniz gerekir.
  • Buna ek olarak, bazı eski ESP32 modellerinde, özellikle 1MB flash belleğe sahip olan bellek sınırlamaları vardır.
  • Bir ESP32 kartına yüklenen her taslak, OTA işlevselliğine izin vermek için gerekli kodu içermelidir. Bu kod olmayan cihaz artık bir web sunucusu üzerinden OTA güncellemeleri için kullanılamayacaktır.
  • Birçok modern ESP32 panosu yeterli belleğe sahiptir, ancak daha küçük veya daha eski ESP32 modelleri, özellikle yüklenen eskiz mevcut bellek sınırına yakınsa, OTA aracılığıyla sınırlamaları karşılayabilir.
  • Kullanıcılar şifre olmadan kod yüklerse, cihaz gelecekteki OTA güncellemeleri için ulaşılamaz hale gelebilir ve muhtemelen seri yoluyla gerekli OTA eskizinin yeniden yüklenmesini gerektirir.
  • Kullanıcılar bir kullanıcı adı ve güvenlik için gizli bir kelime ekleyebilirken, bu önlem, birisi belirli bir URL'yi tanımlarsa OTA Yükleme sayfasını yetkisiz erişimden tam olarak koruyamayabilir.
  • OTA kodunun yanlış uygulanması, gelecekteki OTA işlevselliğini devre dışı bırakabileceğinden potansiyel sorunlara yol açabilir.

Başvuru

ESP32 OTA'nın uygulamaları aşağıdakileri içerir.

  • ESP32 OTA uygulamaları, cihazın ürün yazılımının cihaza herhangi bir fiziksel bağlantı olmadan uzaktan güncellenmesini sağlar. Bu nedenle, erişilemeyen yerlere yüklenen IoT cihazları için faydalıdır, duruş süresi ve bakım maliyetlerini azaltır. OTA, yazılım güncellemeleri, hata düzeltmeleri ve özellik geliştirmelerinin hızlı ve verimli bir şekilde dağıtılmasına izin verir.
  • ESP32 OTA güncellemeleri, esas olarak gömülü sistemlerde ve IoT dağıtımlarında çeşitli uygulamalarda gereklidir.
  • Bu güncellemeler, tüm süreci kapatmadan endüstriyel otomasyon sistemlerinin bakımı ve yükseltilmesi için önemlidir.
  • OTA, akıllı ev cihazlarının en iyi performans ve özellik iyileştirmelerini sağlayarak uzaktan ürün yazılımı yükseltmeleri almasına izin verir.
  • OTA güncellemeleri, doğru ve işlevsel kalmalarını sağlayarak uzaktan sensörlerin ürün yazılımı ve izleme sistemlerini güncellemek için önemlidir.
  • OTA güncellemesi, uzaktan erişimin pratik veya sınırlı olduğu herhangi bir IoT uygulamasında cihazları işlemek ve tutmak için uygun bir yöntem sağlar.
  • Kullanıcılar, güvenli ve işlevsel kaldıklarından emin olmak için akıllı kilitleri, güvenlik kameralarını ve güvenlik sistemlerini günceller.
  • Endüstriler, otomasyon işlemlerinde makine yazılımını ve sistemlerini güncellemek için ESP32 OTA'yı kullanır.
  • Teknisyenler, hava istasyonları, çevresel izleme ve uzak uygulamalardaki cihazın yazılımını günceller.
  • Bu OTA, akıllı çiftlik ekipmanlarında, sulama sistemlerinde vb. Yazılımı günceller.
  • Kilitler, güvenlik sistemleri, akıllı ışıklar vb. Gibi akıllı ev cihazlarını ev otomasyonunda uzaktan yönetir ve günceller.

Çözüm:

Böylece, ESP32 OTA güncellemeleri sağlar Fiziksel bağlantıları kaldırarak ESP32 cihazlarında ürün yazılımını ve diğer dosyaları kablosuz olarak güncellemek için uygun bir yöntem. Bu nedenle, bu yöntem esas olarak uzaktan dağıtımlar için yararlıdır ve herhangi bir fiziksel bağlantı olmadan hata düzeltmelerine ve özelliklerin geliştirilmesine izin vererek bakımı azaltır. ESP32 OTA güncellemesi, ESP32 cihazlarını uzaktan korumak ve güncellemek, bakımı basitleştirmek ve güncelleme işlemini kısaltmak için değerli bir teknik sağlar. İşte sizin için bir soru: ESP32 kartı nedir?