} برنامه‌نویسی :: شمشاد

داده جمع می‌کنم، بلکه یاد بگیرم زندگی‌ رو !!

۶ مطلب با موضوع «برنامه‌نویسی» ثبت شده است

شروع یک پروژه‌ی AVR با استفاده از avr-gcc و eclipse.

در مطلب قبلی با عنوان "نصب avr-gcc به همراه Eclipse در ویندوز" به نحوه نصب و راه‌اندازی avr-gcc پرداخته شد، در این مطلب به ایجاد یک پروژه ساده با استفاده از avr-gcc و eclipse اشاره می‌شود.

ایجاد پروژه:

برای ایجاد یک پروژه avr در eclipse به مسیر زیر رفته:

File > New > Project...

 

ادامه مطلب...
۱۵ فروردين ۹۷ ، ۱۰:۲۴ ۰ نظر موافقین ۲ مخالفین ۰
Hasan

نصب avr-gcc به همراه Eclipse در ویندوز

معمولا در ایران اکثر کسانی که برای avr برنامه‌نویسی می‌کنند از codvision استفاده می‌کنند. کدویژن یک کامپایلر تجاری هست که برخی از کارها رو آسون کرده واسه همین اکثرا هنگام آموزش AVR از این کامپایلر استفاده می‌شود. من هم در دانشگاه AVR رو با کدویژن یاد گرفتم و چند پروژه‌ای هم با اون انجام دادم. پولی بودن،  نبود جامعه‌ی فعال کاربری و کمبود داکیومنت و کتابخانه سبب شد که کم‌کم برم سمت avr-gcc البته این عامل که کدویژن فقط نسخه ویندوز داشت نیز در این مهاجرت تاثیر زیادی داشت.  avr-gcc برخلاف کدویژن داکیومنت و جامعه کاربری فعال زیادی داره و به راحتی می‌تونید در اینترنت برای همه‌ی سوالات‌تون جواب پیدا کنید. حتی مثال‌های دیتاشیت‌های atmel نیز براساس avr-gcc هست. avr-gcc و مجموعه ابزار پیوستی‌ش رایگان و آزاد هست و در صورت نیاز می‌توانید هر تغییر دلخواهی را در آن‌ها ایجاد کنید. همچنین از دنگ و فنگ کرک خلاص می‌شوید. از تجربه‌های خوبی که من در استفاده از avr-gc داشتم اینه که در زمان کار با کدویژن یک سری باگ‌هایی بود که من اسم‌شون رو جادوگری گذاشته بودم و اصلا نمی‌تونستم منشا‌شون رو پیدا کنم، خوشبختانه با اومدن به سمت avr-gcc این باگ‌ها از بین رفتند.

اما Eclipse، یک زمانی می‌شد ادعا کرد که بهترین IDE موجود هست، الان تعداد IDE های مختلف بسیار زیاد شده که هر کدومشون طرفدارن زیادی دارند، من از خیلی قبل‌تر به Eclips عادت کرده‌ام و واسه همین اکثرا با eclipse کار می‌کنم. اکثر زبان‌های برنامه نویسی رو ساپورت می‌کنه، رو همه سیستم‌عامل‌ها هست، آزاد هست و امکانات پایه و ویژگی‌های خوبی داره و از همه مهمتر برای کار ما یعنی avr، یک پلاگن خوب داره، که کار لینک بین کد و کامپایلر و پروگرامر رو انجام  می‌ده، تنظیمات گرافیکی برا ست کردن فیوز بیت‌‌ها داره البته از لحاظ امکانات گرافیکی به پای کدویزارد کدویژن نمی‌رسه. حالا بریم سراغ نصب‌شون.

نصب avr-gcc:

پروژه‌های زیادی برای پورت کردن avr-gcc به ویندوز هستند که با یک جستجو در گوگل می‌توانید پیداشون کنید، من از winavr استفاده می‌کنم، با اینکه نسبتا قدیی هست و متاسفانه توسعه‌اش هم متوقف شده ولی با این حال هنوز هم کار راه‌انداز هست. winavr مجموعه ابزار کاملی به همراه داره و در صورت تمایل نیازی به نصب eclipse نیست و می‌تونید از IDE خودش استفاده کنید. winavr رو از یکی از لینک‌های زیر دریافت کنید:

دانلود winavr از سایت سورس‌فورج

دانلود winavr از سایت آپلودبوی

ادامه مطلب...
۰۶ فروردين ۹۷ ، ۱۰:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

فشرده‌سازی دایرکتوری‌ها به صورت جداگانه با پایتون

مدتی قبل مطلب "دانلود ترجمه مانگای حمله به تایتان" رو اینجا منتشر کردم، برای آپلود قسمت‌های این مانگا حدود ۱۰۰ دایرکتوری تصویر داشتم که باید زیپ‌شون می‌کردم. برا این که براحتی این ۱۰۰ دایرکتوری رو زیپ کنم یک اسکریپت با پایتون نوشتم. در ادامه مطلب توضیح مختصری در مورد فشرده‌سازی با پایتون می‌دم و سپس اسکریپتم رو میارم. 

فشرده سازی فایل با پایتون:

عمل فشرده‌سازی در پایتون به صورت پیشفرض با ماژول zipfile انجام می‌شود پس در قدم اول ماژول zipfile رو وارد کرده و سپس شی zipfile را می‌سازیم و به‌صورت زیر عمل می‌کنیم:

import zipfile

test_zip = zipfile.ZipFile('test.zip', 'w')
test_zip.write('filename', compress_type=zipfile.ZIP_DEFLATED)

test_zip.close()

در متد write اولین پارامتر مربوط به اسم فایلی (و یا پچی) هست که می‌خواهیم فشرده‌اش کنیم. پارامتر دوم موربوط به متد فشرده‌سازی هست، در پایتون ۲ فقط دو نوع متد فشرده‌سازی داریم که عبارتند از: ZIP_STORED و ZIP_DEFLATED اما بعد از پایتون ۳/۳ متدهای ZIP_BZIP2 و ZIP_LZMA نیز در دسترس هست. 

ادامه مطلب...
۲۴ اسفند ۹۶ ، ۱۰:۱۵ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

نصب کامپایلر gcc در ویندوز

اولین‌ بار هنگام کار روی پایان‌نامه‌م بود که مجبور شدم در ویندوز با ++C برنامه‌نویسی‌ کنم. عادت کردن به کار با gcc و آزاد بودنش سبب شد که در ویندوز هم از gcc استفاده کنم. اخیرا یکی از دوستان در مورد نصب اوپن‌سی‌وی ازم سوال کرده بود، گفتم اینجا ابتدا به نصب gcc اشاره کنم و بعد به نصب اوپن‌سی‌وی به پردازم.

مجموعه کامپایلر‌های گنو

این کامپایلر توسط ریچارد استالمن در سال ۱۹۸۷ برای C منتشر شد. gcc ابتدا سر نام واژه‌های  GNU C Compiler بود و تنها برای زبان سی به کار می‌رفت اما بعدا با اضافه شدن کامپایلرهای زبان‌های سی‌پلاس‌پلاس، فورترن، پاسکال، جاوا، آبجکتیو سی و ایدا به مجموعه، نام آن به GNU Compiler Collection تغیر پیدا کرد. این مجموعه ابتدا منحصرا در سیستم‌های تحت گنو کاربرد داشت اما اکنون در طیف وسیعی از سیستم عامل‌ها و سخت‌افزارها کاربرد دارد. جی‌سی‌سی‌ تحت مجوز گنو جی‌پی‌ال نسخهٔ ۳ منتشر می‌شود، البته با یک بند استثنا، که در آن بند به کاربران اجاز می‌دهد تا بتوانند علاوه‌بر نرم‌افزارهای آزاد در نرم‌افزارهای‌ غیر چی‌پی‌ال حتی نرم‌افزارهای انحصاری هم از جی‌سی‌سی استفاده کنند. 

از پروژه‌های معروف و موفق که در پورت gcc به ویندوز فعال هستند می‌توان به Cygwin، MinGW و Mingw-w64 اشاره کرد. من قبلا از Cygwin و MinGW به صورت همزمان استفاده کرده‌ام، در نهایت از MinGW راضی‌تر بوده‌ام و در این مدتی که باهاش کار می‌کنم به مشکلی برنخورده‌ام. 

نصبMinGW

MinGW در واقع Minimalist GNU for Windows، یک محیط توسعه‌ی مینیمال برای برنامه‌های کاربردی ماکروسافت ویندوز هست. فقط توجه شود که بنا به اعلام سایت سازنده چنان که قصد برنامه‌نویسی تحت استاندارد پازیکس (POSIX) را داشته باشید MinGW به کار شما نخواهد آمد و در این صورت توصیه می‌شود که از  Cygwin و Mingw-w64 استفاده کنید. عملیات نصب MinGW  به صورت آنلاین هست، برای دانلود نصاب آن از دو لینک زیر می‌توانید اقدام کنید. 

دانلود از سایت  sourceforge

دانلود از سایت  آپلودبوی

ادامه مطلب...
۰۵ اسفند ۹۶ ، ۱۰:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

استفاده از چندین نسخه پایتون به‌صورت همزمان در ویندوز

گاها نیاز می‌شه از چند نسخه مختلف پایتون در یک سیستم استفاده کرد، مخصوصا وقتی که از پایتون 2 و پایتون  3 به صورت همزمان استفاد می‌شود. انجام این‌کار تو لینوکس نسبتا ساده هست ولی در ویندوز به ابزاری به اسم Python Launcher نیاز هست. این برنامه توسط Vinay Sajip نوشته شده است. و از نسخه 3.3 به بعد به همراه پایتون از طریق نصاب نصب می‌شود، البته گاها در بعضی نسخه‌ها این ابزار به صورت آپشن بوده و باید هنگام نصب توسط کاربر انتخاب شود.  python Luncher  شامل دو فایل py.exe (که برای اجرای python.exe به کار می‌رود.) و pyw.exe (که برای اجرای pythonw.exe به کار می‌رود.) هست. چنان که این ابزار به همراه پایتون نصب شود، محل قرارگیری این دو فایل در دایرکتوری اصلی Windowsخواهد بود.

Python Launcher

 همچنین می‌توان این برنامه را با دانلود از سایت نویسنده برنامه نصب کرد.  صفحه دانلود Python Launcher از سایت اصلی:

https://bitbucket.org/vinay.sajip/pylauncher/downloads/

خود من در دانلود این برنامه مشکل داشتم برا همین این فایل‌ها رو آپلود کردم تا مورد استفاده دوستان قرار بگیرد. لینک دانلود نصاب Python Launcher نسخه 64 بیتی:

http://uploadboy.me/mz7kg0wjpeev/Python_launcher-1.0.1.6.amd64.msi.html

لینک دانلود نسخه 32 بیتی:

http://uploadboy.me/f25t2nzvqst2/Python_launcher-1.0.1.6.msi.html

باید بعد از نصب مطمئن شوید که دایرکتوری برنامه به متغیر path سیستم اضافه شده است، در غیر این صورت به صورت دستی این کار را بکنید.

استفاده از  Python Launcher:

قالب کلی به این صورت است که ابتدا فرمان "py" سپس نسخه پایتون به صورت "y.x-" وارد می‌شود. بطور مثال:

py -2.7

چنان که قصد استفاده از آخرین نسخه از پایتون 3 و یا 2 نصب شده را دارید نیاز به زدن قسمت اعشار نسخه نیست:

py -3

 با زدن آرگومان "32-" و یا "64-" می‌توانید نسخه 32 بیتی یا 64 بیتی پایتون را انتخاب کنید:

py -2 -32 MyScript.py

تنظیم Python Launcher:

به استناد داکیومنت‌های پایتون در بعضی نسخه‌ها یک فایل کانفیگ به اسم py.ini نیز هست که می‌توان از طریق آن تنظیمات جالب و کاربردی از طریق این برنامه انجام داد. آدرس فایل کانفیگ در ویندوزهای بالاتر از ویستا:

%USERPROFILE%\AppData\Local

و در ویندوز xp:

%USERPROFILE%\Local Settings\Application Data

و چنان که از طریق نصاب خود Python Launcher برنامه را نصب کرده باشید، فایل کانفیگ در محل نصب و در کنار فایل py.exe خواهد بود. برای من فایل کانفیگ به همراه پایتون نصب نشده بود و برای استفاده از امکان تنظیم، Python Launcher به صورت مجزا نصب کردم. اولین تنظیم مربوط به انتخاب نسخه پیش‌فرض لانچر هست: 

[defaults]
; Uncomment out the following line to have Python 3 be the default.
python=3.6

تنظیمات بعدی به صورت انتخابی بوده و می توانید هر دستور دلخواه با هر آرگومان دلخواه را برای لانچر تعریف کنید، بعنوان مثال من هنگام استفاده از virtual environment برای این که از نسخه مورد نظرم استفاده کنم، تنظینات زیر را در فایل کانفیگ اعمال کرده‌ام:

[commands]

venv2= "C:\Python27\Scripts\virtualenv.exe" 
venv3= "C:\Users\UserName\AppData\Local\Programs\Python\Python36\Scripts\virtualenv.exe"

حال وقتی که قصد استفاده از virtual environment با پایتون 3.6 را دارم، دستور زیر را می‌زنم:

py -venv3

با این امکان می‌توان بسیاری از دستورات طولانی و پرکاربرد را کوتاه کرد.

منابع

https://www.python.org/dev/peps/pep-0397/

https://docs.python.org/3/using/windows.html

https://bitbucket.org/vinay.sajip/pylauncher

۰۲ آذر ۹۶ ، ۱۵:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

نصب OpenCV در ویندوز برای پایتون

چند روز پیش یکی از دوستانم که اخیراً سایتی رو راه اندازی کرده بهم تلفن کرد گفت: “فتوشاپ داری؟ حدود ۳۰۰ تا عکس دارم که می خوام برا گالری سایت اندازه هاشونو تغییر بدم همچنین اسم سایت رو روشون واترمارک کنم، بلدی چطور میشه کاری کرد که فتوشاپ به صورت اتوماتیک این تغییرات رو همه ی عکس ها اعمال کنه؟” ، بهش گفتم: “بلد نیستم ولی CS3 رو دارم، برات میارم”. با خودم فکر کردم که یه برنامه بنویسم خودش مسیر دایرکتوری عکس ها و قالب واترمارک رو بگیره و تغییرات رو روشون اعمال کنه، از اونجایی که کار کردن تو سی پلاس پلاس کمی دردسر داشت و مجبور بودم  برنامه رو برا ویندوز کامپایل کنم، ترجیح دادم با پایتون بنویسم، اسکریپت رو نوشتم و به خوبی هم جواب داد، بهش تلفن کردم که “عکس ها رو بیار سر قرار، یه برنامه نوشته ام همونجا برات با لپتاپ تبدیل می کنم”. اسکریپت رو فرستادم به لپتاپ و راهی شدم.
خوشحال بودم که می تونستم مشکل دوستمو در کسری از دقیقه حل کنم، عکس ها رو ریختم رو لپتاپ، همینکه اسکریپت رو اجرا کردم با پیغام ناشناخته بودن cv2 مواجه شدم، یادم افتاد OpenCV رو برا پایتون آماده نکرده ام. برگشتنی با خودم فکر می کردم عادت کردن به کار تو لینوکس همچین دردسر هایی هم داره معمولا تو لینوکس نیازی به انجام  این جور کارها نیست وقتی کتابخانه ای رو از مدیریت بسته ها نصب می کنی خودش بسته های پیشنیاز را هم نصب و تنظیم می کنه و کل کار با زدن چند تا تیک حل میشه.

نصب OpenCV در ویندوز برای پایتون

توجه: از آنجایی که بسته های باینری ۶۴ بیتی برای  NumPy و SciPy  به صورت رسمی از طرف توسعه دهنده ارائه نشده اند پیشنهاد می شود  از پایتون ۳۲ بیتی در ویندوزتان استفاده کنید، چنانکه بر استفاده از نسخه ۶۴ بیتی اصرار دارید می توانید بسته های کامپایل شده ۶۴ بیتی کتابخانه های بالا را در اینجا بیابید.

برنامه های پیش نیازی که باید دانلود کرد:

Python : می توانید آخرین نسخه Python 2.7 را  از سایت پایتون دانلود کنید.
NumPy : یک بسته پایه برای انجام محاسبات علمی در پایتون است که امکان کار با آرایه ها و جبر خطی را گسترش می دهد، می توانید از اینجا دانلود کنید.
OpenCV 2.4 : آخرین نسخه را از اینجا دانلود کنید.

بسته های پیشنهادی که نصب آنها ضروری نیست ولی در اکثر منابع و کاربردها از آن ها در کنار OpenCV  استفاده می شود:

matplotlib : کتابخانه ای که امکان رسم نمودار را در پایتون فراهم می کند، دانلود از اینجا.
SciPy : یک کتابخانه برای انجام اعمال پیشرفته ریاضی در پایتون، دانلود از اینجا.

نصب :

۱. فرآیند نصب Python را بدون تغییری در مراحل پیشفرض نصاب نصب کنید، به صورت پیشفرض در مسیر  C:\Python27  نصب خواهد شد.

۲.حالا بسته های SciPy ، NumPy  و  matplotlib را نصب کنید، دوباره اجازه دهید همه چیز به صورت پیش فرض به جلو برود، نصاب مسیر نصب پایتون را پیدا کرده و فایل های خود را در آن مسیر می ریزد.

۳. فایل دانلودی OpenCV را اجرا کنید و برای استخراج فایل ها مسیر درایو C را وارد کنید.

۴. حال فایل cv2.pyd موجود در مسیر C:\opencv\build\python\2.7 را در آدرس C:\Python27\Lib\site-packages کپی کنید.

۵. اکنون “Python IDLE” ( از  Start > All Programmes > Python 2.7 > Python IDLE ) را اجرا کنید و آنچه در زیر آمده است را تایپ کنید:

>>> import cv2
>>> print cv2.__version__

اگر  در خروجی بدون هیچ خطایی عبارت زیر را داشته باشید (البته بسته به نسخه نصبی OpenCV)، کار تمام است:

>>> 2.4.1
 
منابع (+) (+)

۰۱ خرداد ۹۳ ، ۲۱:۳۲ ۲ نظر موافقین ۱ مخالفین ۰
Hasan