მომსახურების ცხელი ხაზი
მას შემდეგ, რაც Python გახდა დომინანტური პროგრამირების ენა, MicroPython სულ უფრო პოპულარული გახდა ჩაშენებული სისტემების სივრცეში, განსაკუთრებით პოპულარულ ESP32-სა და RP2040 მიკროკონტროლერზე დაფუძნებულ Pico მოდულში, რომელიც ახლახან გამოუშვა Raspberry PI Foundation-ის მიერ.
როგორც ბანონი, რომელსაც არ შეეძლო კოდის სტრიქონის დაწერა, უმეტეს დროს თავს ძალიან შეზღუდულად ვგრძნობდი და პირობას ვდებდი, რომ კარგ დროს გამოვნახავდი პროგრამირების ენის შესასწავლად. მე მივუძღვენი MicroPython-ს 7-დღიანი ეროვნული დღესასწაულის დროს და გავაცნობიერე პერიფერიული მოწყობილობების ყველა ფუნქცია დაფაზე Pico გაფართოების სასწავლო დაფაზე, რომელიც შექმნილია ჩემს მიერ:
-
ლამაზი განათება - მონოქრომული, RGB სამი ფერის, ყველა სახის კომბინაციით, ასევე კონტროლდება ღილაკებით და სენსორებით
-
OLED ეკრანი აჩვენებს ტექსტს, სურათებს და ტალღის ფორმებს
-
აუდიო სიგნალი გროვდება და ნაჩვენებია OLED ეკრანზე - ქმნის მაგარი ტალღის ჩვენებას
-
თამაში "მე და ჩემი ქვეყანა" დაფაზე ზუმერით
-
სხვისი კოდის გადატანა თვითნებური ტალღის ფორმების შესაქმნელად - ტალღის ფორმის შეცვლა, სიხშირის შეცვლა, სიდიდის შეცვლა და ა.შ.
ყველაზე დიდი შთაბეჭდილება მოახდინა ჩემზე 7-დღიანი „გამოკვლევის“ დროს, იყო ის, თუ რამდენად ადვილი იყო MicroPython-ში ჩაშენებული სისტემების დაწყება - მდიდარი ღია წყაროს რესურსები, სხვადასხვა სახის მითითება, როგორიცაა ვიდეო კურსები, ტექსტური შემთხვევები და ა.შ.
MicroPython მართლაც შესანიშნავი პროგრამირების ენაა - ობიექტზე ორიენტირებული, მოქნილი, მარტივი, ელეგანტური!
ჩემი პირადი სწავლა სარგებლობს სხვების გაზიარებით (ღია წყარო) და ცოდნის გადაცემის საუკეთესო გზა არის იმის გაზიარება, რაც ვისწავლე და რაც ვისწავლე. ამიტომ, ვგეგმავ Pico-ზე დაფუძნებული Micro Python-ის ჩაშენებული პროგრამირების გაკვეთილის გაშვებას, რომელიც ოფიციალურად ერთ თვეში გავა. Რა თქმა უნდა, საწყის ეტაპზე იქნება 15 PCB დიზაინის ცოცხალი კურსი, რომელიც მიგიყვანთ თქვენ დამოუკიდებლად შეიმუშაოთ Pico სასწავლო დაფა. ბოლოს და ბოლოს, უფასო საბეჭდი დაფის და უფასო მიწოდების ხელსაყრელ გარემოში, Pico-ს ბირთვის დაფაზე დაფუძნებული, ყველას შეუძლია შექმნას PCB სხვადასხვა საინტერესო აპლიკაციების შესაქმნელად მომავალში. PCB-ის დიზაინის სწავლა ასევე შეიძლება იყოს უპირატესობა ჩაშენებული სისტემების ინჟინრებისთვის.
ამიერიდან იქნება ამ კურსთან დაკავშირებული ტექნიკური სტატიების სერია. დღეს არის პირველი:
1. რა არის MicroPython
MicroPython არის პატარა ღია კოდის Python პროგრამირების ენის თარჯიმანი, რომელიც მუშაობს პატარა ჩაშენებულ განვითარების დაფაზე. MicroPython-ით შეგიძლიათ დაწეროთ სუფთა, მარტივი პითონის კოდი, რათა აკონტროლოთ აპარატურა რთული ძირითადი ენების გამოყენების გარეშე, როგორიცაა C ან C ++ (Arduino პროგრამირებისთვის).

MicroPython ლოგო
პითონის პროგრამირების ენის სიმარტივე MicroPython-ს აქცევს იდეალურ არჩევანს პროგრამირებისა და აპარატურის დამწყებთათვის. MicroPython არის ძალიან სრულფასოვანი და მხარს უჭერს Python სინტაქსის უმეტესობას, ასე რომ, გამოცდილ პითონის ვეტერანებსაც კი აღმოაჩენთ MicroPython-ის გამოყენებას ნაცნობ და სახალისო.
გარდა იმისა, რომ მარტივი გამოსაყენებელია, MicroPython-ს აქვს რამდენიმე უნიკალური თვისება, რაც განასხვავებს მას სხვა ჩაშენებული სისტემებისგან:
გამოიყენეთ ინტერაქტიული თარჯიმანი: REPL (Read Read- Evaluate Evaluate- Print Print- Loop Loop) - ეს საშუალებას გაძლევთ დაუკავშირდეთ დაფას და შეასრულოთ კოდი კომპილაციის ან ატვირთვის გარეშე - იდეალურია სწრაფი სწავლისა და ტექნიკის ექსპერიმენტებისთვის!
მდიდარი პროგრამული ბიბლიოთეკები - ჩვეულებრივი Python პროგრამირების ენის მსგავსად, MicroPython-ს აქვს დიდი რაოდენობით ბიბლიოთეკა ჩაშენებული მრავალი ამოცანის მხარდასაჭერად. მაგალითად, MicroPython-ის ჩაშენებული ბიბლიოთეკების მეშვეობით, ადვილია ვებ სერვისებიდან JSON მონაცემების გაანალიზება, ტექსტის ძიება რეგულარული გამონათქვამების გამოყენებით და ქსელის სოკეტების პროგრამირებაც კი.
გაფართოება - მოწინავე მომხმარებლებისთვის MicroPython შეიძლება გაფართოვდეს დაბალი დონის C/C++ ფუნქციებით, ასე რომ თქვენ შეგიძლიათ შეურიოთ გამომხატველი მაღალი დონის MicroPython კოდი უფრო სწრაფ დაბალი დონის კოდს საჭიროების შემთხვევაში.
MicroPython არის Python 3 ენის ვარიანტი. ეს არის კემბრიჯის უნივერსიტეტის დოქტორი დარიენ პ. ჯორჯის, რომელიც მუშაობდა crowdfunding გუნდთან ერთად მიკროპითონზე მხარდაჭერილი ტექნიკის განვითარების დაფის შექმნაზე სახელწოდებით PyBoard 2013 წელს. MicroPython1.0 წარმოდგენილი იყო Python კონფერენციაზე ( PyCon) 2014 წელს. დოქტორმა ჯორჯმა ასევე შექმნა Micro Python.org ვებგვერდი (www.micropython.org) MicroPython-ისა და Pyboard-ის მხარდასაჭერად.

ოფიციალური MicroPython.Org ლოგო
MicroPython.Org PyBoard, დაფუძნებული STM32 კონტროლერზე.
2. რა შეუძლია MicroPython-ს?
MicroPython შექმნილია ჩაშენებული სისტემის კონტროლის პროგრამების სწრაფად და ეფექტურად შესაქმნელად. ჩაშენებული სისტემები შეიძლება უბრალოდ განისაზღვროს, როგორც ნებისმიერი პროექტი, რომელიც მოითხოვს მიკროკონტროლერების გამოყენებას საინჟინრო საჭიროებების დასაკმაყოფილებლად. ტიპიური ჩაშენებული სისტემები, როგორც წესი, იყენებენ სენსორებს და ზოგჯერ ელექტრომექანიკურ ამძრავებს მიკროკონტროლერებთან ურთიერთობისთვის. ისინი შეიძლება იყოს მიმაგრებული ადამიანისა და მანქანის ინტერფეისის მოწყობილობებზე მარტივი ურთიერთქმედებისთვის, მაგრამ უფრო ავტომატიზირებულია, დამოუკიდებელი მუშაობისთვის ან ღრუბელზე დისტანციური წვდომისთვის.
ისევე, როგორც Arduino დაფები, MicroPython-ს შეუძლია აკონტროლოს აპარატურა და დაკავშირებული მოწყობილობები -- შეგიძლიათ მართოთ GPIO pin-ის ციმციმები, წაიკითხოთ კონცენტრატორები და სხვა; შეუძლია მართოს PWM სიგნალი, რომელსაც შეუძლია სერვერისა და LED-ის მართვა; ანალოგური სენსორების წაკითხვა და წაკითხვა შესაძლებელია ანალოგური ციფრული გადამყვანის საშუალებით. ასევე ადვილია კომუნიკაცია I2C ან SPI მოწყობილობებთან. ზოგიერთ დაფაზე შეგიძლიათ იპოვოთ ქსელი და WiFi მხარდაჭერა. MicroPython-ს აქვს ბიბლიოთეკები სხვა ტექნიკის გასაკონტროლებლად, როგორიცაა NeoPixels და LED ზოლები, მინიატურული OLED დისპლეები და ა.შ. მოკლედ, MicroPython-ს ბევრი რამის გაკეთება შეუძლია!
რა არის MicroPython-ის შეზღუდვები?
MicroPython-ს აქვს ძალიან ცოტა შეზღუდვები და თითქმის ყველაფრის გაკეთება, რაც Arduino-ს შეუძლია, შეიძლება გაკეთდეს MicroPython დაფებით. თუმცა, მნიშვნელოვანია აღინიშნოს, რომ MicroPython კოდი არ არის ისეთი სწრაფი და შეიძლება მოითხოვოს მეტი მეხსიერება, ვიდრე მსგავსი Arduino ან სხვა C/C++ დაფუძნებული დაბალი დონის კოდი, თუმცა ამას ჩვეულებრივ არ აქვს მნიშვნელობა, რადგან სიჩქარისა და მეხსიერების განსხვავებები საკმარისად დიდი არ არის. გავლენას ახდენს აპლიკაციების უმეტესობაზე. გაითვალისწინეთ, რომ კოდი, რომელიც დროის ან შესრულების კრიტიკულია, შეიძლება არ იმუშაოს MicroPython-ში. მაგალითად, პროგრამული უზრუნველყოფის გამოყენება მთლიანად IO ქინძისთავების დასაყენებლად MicroPython-ში მაღალსიჩქარიანი სერიული საკომუნიკაციო პროტოკოლების განსახორციელებლად შეიძლება არ იყოს საუკეთესო იდეა. თუმცა, არსებობს MicroPython-ისა და დაბალი დონის C/C++ კოდის შერევის გზები, რათა ორივე სამყაროდან საუკეთესო გვქონდეს - მთავარი ლოგიკა არის სუფთა და ადვილად გასაგები MicroPython კოდი, ხოლო შესრულებისთვის კრიტიკული ნაწილები იწერება უფრო სწრაფი დაბალი დონის კოდი.
MicroPython ენა ახორციელებს Python 3-ის ძირითადი ენის უმეტეს ნაწილს, მაგრამ MicroPython არ ახორციელებს Python 3-ის მთელ სტანდარტულ ბიბლიოთეკას. პითონი ცნობილია ფართო სტანდარტული ბიბლიოთეკის არსებობით, მაგრამ ასეთი დიდი ბიბლიოთეკის შეკუმშვის მცდელობა პატარა დაფაზე მხოლოდ კილობაიტების მეხსიერებით შეუძლებელია. ამის ნაცვლად, MicroPython ახორციელებს პითონის სტანდარტული ბიბლიოთეკის რამდენიმე მცირე ვერსიას, რაც უზრუნველყოფს განვითარების დიდ გამოცდილებას.
უარი პასუხისმგებლობაზე: ეს სტატია დაბეჭდილია "ელექტრონული ტყიდან", ეს სტატია წარმოადგენს მხოლოდ ავტორის პირად შეხედულებებს, არ წარმოადგენს Sakwei-ს და ინდუსტრიის შეხედულებებს, მხოლოდ რეპროდუცირებული და გაზიარებულია, მხარს უჭერს ინტელექტუალური საკუთრების უფლებების დაცვას, გთხოვთ მიუთითოთ ორიგინალური წყარო და ავტორი, თუ არის დარღვევა, გთხოვთ დაგვიკავშირდეთ წასაშლელად.


粤公网安备44030002007346号