Mündəricat:
Video: Arduino Havada Proqramlaşdırma (OTA) - Ameba Arduino: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bazarda bir çox Wi-Fi mikro nəzarətçisi var, bir çox istehsalçı Arduino IDE istifadə edərək Wi-Fi mikro nəzarətçisini proqramlaşdırmaqdan zövq alır. Bununla birlikdə, bir Wi-Fi mikro nəzarətçisinin təklif etdiyi ən gözəl xüsusiyyətlərdən biri, kodunuzu uzaqdan və simsiz olaraq OTA (Over-The-Air) funksiyasından istifadə edərək proqramlaşdırmaq və yükləməkdir.
Bu Təlimat kitabında, Ameba Arduino Wi-Fi mikro nəzarətçisində hər yerdə olan Arduino IDE-dən istifadə edərək Wi-Fi mikro nəzarətçinizdə OTA qurmağı sizə göstərəcəyəm!
Təchizat
Ameba Arduino x 1
Addım 1: OTA
OTA (Over-The-Air) İnternet üzərindən onlayn təkmilləşdirmə mexanizminə aiddir.
Arduino IDE, yuxarıdakı şəkildə iş axınını izləyən OTA xüsusiyyətini təqdim edir.
(i) Arduino IDE yerli şəbəkədə Arduino IDEOTA xidməti olan cihazlar üçün mDNS vasitəsilə axtarış aparır.
(ii) mDNS xidməti Ameba üzərində işlədiyi üçün Ameba mDNS axtarışına cavab verir və əlaqə üçün xüsusi TCP portunu açır.
(iii) İstifadəçi Arduino IDE -də proqram hazırlayır. Tamamlandıqda, şəbəkə portunu seçin.
(iv) Yükləmə düyməsini basın. Arduino IDE, OTA görüntüsünü TCP vasitəsi ilə Ameba'ya göndərir, Ameba görüntüyü müəyyən ünvana saxlayır və növbəti dəfə bu şəkildən yükləmək üçün açılış seçimini təyin edir.
İş axını üç hissədən ibarətdir: mDNS, TCP və OTA görüntü prosesi. MDNS ilə bağlı təfərrüatlar mDNS təlimatında təsvir edilmişdir. TCP yuva proqramlaşdırması görüntünün ötürülməsində istifadə olunur və artıq OTA API -də təqdim olunur.
Növbəti hissədə, OTA görüntüsünün necə işlənəcəyini müzakirə edəcəyik və Ameba flash yaddaş düzeni və açılış axını haqqında bəzi əsas bilikləri təqdim edəcəyik.
Addım 2: Ameba Flash Yaddaş Düzeni
Ameba RTL8195A -nın flash yaddaş ölçüsü 2 MB, 0x00000000 ilə 0x00200000 arasında dəyişir. Bununla birlikdə, Ameba RTL8710 -un flash yaddaş ölçüsü 1MB -dir. Fərqli lövhələrin istifadəsinə uyğun olaraq, flash yaddaşın 1MB olduğunu düşünürük.
Yuxarıdakı şəkildə göstərildiyi kimi, Ameba proqramı flash yaddaşın üç hissəsini tutur:
- Boot Şəkil:
Yəni önyükleyici. Ameba açıldıqda, önyükleme görüntüsünü yaddaşa yerləşdirir və işə salır. Bundan əlavə, önyükleyicidən sonra hara gedəcəyinizi müəyyənləşdirir. Bootloader, sistem məlumat sahəsindəki OTA ünvanına və bərpa pininə baxır və sonra hansı görüntünün icra ediləcəyini təyin edir. Yükləyicinin sonunda görüntünü yaddaşa yerləşdirir və icra etməyə davam edir.
- Varsayılan Şəkil 2:
Geliştirici kodu bu hissəyə yerləşdirilib, ünvan 0x0000B000 -dən başlayır. İlk 16 bayt şəkil başlığıdır, 0x0000B008 ~ 0x0000B00F, görüntünün etibarlı olub olmadığını yoxlamaq üçün istifadə olunan İmzanı ehtiva edir. İmza sahəsində yeni görüntünü köhnə şəkildən ayırmaq üçün iki etibarlı dəyər var.
- OTA Şəkil:
Bu hissədəki məlumatlar da geliştirici kodudur. Varsayılan olaraq, yaddaşın bu hissəsi 0x00080000 -dən başlayır (dəyişdirilə bilər). OTA görüntüsü ilə Varsayılan Şəkil 2 arasındakı əsas fərqlər flash yaddaş ünvanı və İmza dəyəridir.
Koddan başqa bəzi məlumat blokları var:
- Sistem məlumatları:
Sistem məlumat bloku 0x00009000 -dən başlayır. OTA ilə əlaqəli iki məlumat var:
1. OTA ünvanı: 0x00009000 -dən başlayaraq 4 bayt məlumat. OTA Image ünvanını bildirir. OTA ünvan dəyəri etibarsızdırsa (yəni 0xFFFFFFFF), flash yaddaşdakı OTA görüntüsü düzgün yüklənə bilməz.
2. Bərpa Pin: 0x00009008 -dən başlayaraq 4 bayt məlumat, Bərpa pin hər iki şəkil etibarlı olduqda hansı görüntünün (standart Şəkil 2 və ya OTA Şəkili) icra olunacağını təyin etmək üçün istifadə olunur. Bərpa pin dəyəri etibarsızdırsa (yəni 0xFFFFFFFF), yeni şəkil standart olaraq icra olunacaq.
Proqramı DAP vasitəsilə Ameba'ya yüklədiyimiz zaman sistem məlumatları silinəcəkdir. Yəni, OTA ünvanı silinəcək və Ameba OTA görüntüsünün olmadığını müəyyən edəcək.
- Kalibrləmə Məlumatları: Periferik kalibrləmə məlumatları bu blokda yerləşdirilir. Adətən bu məlumatlar silinməməlidir.
Addım 3: Boot Flow
Yuxarıdakı şəkildən, Aşağıdakı ssenariləri müzakirə edirik: (i) OTA istifadə edilmir, proqramı yükləmək üçün DAP istifadə edin:
Bu vəziyyətdə, bootloader standart şəkil 2 və OTA ünvanının imzasını yoxlayır. OTA ünvanı silindiyindən, icra etmək üçün standart şəkil 2 seçiləcək.
(ii) OTA görüntüsü Ameba'ya köçürülür, OTA ünvanı düzgün qurulur, bərpa pimi təyin olunmur:
Ameba OTA vasitəsilə yenilənmiş bir şəkil aldı, standart şəkil 2 -nin imzası köhnə imzaya qoyulacaq.
Bootloader, standart şəkil 2 və OTA ünvanının imzasını yoxlayır. OTA ünvanının etibarlı bir OTA şəkli olduğunu tapacaq. Bərpa pin təyin olunmadığı üçün icra ediləcək yeni görüntünü (yəni OTA görüntüsünü) seçir.
(iii) OTA görüntüsü Ameba'ya köçürülür, OTA ünvanı düzgün qurulur, bərpa pimi təyin olunur:
Ameba OTA vasitəsilə yenilənmiş bir şəkil aldı, standart şəkil 2 -nin imzası köhnə imzaya qoyulacaq.
Bootloader, standart şəkil 2 və OTA ünvanının imzasını yoxlayır. OTA ünvanının etibarlı bir OTA şəkli olduğunu tapacaq. Sonra bərpa pin dəyərini yoxlayın. Bərpa pin LOW -a bağlıdırsa, yeni görüntü (yəni OTA görüntüsü) icra ediləcək. Bərpa pinini HIGH -a bağlasanız, köhnə şəkil (yəni standart şəkil 2) icra olunacaq.
Addım 4: Nümunə
OTA xüsusiyyətindən istifadə etmək üçün, lütfən, DAP firmware -ni> 0.7 versiyasına yüksəldin (v0.7 daxil deyil). Standart DAP firmware proqramı 0.7 versiyasıdır. Zəhmət olmasa DAP firmware proqramını təkmilləşdirmək üçün təlimatları izləyin:
Misalı açın: "Fayl" -> "Nümunələr" -> "AmebaOTA" -> "ota_basic"
Şəbəkə bağlantısı üçün nümunə kodunda ssid və parol məlumatlarını daxil edin.
OTA ilə əlaqəli bəzi parametrlər var:
§ MY_VERSION_NUMBER: Birinci versiyada OTA ünvanını və bərpa pinini təyin etməliyik. Bu dəfə USB ilə yüklədiyimiz ilk versiya olduğu üçün bu dəyəri dəyişdirməyimizə ehtiyac yoxdur.
§ OTA_PORT: Arduino IDE, Ameba'yı mDNS vasitəsilə tapacaq. Ameba, Arduino IDE -yə OTA görüntüsünü gözləmək üçün TCP 5000 portunu açdığını söyləyəcək.
§ RECOVERY_PIN: Bərpa üçün istifadə olunan pimi konfiqurasiya edin. Burada 18 pin istifadə edirik.
Sonra Ameba'ya USB yükləmə proqramından istifadə edirik. Alətlər -> Limanlar vurun, istifadə etmək üçün serial portunu yoxlayın:
Unutmayın ki, Arduino IDE yükləmə proqramı və çıxışlar üçün bir port istifadə edir. OTA istifadə edərkən qeydin çıxıla bilməyəcəyi vəziyyətdən qaçmaq üçün, günlük mesajını izləmək üçün serial monitor yerinə digər seriyalı port terminalını (məsələn, Tera termini və ya macunu) istifadə edirik.
Sonra yükləyin və sıfırlama düyməsini basın.
Günlük mesajında:
1. “===== Şəkil 1 ==== daxil edin” və “Şəkil 2 daxil edin ====” arasında “Flash Şəkil 2: Addr 0xb000” tapa bilərsiniz. Bu o deməkdir ki, Ameba Default Image 2 -dən 0xb000 -də açılmağa qərar verir.
2. "Şəkil 2 -ə daxil olun ====" dan sonra "Bu versiya 1" -i tapa bilərsiniz. Bu eskizdə əlavə etdiyimiz qeyd mesajıdır.
3. Ameba AP -yə qoşulduqdan və "192.168.1.238" IP ünvanını aldıqdan sonra mDNS -i aktivləşdirir və müştərini gözləyir.
Sonra "MY_VERSION_NUMBER" nömrəsini 2 olaraq dəyişdiririk.
"Alətlər" -> "Liman" a vurun, "Şəbəkə portları" nın siyahısını görə bilərsiniz. "MyAmeba 192.168.1.238 (Ameba RTL8195A)" tapın, MyAmeba nümunə kodunda təyin etdiyimiz mDNS cihaz adıdır və "192.168.1.238" Ameba IP -dir.
Ameba şəbəkə portunu tapa bilmirsinizsə, zəhmət olmasa təsdiqləyin:
- kompüterinizlə Ameba eyni lokal şəbəkədədirmi?
- Arduino IDE -ni yenidən başladın.
- Ameba -nın AP -yə uğurla qoşulduğunu görmək üçün Serial Monitordakı giriş mesajını yoxlayın.
Sonra yüklə vurun. Bu dəfə proqram TCP vasitəsilə yüklənəcək. Giriş terminalında müştəri əlaqəsi məlumatlarını görə bilərsiniz.
OTA şəkli uğurla yükləndikdə, Ameba yenidən başlayacaq və aşağıdakı qeyd log terminalında göstəriləcək.
- "===== Şəkil 1 ====" və "Şəkil 2 daxil edin ====" arasında "Flash Image 2: Addr 0x80000" qeyd mesajını görə bilərsiniz. Bu o deməkdir ki, Ameba 0x80000 -də OTA Image -dən yükləməyi qərara alır.
- "Şəkil 2 daxil edin ====" dən sonra "Bu versiya 2" jurnalı eskizdə əlavə etdiyimiz mesajdır.
OTA görüntüsü Ameba'ya endirildikdən sonra əvvəlki görüntüyə qayıtmaq üçün zəhmət olmasa eskizdə qoyduğumuz bərpa pinini (yəni pin 18) YÜK (3.3V) ilə bağlayın və sıfırlama düyməsini basın.
Sonra açılış zamanı Default image 2 göstəriləcək. Nəzərə alın ki, yüklənmiş OTA görüntüsü silinmir, bərpa pinini HIGH -dan ayırdıqdan sonra OTA görüntüsü icra olunacaq.
Aşağıdakı şəkildə OTA istifadə edərək inkişaf axınını ümumiləşdiririk.
Tövsiyə:
Arduino Uno - Baofeng UV -9R Plus istifadə edərək DIY Proqramlaşdırma Kabeli: 6 addım (şəkillərlə)
Arduino Uno-Baofeng UV-9R Plus istifadə edərək DIY Proqramlaşdırma Kabeli: Hey Hər kəs, bu Baofeng UV-9R (və ya üstəgəl) Qulaqlıq / qulaqlıq kabelinizi USB olaraq Ardunio UNO istifadə edərək proqramlaşdırma kabelinə necə çevirmək barədə sadə bir bələdçidir. Serial çevirici. [DISCLAIMER] Heç bir ziyana görə heç bir məsuliyyət daşımıram
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə İzləmə və Proqramlaşdırma Arduino Uno ilə ATtiny85: 4 addım (şəkillərlə)
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə Saatı və Proqramlaşdırılması Arduino Uno ilə ATtiny85: Geyinilə bilən fəaliyyət izləmə saatı necə edilir? Bu, durğunluq algıladıqda titrəmək üçün hazırlanmış geyilə bilən bir gadgetdır. Vaxtınızın çoxunu mənim kimi kompüterdə keçirirsinizmi? Özünüz də bilmədən saatlarla oturursunuz? Sonra bu cihaz f
Açıq havada və ya içəridə Raspberry Pi üzərində qurulmuş Avtomatlaşdırılmış Bağ Sistemi - MudPi: 16 Addım (Şəkillərlə birlikdə)
Açıq və ya qapalı üçün Raspberry Pi üzərində qurulmuş Avtomatlaşdırılmış Bağ Sistemi - MudPi: Bağçılıqdan xoşunuz gəlir, amma onu saxlamağa vaxt tapa bilmirsiniz? Bəlkə bir az susamış və ya hidroponikinizi avtomatlaşdırmaq üçün bir yol axtaran ev bitkiləriniz varmı? Bu layihədə bu problemləri həll edəcəyik və əsaslarını öyrənəcəyik
Arduino IDE ilə NodeMCU Proqramlaşdırma qurun: 3 addım
Arduino IDE ilə NodeMCU Proqramlaşdırma qurun: Bu təlimatda sizə Arduino IDE istifadə edərək NodeMCU lövhəsini necə proqramlaşdıracağınızı göstərəcəyəm. Bunu etmək üçün sürücüləri quraşdırmalı və NodeMCU kartını Arduino lövhə siyahısına əlavə etməlisiniz. Gəlin addım -addım edək
Ən Ucuz Arduino -- Ən kiçik Arduino -- Arduino Pro Mini -- Proqramlaşdırma -- Arduino Neno: 6 addım (şəkillərlə birlikdə)
Ən Ucuz Arduino || Ən kiçik Arduino || Arduino Pro Mini || Proqramlaşdırma || Arduino Neno: …………………………. Daha çox video üçün YouTube kanalıma ABUNƏ OLUN ……. .Bu layihə, indiyə qədərki ən kiçik və ən ucuz arduino ilə necə əlaqə quracağınız haqqındadır. Ən kiçik və ən ucuz arduino arduino pro mini -dir. Arduinoya bənzəyir