خبریں
خبریں
ایمبیڈڈ سسٹمز کا آسان تعارف (1) - MicroPython کیا ہے؟
2022-03-08 1223

جیسا کہ Python غالب پروگرامنگ زبان بن گیا، MicroPython سرایت شدہ نظام کی جگہ میں تیزی سے مقبول ہوتا گیا، خاص طور پر مقبول ESP32 اور RP2040 مائیکرو کنٹرولر پر مبنی پیکو ماڈیول میں جو ابھی Raspberry PI فاؤنڈیشن نے جاری کیا ہے۔

ایک بینن کے طور پر جو کوڈ کی ایک لائن نہیں لکھ سکتا تھا، میں نے زیادہ تر وقت میں بہت محدود محسوس کیا، اور پروگرامنگ زبان سیکھنے کے لیے اچھا وقت تلاش کرنے کا عہد کیا۔ میں نے اپنے آپ کو 7 روزہ قومی دن کی تعطیلات کے دوران مائیکرو پِتھون کے لیے وقف کر دیا، اور میں نے اپنے ڈیزائن کردہ پیکو ایکسٹینشن لرننگ بورڈ پر بورڈ پر موجود تمام فنکشنز کو محسوس کیا:

  • فینسی لائٹنگ - مونوکروم، آر جی بی تین رنگ، تمام قسم کے امتزاج کو بٹن اور سینسر سے بھی کنٹرول کیا جا سکتا ہے۔

  • OLED اسکرین متن، تصاویر اور لہراتی شکلیں دکھاتی ہے۔

  • آڈیو سگنل اکٹھا کیا جاتا ہے اور OLED اسکرین پر ڈسپلے کیا جاتا ہے - ایک ٹھنڈی ویوفارم ڈسپلے بناتا ہے۔

  • بورڈ پر بزر کے ساتھ "میں اور میرا ملک" چلانا

  • صوابدیدی ویوفارمز پیدا کرنے کے لیے کسی اور کے کوڈ کو پورٹ کرنا - ویوفارمز کو تبدیل کرنا، فریکوئنسی کو تبدیل کرنا، شدت کو تبدیل کرنا وغیرہ



7 دن کی "تجارت" کے دوران جس چیز نے مجھے سب سے زیادہ متاثر کیا وہ یہ تھا کہ MicroPython میں ایمبیڈڈ سسٹمز کے ساتھ شروع کرنا کتنا آسان تھا - بھرپور اوپن سورس وسائل، حوالہ کی مختلف شکلیں، جیسے ویڈیو کورسز، ٹیکسٹ کیسز وغیرہ۔

MicroPython واقعی ایک زبردست پروگرامنگ زبان ہے - آبجیکٹ پر مبنی، لچکدار، سادہ، خوبصورت!

دوسروں کے اشتراک (اوپن سورس) سے میری ذاتی سیکھنے کا فائدہ ہوتا ہے، اور علم کو منتقل کرنے کا بہترین طریقہ یہ ہے کہ میں نے جو کچھ سیکھا ہے اور جو کچھ میں نے سیکھا ہے اسے شیئر کرنا ہے۔ لہذا، میں پیکو پر مبنی ایک مائیکرو ازگر ایمبیڈڈ پروگرامنگ ٹیوٹوریل شروع کرنے کا ارادہ رکھتا ہوں، جو ایک ماہ میں باضابطہ طور پر شروع کیا جائے گا۔ بلکل، ابتدائی مرحلے میں، 15 PCB ڈیزائن لائیو کورسز ہوں گے، جو آپ کو خود سے پیکو لرننگ بورڈ ڈیزائن کرنے کی قیادت کریں گے۔ آخر کار، مفت پرنٹنگ بورڈ اور مفت شپنگ کے آسان ماحول میں، پیکو کور بورڈ کی بنیاد پر، ہر کوئی مستقبل میں مختلف دلچسپ ایپلی کیشنز بنانے کے لیے PCB کو ڈیزائن کر سکتا ہے۔ پی سی بی کو ڈیزائن کرنے کا طریقہ سیکھنا ایمبیڈڈ سسٹم انجینئرز کے لیے بھی فائدہ مند ثابت ہو سکتا ہے۔

اب سے اس کورس سے متعلق تکنیکی مضامین کی ایک سیریز ہوگی۔ آج پہلا ہے:

1. MicroPython کیا ہے؟

MicroPython ایک چھوٹا اوپن سورس Python پروگرامنگ لینگویج انٹرپریٹر ہے جو ایک چھوٹے ایمبیڈڈ ڈویلپمنٹ بورڈ پر چلتا ہے۔ MicroPython کے ساتھ، آپ پیچیدہ بنیادی زبانوں جیسے C یا C ++ (پروگرامنگ کے لیے Arduino) استعمال کیے بغیر ہارڈ ویئر کو کنٹرول کرنے کے لیے صاف، سادہ Python کوڈ لکھ سکتے ہیں۔


MicroPython لوگو

Python پروگرامنگ لینگویج کی سادگی مائیکرو پِتھون کو پروگرامنگ اور ہارڈ ویئر کے ابتدائی افراد کے لیے ایک مثالی انتخاب بناتی ہے۔ MicroPython بہت مکمل خصوصیات والا ہے اور زیادہ تر Python نحو کو سپورٹ کرتا ہے، لہذا یہاں تک کہ تجربہ کار Python کے تجربہ کار بھی MicroPython کو مانوس اور مزے دار پائیں گے۔

استعمال میں آسان ہونے کے علاوہ، MicroPython میں کچھ منفرد خصوصیات ہیں جو اسے دوسرے ایمبیڈڈ سسٹمز سے الگ کرتی ہیں:

انٹرایکٹو مترجم کا استعمال کریں: REPL (پڑھیں-پڑھیں- تشخیص کریں- پرنٹ پرنٹ- لوپ لوپ) - یہ آپ کو بورڈ سے منسلک ہونے اور اسے مرتب یا اپ لوڈ کیے بغیر کوڈ کو چلانے کی اجازت دیتا ہے - تیز رفتار سیکھنے اور ہارڈ ویئر کے ساتھ تجربہ کرنے کے لیے بہترین!

رچ سافٹ ویئر لائبریریاں - عام Python پروگرامنگ زبان کی طرح، MicroPython میں بہت سے کاموں کو سپورٹ کرنے کے لیے بڑی تعداد میں لائبریریاں بنائی گئی ہیں۔ مثال کے طور پر، MicroPython کی بلٹ ان لائبریریوں کے ذریعے، ویب سروسز سے JSON ڈیٹا کو پارس کرنا، ریگولر ایکسپریشنز کا استعمال کرتے ہوئے ٹیکسٹ تلاش کرنا، اور یہاں تک کہ نیٹ ورک ساکٹ پروگرامنگ کرنا آسان ہے۔

توسیع پذیری - اعلی درجے کے صارفین کے لیے، مائیکرو پِتھون کو نچلے درجے کے C/C++ فنکشنز کے ساتھ بڑھایا جا سکتا ہے، اس لیے آپ ضرورت پڑنے پر تیز تر لو لیول کوڈ کے ساتھ اظہار کرنے والے ہائی لیول مائیکرو پِتھون کوڈ کو ملا سکتے ہیں۔

MicroPython Python 3 زبان کی ایک قسم ہے۔ یہ یونیورسٹی آف کیمبرج کے ڈیرین پی جارج، پی ایچ ڈی کے دماغ کی اختراع ہے، جس نے 2013 میں مائیکرو پائتھون سے چلنے والا ہارڈویئر ڈویلپمنٹ بورڈ تیار کرنے کے لیے ایک کراؤڈ فنڈنگ ​​ٹیم کے ساتھ کام کیا۔ PyCon) 1.0 میں۔ ڈاکٹر جارج نے MicroPython اور Pyboard کو سپورٹ کرنے کے لیے Micro Python.org ویب سائٹ (www.micropython.org) بھی ترتیب دی۔


آفیشل MicroPython.Org لوگو

MicroPython.Org PyBoard، STM32 کنٹرولر پر مبنی۔


2. MicroPython کیا کر سکتا ہے؟

MicroPython کو تیزی اور مؤثر طریقے سے ایمبیڈڈ سسٹم کنٹرول پروگرام بنانے کے لیے ڈیزائن کیا گیا ہے۔ ایمبیڈڈ سسٹمز کو کسی بھی پروجیکٹ کے طور پر بیان کیا جاسکتا ہے جس میں انجینئرنگ کی ضروریات کو پورا کرنے کے لیے مائیکرو کنٹرولرز کے استعمال کی ضرورت ہوتی ہے۔ عام ایمبیڈڈ سسٹمز عام طور پر سینسرز اور بعض اوقات الیکٹرو مکینیکل ایکچیوٹرز کو مائیکرو کنٹرولرز کے ساتھ انٹرفیس کرنے کے لیے استعمال کرتے ہیں۔ وہ آسانی سے بات چیت کے لیے انسانی مشین کے انٹرفیس آلات سے منسلک ہو سکتے ہیں، لیکن یہ زیادہ خودکار ہیں، اسٹینڈ اکیلے آپریشن یا کلاؤڈ تک ریموٹ رسائی کے لیے۔

بالکل اسی طرح جیسے Arduino بورڈز، MicroPython ہارڈ ویئر اور منسلک آلات کو کنٹرول کر سکتا ہے -- آپ GPIO پن فلیشنگ لائٹس کو کنٹرول کر سکتے ہیں، سوئچ پڑھ سکتے ہیں اور بہت کچھ۔ PWM سگنل چلا سکتا ہے جو سرور اور ایل ای ڈی کو چلا سکتا ہے۔ اینالاگ سینسرز کو ینالاگ سے ڈیجیٹل کنورٹر کے ذریعے پڑھا اور پڑھا جا سکتا ہے۔ I2C یا SPI آلات کے ساتھ بات چیت کرنا بھی آسان ہے۔ آپ کو کچھ بورڈز پر نیٹ ورک اور وائی فائی سپورٹ بھی مل سکتی ہے۔ مائیکرو پِتھون کے پاس دیگر ہارڈ ویئر کو کنٹرول کرنے کے لیے لائبریریاں بھی ہیں، جیسے کہ NeoPixels اور LED سٹرپس، چھوٹے OLED ڈسپلے وغیرہ۔ مختصر میں، MicroPython بہت کچھ کر سکتا ہے!

MicroPython کی حدود کیا ہیں؟

MicroPython کی بہت کم حدود ہیں، اور Arduino جو کچھ بھی کر سکتا ہے وہ MicroPython بورڈز کے ذریعے کیا جا سکتا ہے۔ تاہم، یہ نوٹ کرنا ضروری ہے کہ MicroPython کوڈ اتنا تیز نہیں ہے اور اسے اسی طرح کے Arduino یا دوسرے C/C++ پر مبنی نچلے درجے کے کوڈ سے زیادہ میموری کی ضرورت ہو سکتی ہے، حالانکہ اس سے عام طور پر کوئی فرق نہیں پڑتا ہے کیونکہ رفتار اور میموری کے فرق اتنے بڑے نہیں ہوتے ہیں۔ زیادہ تر ایپلی کیشنز کو متاثر کرتا ہے۔ آگاہ رہیں کہ کوڈ جو وقت یا کارکردگی کے لیے اہم ہے مائیکرو پائتھون میں کام نہیں کر سکتا۔ مثال کے طور پر، MicroPython میں کچھ تیز رفتار سیریل کمیونیکیشن پروٹوکول کو لاگو کرنے کے لیے IO پنوں کو چلانے کے لیے مکمل طور پر سافٹ ویئر کا استعمال بہترین خیال نہیں ہوسکتا ہے۔ تاہم، MicroPython اور نچلے درجے کے C/C++ کوڈ کو مکس کرنے کے طریقے موجود ہیں تاکہ ہمارے پاس دونوں جہانوں میں سے بہترین ہو - بنیادی منطق صاف اور آسانی سے سمجھنے والا MicroPython کوڈ ہے، جبکہ کارکردگی کے لیے اہم حصے لکھے گئے ہیں۔ تیز تر کم سطح کا کوڈ۔

MicroPython زبان زیادہ تر بنیادی Python 3 زبان کو نافذ کرتی ہے، لیکن MicroPython پوری Python 3 معیاری لائبریری کو نافذ نہیں کرتا ہے۔ پائتھون ایک وسیع معیاری لائبریری رکھنے کے لیے جانا جاتا ہے، لیکن اتنی بڑی لائبریری کو صرف کلو بائٹس میموری والے چھوٹے بورڈ پر سکیڑنے کی کوشش کرنا ناممکن ہے۔ اس کے بجائے، MicroPython Python معیاری لائبریری کے کچھ چھوٹے ورژن لاگو کرتا ہے، جو ایک بہترین ترقی کا تجربہ فراہم کرتا ہے۔


ڈس کلیمر: یہ مضمون "الیکٹرانک فاریسٹ" سے دوبارہ شائع کیا گیا ہے، یہ مضمون صرف مصنف کے ذاتی خیالات کی نمائندگی کرتا ہے، ساکوئی اور صنعت کے خیالات کی نمائندگی نہیں کرتا، صرف دوبارہ پیش کیا گیا اور شیئر کیا گیا، املاک دانش کے تحفظ کی حمایت، براہ کرم اصل ماخذ کی نشاندہی کریں۔ اور مصنف، اگر خلاف ورزی ہو تو، حذف کرنے کے لیے ہم سے رابطہ کریں۔



whatsapp

Service Hotline

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950