+ 86 755-83044319

Perspektivləri

/
/

Daxili sistemlərə asan giriş (1) - MicroPython nədir?

Buraxılış vaxtı: 2022-03-08Müəllif mənbəyi: SlkorBaxın: 6094

Python dominant proqramlaşdırma dili olduqca, MicroPython daxili sistemlər məkanında, xüsusən də populyar ESP32 və Raspberry PI Foundation tərəfindən yenicə buraxılmış RP2040 mikrokontroller əsaslı Pico modulunda getdikcə populyarlaşdı.

Bir sıra kod yaza bilməyən bir bannon olaraq, özümü çox vaxt məhdud hiss edirdim və proqramlaşdırma dilini öyrənmək üçün yaxşı vaxt tapmağa söz verdim. Mən 7 günlük Milli Gün tətilində özümü MicroPython-a həsr etdim və özüm hazırladığım Pico genişləndirilməsi öyrənmə lövhəsindəki lövhədə periferik cihazların bütün funksiyalarını həyata keçirdim:

  • Fantastik işıqlandırma - monoxrom, RGB üç rəng, bütün növ birləşmələr, həmçinin düymələr və sensorlar tərəfindən idarə oluna bilər

  • OLED ekran mətn, şəkillər və dalğa formalarını göstərir

  • Səs siqnalı toplanır və OLED ekranında göstərilir - sərin dalğa forması ekranı yaradır

  • Lövhədə səs siqnalı ilə "Mən və ölkəm" mahnısı oynayır

  • İxtiyari dalğa formaları yaratmaq üçün başqasının kodunu daşımaq - dalğa formalarının dəyişdirilməsi, tezliyin dəyişdirilməsi, böyüklüyün dəyişdirilməsi və s.



7 günlük “kəşfiyyat” zamanı mənə ən çox təsir edən MicroPython-da quraşdırılmış sistemlərlə - zəngin açıq mənbə resursları, müxtəlif istinad formaları, məsələn, video kurslar, mətn keysləri və s.-yə başlamağın nə qədər asan olması idi.

MicroPython həqiqətən əla proqramlaşdırma dilidir - obyekt yönümlü, çevik, sadə, zərif!

Mənim şəxsi öyrənməm başqalarının paylaşmasından faydalanır (açıq mənbə) və biliyi ötürməyin ən yaxşı yolu öyrəndiklərimi və öyrəndiklərimi bölüşməkdir. Buna görə də, bir aydan sonra rəsmi olaraq istifadəyə veriləcək Pico əsasında Micro Python quraşdırılmış proqramlaşdırma dərsliyini işə salmağı planlaşdırıram. Əlbəttə, İlkin mərhələdə 15 PCB dizaynı canlı kursları olacaq ki, bu da sizi Pico öyrənmə lövhəsini özünüz hazırlamağa aparacaq. Axı, Pico əsas lövhəsinə əsaslanan pulsuz çap lövhəsi və pulsuz göndərmənin rahat mühitində hər kəs gələcəkdə müxtəlif maraqlı tətbiqlər etmək üçün PCB dizayn edə bilər. PCB dizaynını öyrənmək həm də quraşdırılmış sistem mühəndisləri üçün üstünlük ola bilər.

Bundan sonra bu kursla bağlı bir sıra texniki məqalələr olacaq. Bu gün birincidir:

1. MicroPython nədir

MicroPython kiçik bir daxili inkişaf lövhəsində işləyən kiçik açıq mənbəli Python proqramlaşdırma dili tərcüməçisidir. MicroPython ilə siz C və ya C++ (proqramlaşdırma üçün Arduino) kimi mürəkkəb əsas dillərdən istifadə etmədən aparatı idarə etmək üçün təmiz, sadə Python kodu yaza bilərsiniz.


MicroPython loqosu

Python proqramlaşdırma dilinin sadəliyi MicroPython-u proqramlaşdırma və aparat sahəsində yeni başlayanlar üçün ideal seçim edir. MicroPython çox tam xüsusiyyətlidir və əksər Python sintaksisini dəstəkləyir, buna görə də hətta təcrübəli Python veteranları MicroPython-dan tanış və əyləncəli istifadə edəcəklər.

İstifadəsi asan olmaqla yanaşı, MicroPython onu digər quraşdırılmış sistemlərdən fərqləndirən bəzi unikal xüsusiyyətlərə malikdir:

İnteraktiv tərcüməçidən istifadə edin: REPL (Oxuyun - Oxuyun - Qiymətləndirin - Çap edin - Döngü Loopu) - bu, lövhəyə qoşulmağa və onu tərtib etmədən və yükləmədən kodu icra etməyə imkan verir - sürətli öyrənmək və aparatla təcrübə etmək üçün mükəmməldir!

Zəngin Proqram Kitabxanaları - Adi Python proqramlaşdırma dili kimi, MicroPython da bir çox tapşırıqları dəstəkləmək üçün daxil edilmiş çoxlu sayda kitabxanaya malikdir. Məsələn, MicroPython-un daxili kitabxanaları vasitəsilə Veb xidmətlərindən JSON məlumatlarını təhlil etmək, müntəzəm ifadələrdən istifadə edərək mətni axtarmaq və hətta şəbəkə rozetkasının proqramlaşdırılmasını etmək asandır.

Genişlənmə qabiliyyəti - Qabaqcıl istifadəçilər üçün MicroPython aşağı səviyyəli C/C++ funksiyaları ilə genişləndirilə bilər, beləliklə, lazım olduqda ifadəli yüksək səviyyəli MicroPython kodunu daha sürətli aşağı səviyyəli kodla qarışdıra bilərsiniz.

MicroPython Python 3 dilinin bir variantıdır. Bu, 2013-cü ildə PyBoard adlı microPython-u dəstəkləyən aparat inkişaf lövhəsini hazırlamaq üçün kraudfanding qrupu ilə işləyən Kembric Universitetinin Ph.D. Darrien P. George-un ideyasıdır. MicroPython1.0 Python konfransında təqdim edilmişdir ( Dr. George, həmçinin MicroPython və Pyboard-u dəstəkləmək üçün Micro Python.org veb-saytını (www.micropython.org) qurdu.


Rəsmi MicroPython.Org loqosu

MicroPython.Org PyBoard, STM32 nəzarətçisinə əsaslanır.


2. MicroPython nə edə bilər?

MicroPython, daxili sistemə nəzarət proqramlarını tez və səmərəli şəkildə yaratmaq üçün nəzərdə tutulmuşdur. Quraşdırılmış sistemlər sadəcə olaraq mühəndislik ehtiyaclarını ödəmək üçün mikro nəzarətçilərin istifadəsini tələb edən hər hansı bir layihə kimi müəyyən edilə bilər. Tipik quraşdırılmış sistemlər mikrokontrollerlərlə əlaqə yaratmaq üçün adətən sensorlardan və bəzən elektromexaniki aktuatorlardan istifadə edir. Onlar asan qarşılıqlı əlaqə üçün insan-maşın interfeysi cihazlarına qoşula bilər, lakin müstəqil əməliyyat və ya buludlara uzaqdan daxil olmaq üçün daha avtomatlaşdırılmışdır.

Arduino lövhələri kimi, MicroPython da aparat və qoşulmuş cihazları idarə edə bilər -- siz GPIO pininin yanıb-sönən işıqlarını idarə edə, açarları oxuya və s. edə bilərsiniz; Server və LED-i idarə edə bilən PWM siqnalını idarə edə bilər; Analoq sensorlar analoqdan rəqəmə çevirici vasitəsilə oxuna və oxuna bilər. I2C və ya SPI cihazları ilə ünsiyyət qurmaq da asandır. Siz hətta bəzi lövhələrdə şəbəkə və WiFi dəstəyi tapa bilərsiniz. MicroPython hətta NeoPixels və LED zolaqları, miniatür OLED displeylər və s. kimi digər avadanlıqları idarə etmək üçün kitabxanalara malikdir. Bir sözlə, MicroPython çox şey edə bilər!

MicroPython-un məhdudiyyətləri hansılardır?

MicroPython-un çox az məhdudiyyətləri var və Arduino-nun edə biləcəyi demək olar ki, hər şey MicroPython lövhələri vasitəsilə edilə bilər. Bununla belə, qeyd etmək lazımdır ki, MicroPython kodu o qədər də sürətli deyil və oxşar Arduino və ya digər C/C++ əsaslı aşağı səviyyəli koddan daha çox yaddaş tələb edə bilər, baxmayaraq ki, bu adətən əhəmiyyət kəsb etmir, çünki sürət və yaddaş fərqləri kifayət qədər böyük deyil. əksər tətbiqlərə təsir edir. Nəzərə alın ki, vaxt və ya performans baxımından kritik olan kod MicroPython-da işləməyə bilər. Məsələn, MicroPython-da bəzi yüksək sürətli serial rabitə protokollarını həyata keçirmək üçün IO sancaqlarını idarə etmək üçün proqram təminatından tamamilə istifadə etmək ən yaxşı fikir olmaya bilər. Bununla belə, MicroPython və aşağı səviyyəli C/C++ kodunu qarışdırmağın yolları var ki, biz hər iki dünyanın ən yaxşısına sahib ola bilək – əsas məntiq təmiz və asan başa düşülən MicroPython kodudur, performans baxımından kritik hissələr isə dildə yazılmışdır. daha sürətli aşağı səviyyəli kod.

MicroPython dili əsas Python 3 dilinin çoxunu həyata keçirir, lakin MicroPython bütün Python 3 standart kitabxanasını tətbiq etmir. Python geniş standart kitabxanası ilə tanınır, lakin belə böyük kitabxananı yalnız kilobayt yaddaşa malik kiçik bir lövhəyə sıxışdırmaq mümkün deyil. Bunun əvəzinə MicroPython, böyük inkişaf təcrübəsi təmin edən Python standart kitabxanasının bəzi kiçik versiyalarını tətbiq edir.


İmtina: Bu məqalə "elektron meşə"dən yenidən çap edilib, bu məqalə yalnız müəllifin şəxsi fikirlərini əks etdirir, Sakwei və sənayenin fikirlərini əks etdirmir, yalnız çoxaldılır və paylaşılır, əqli mülkiyyət hüquqlarının qorunmasını dəstəkləyir, orijinal mənbəni göstərin və müəllif, əgər pozuntu varsa, silmək üçün bizimlə əlaqə saxlayın.



Tətbiq tövsiyəsi

Xidmət qaynar xətti

+ 86 0755-83044319

Hall Təsiri Sensoru

Məhsul haqqında məlumat əldə edin

WeChat

WeChat