رفتن به مطلب
انجمن الکترولب

Ali Ezzati

Administrators
  • تعداد ارسال ها

    10
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در سایت

0 Neutral
  1. نصب OpenCV بر روی رزبری پای

    برای نصب opencv3 بهتر است از SD card با حجم 16 گیگابایت استفاده کنید!! 1- فضای SD card را با دستورات زیر ازاد کنید: sudo raspi-config اولین گزینه را با enterانتخاب کنید بعد از اتمام چنین پیامی ظاهر خواهد شد enter را بزنید با زدن esc از صفحه خارج شوید و یکبار دستگاه را با دستور زیر reboot کنید : sudo reboot 2- سیستم خود را با دستورات زیر اپدیت کنید: sudo apt-get update sudo apt-get upgrade sudo rpi-update دستگاه را با دستور زیر ریبوت کنید sudo reboot 3- ابزار cmake را با دستور زیر نصب کنید: sudo apt-get install build-essential cmake cmake-curses-gui pkg-config 4- کتابخانه های مورد نیاز را با دستور زیر نصب کنید : sudo apt-get install \ libjpeg-dev \ libtiff5-dev \ libjasper-dev \ libpng12-dev \ libavcodec-dev \ libavformat-dev \ libswscale-dev \ libeigen3-dev \ libxvidcore-dev \ libx264-dev \libgtk2.0-dev sudo apt-get install libatlas-base-dev gfortran 5- opencv3 را با دستورات زیر دانلود میکنیم : wget --no-check-certificate https://github.com/opencv/opencv/archive/3.2.0.zip -O opencv_source.zip wget --no-check-certificate https://github.com/opencv/opencv_contrib/archive/3.2.0.zip -O opencv_contrib.zip فایل ها دانلود شده را با دستور زیرunzip کنید: unzip opencv_source.zip unzip opencv_contrib.zip 6- درون فایل opencv-3.2.0 یک فایل با نام build بسازید: cd opencv-3.2.0 mkdir build cd build تنظیمات cmake را با دستورات زیر انجام دهید : cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D BUILD_WITH_DEBUG_INFO=OFF \ -D BUILD_DOCS=OFF \ -D BUILD_EXAMPLES=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_opencv_ts=OFF \ -D BUILD_PERF_TESTS=OFF \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules \ -D ENABLE_NEON=ON \ -D WITH_LIBV4L=ON \ در انتها چنین چیزی باید نمایش داده شود در غیر این صورت دستور بالا را دوباره اجرا کنید و به ارور ها دقت کنید و انان را رفع کنید !!!!! دستور زیر را برای نصب opencv اجرا کنید: دقت کنید که دستور –j3 به معنی ان است که برای نصب از 3 هسته استفاده کن برای سرعت بخشیدن میتوان از –j4 استفاده کرد و به علت داغ کردن raspberry pi حتما یک سیستم خنک کننده (یک فن کوچک) برای ان در نظر بگیرید اگر سیستم خنک کننده ای ندارید از –j2 استفاده کنید !!!!! make –j3 منتظر بمانید تا نصب تمام شود این کار مقداری طول خواهد کشید!!!!!! 7- برای نصب کتابخانه های opencv3 دستورات زیر را اجرا کنید : sudo make install sudo ldconfig 8- حالا opencv3 نصب شده است و ان را تست میکنیم : دقت کنید که opencv3 بر روی python3 نصب شده است!!!!! cd python3 import cv2 print(cv2.__version__) ضمیمه 1: بر روی سیستم عامل raspbian ، python 2 به صورت پیشفرض قرار دارد برای تغییر دادن پیشفرض به python 3 دستور زیر را اجرا کنید: update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1 حال ورژن پایتون پیشفرض 3.4.2 شده است . ضمیمه 2: اگر از دوربین خود raspberry pi برای پردازش تصویر استفاده میکنید و میخواهید از تابع خود opencv برای دریافت فریم استفاده کنید(cv2.VideoCapture(0)) نیاز است تا درایور Video4Linux را نصب کنید از دستورات زیر برای نصب درایور استفاده کنید: sudo apt-get -y install libv4l-dev v4l-utils sudo modprobe bcm2835-v4l2 بهتر است بعد از انجام تمامی این مراحل و نصب opencv3 از SD card خود image بگیرید تا برای بعدا مستقیما سیستم عامل دارای opencv3 را نصب کنید و در وقت صرفه جویی کنید!!! نویسنده: شهاب نیکخو
  2. راه اندازی ماژول ESP8266 WIFI با میکروپایتون

    مرحله ۳ پیدا کردن پوت سریالی که به کامپیوتر وصل است برای فهمیدن اینکه چه پورت سریالی به بورد esp8266 اختصاص یافته از دستور لینوکسی dmesg | grep tty استفاده کنید.
  3. راه اندازی ماژول ESP8266 WIFI با میکروپایتون

    پایتون یک زبان برنامه‌نویسی همه منظوره، سطح بالا، شیءگرا و مفسر است. که قابلیت یادگیری آسان آن را به یکی از فراگیر ترین زبان های برنامه نویسی تبدیل کرده است. می خواهیم از این زبان برنامه نویسی برای برنامه نویسی ماژول ESP8266 استفاده کنیم. برای این منظور ابتدا باید فریمور Micro python بر روی ESP8266 نصب شود. برای راحتی کار می توانید از برد NodeMCU و یا برد های مشابه که چیب تبدیل USB به سریال را نیز بر روی خود دارند استفاده کنید. اول از همه اینکه من از لینوکس اوبونتو برای ادامه آموزش استفاده میکنم ولی تفاوت چندانی بین استفاده از ویندوز و یا لینوکس نیست و به راحتی می توانید از ویندوز نیز برای دنبال کردن این آموزش استفاده کنید. بعد از اتمام مراحل فلش کردن به وسیله ویندوز رو هم اضافه میکنم!منتظر باشید یکم مرحله ۱ دانلود فریمور میکروپایتون برای ESP8266 برای دانلود به صفحه دانلود میکروپایتون بروید سه نسخه برای دانلود ESP8266 در دسترس است که به نا به توصیه خود وبسایت میکروپایتون نسخه Stable firmware builds for 1024kb modules and above رو دانلود کنید. مرحله ۲ نصب esptool برای فلش کردن esp8266 برای نصب esptool که یک برنامه نوشته شده به زیان پایتون است نیاز یه برنامه pip دارید که در نسخه های جدید پایتون نصب شده (و نیاز به کار خاصی نیست ولی اگر نبود هم به راحتی قابل نصب میباشد در صورتی که کسی مشکل داشت پیام بده راهنمایی میکنم )برای نصب دستور زیر رو وارد کنید. sudo pip install esptool
  4. راه های مختلفی برای استفاده از ماژول ESP8266 وجود داره که در این پست معرفی ماژول WiFi – وای فای ESP8266 همشون رو به جز میکروپایتون معرفی کردم یک دلیل برای معرفی نکردنش هم کامل نبودن میکروپایتون برای ESP9266 بود در ادامه این تاپیک نحوه راه اندازی میکروپایتون روی esp8266 بررسی میکنیم و به ترتیب دستور هایی رو که پشتیانی میکنه رو بررسی میکنم
  5. سلام واقعیت اینه که من هنوز به طور کامل به زبان C مسلط نیستم و برای کارکردن حرفه ای با میکروکنترلر ها و نوشتن برنامه های خوب باید به این زبان تسلط خوبی داشت من قبلا سعی کردم این زبان رو یادبگیرم و روش های مختلفی رو هم امتحان کردم. و دربارش در الکترولب نوشتم. نمونش در این پست چند منبع برای یادگیری زبان C معرفی کردم. یا در این قسمت سعی کردم با استفاده از کتاب دایتل به نام How to program یادبگیرم و در الکترولب بنوسیم. و قبل از این ها از زبان C قمی استفاده کردم. ولی هیچ یک از این کتاب ها رو نتونستم ادامه بدم تا این که با کتاب The C Programming Language, Ansi C آشنا شدم این کتاب رو خالقان زبان برنامه نویسی C نوشتند نسبت به کتاب های دیگه خلاصه تر هستش و چون کتاب رو کسی نوشته که خودش زبان C رو توسعه داده و کامل به زبان مسلط است کتاب خیلی جالب و خوبی هستش تا اینجا 3 فصل از کتاب رو خوندم و قراره اینجا نکاتی که یادگرفتم رو بنویسم. شاید به درد شما هم خورد! اول از همه دانلود کتاب آموزش C : من به کتاب هایی که با فرمت epub در اینرنت موجود هست علاقه دارم و خیلی طول کشید تا فرمت epub کتاب The C Programming Language, Ansi Cرو پیدا کنم کتاب هایی که با این فرمت منتشر میشند میشه به راحتی در گوشی هوشمند مطالعه کرد چون قابلیت تنظیم فونت و اندازه قلم رو دارند. دانلود کتاب The C Programming Language, Ansi C برای خواندن این کتاب در ویندوز یا لینوکس می توانید افزونه epub reader را در فایرفاکس نصب کنید و از خواندن کتاب لذت ببرید. و برای سیستم عامل اندروید از برنامه moon+ reader استفاده کنید. خب برای یادگیری یک زبان برنامه نویسی جدید بهترین روش نوشتن برنامه به این زبان است. برای نوشتن برنامه باید محیطی باشد که کد در آن نوشته شود کامپایل و آماده اجرا شود من قبلا نحوه اجرا و کامپایل برنامه C در محیط توسعه eclipse را توضیح داه بودم. ولی بنا به دلایلی الان از محیط توسعه code lite استفاده می کنم. نصب و استفاده از Code lite: قبل از نصب code lite باید یک کامپایلر زبان C در سیستم عامل شما نصب شده باشد. من استفاده از کامپایلر GCC را پیشنهاد می کنم می توانید آخرین نسخه از این کامپایلر را از این سایت دانلود کنید دانلود کامپایلرGCC نکته ای باید هنگام نصب توجه کنید اینه که مسیر نصب نرم افزار را به C:\MinGW تغییر دهید مثل شکل زیر بعد از نصب GCC برنامه Code lite رو از لینک زیر دانلود و نصب کنید. دانلود محیط توسعهCoce lite برنامه را نصب کنید. توضیح یا نکته ی خاصی ندارد. آماده کردن برنامه Code lite برای اجرای اولین کد: برای تست محیط کاربری برای اولین بار باید این مسیر رو طی کنید. برای شناساندن کامپایلر به Codelite: از منوی setting گزینه Build Setting را انتخاب کنید. در پنجره ی باز شده روی دکمه add compilers کیلک کنید و گزینه ی scan computer for installed compiler را انتخاب کنید. در پنجره باز شده روی MinGW کیلک کنید و OK را بزنید. برای ایجاد پروژه و اجرای برنامه: در صفحه ای که باز میشه روی New Workspace کلیک کنید. در پنجره ای که باز میشه گزینه ی ++C را انتخاب کنید. اسم و محل ذخیره work space را انتخاب کنید. از منوی file>new>new project را انتخاب کنید. در پنجره باز شده گزینه ی simple executable (gcc) را انتخاب کنید. نام پروژه را انتخاب کنید. از منوی سمت فایل های پروژه را می بنید فایل main.c را باز کنید. برنامه hello world در این فابل نوشته شده برای اجرای برنامه کلید های ترکیبی Ctrl-f9 را فشار دهید. برنامه شما اجرا می شود. اولین و مهم ترین قدم در آموزش زبان جدید آشنایی با سیستم عامل و نحوه ایجاد و کامپایل و اجرای برنامه است. اگر این مرحله را یاد بگیرید می توانید به راحتی مراحل بعدی را طی کنید. من سعی می کنم هر هفته یک قسمت از آموزش C را تا تمام شدن کتاب داشته باشم.
  6. معرفی خانواده ی میکروکنترلر STM8

    در الکترولب مطلبی در مورد میکروکنترلر های 8 بیتی STM8 نداشتیم با توجه به قیمت بسیار مناسب و گسترش استفاده از این میکرو کنترلر ها سعی خواهیم کرد مطالب مربوط به این میکروکنترلر را هم پوشش دهیم. معرفی خانواده ی میکروکنترلر Stm8 این خانواده از تراشه­ های میکروکنترلر با توجه به خصوصیات طراحی بسیار عالی و متکی بر فناوری­ های برتر در طراحی کاربرد­های گسترده در صنعت را دارد و در طول 10 سال گذشته بصورت چشمگیری مورد بهره ­برداری قرار گرفته است هرچند در کاربردهای عمومی چندان شناخته نشده ، شاخه­ های اصلی میکرو­کنترولرهای خانواده STM8 عبارتند از : STM8AF این سری از محصولات با توجه به قابلیت همه منظوره بودن بطور گسترده در صنایع خودروسازی مورد استفاده قرار می­گیرد. STM8AL این سری با توان بسیار پایین در حدود نانو وات عمل مینماید و در کاربردهای خودروسازی و فضایی و همچنین صنایع نظامی کاربرد گسترده­ای دارد. STM8L این سری با توان مصرفی پایین که کاربردهای عمومی در صنایع را پوشش می­دهد. STM8S سری عمومی و اصلی خانواده میکرو­های STM8 که بصورت عمومی بکار برده میشود و در صنایه لوازم خانگی کاربرد گسترده­ای دارد. هسته اصلی میکروکنترولر های STM8 میکرو­های 8 بیتی STM8 دارای یک هسته توسعه یافته با کارآیی بسیار عالی 8 بیتی و قابلیت کنترل ابزارهای جانبی کاربردی (Peripherals) می­باشد ، این خانواده نسبتا کم عضو با فناوری 130نانومتری کمپانی ST و متکی بر حافظه غیرفرار (Non-Volatile)طراحی گردیده است. قابلیت سرعت محاسباتی بی نظیر این خانواده امکان دستیابی به سرعت 1.6 محاسبه در هر سیکل پردازشی با سرعت حداکثر 24Mhz را امکان پذیر می­نماید که اطمینان از عملکرد صحیح و مطمئن در سرعت پایین را مقدور می­نماید که در تناسب با توان پردازشی سایر میکروکنترلر­های 8 بیتی مزیت مهمی محسوب میگردد. انعطاف پذیری در طراحی ساختاری امکان نویز پذیری تراشه را به حداقل رسانیده است ، که نتیجه کلی این طراحی صحیح ، مصرف توان کم ، نویز­پذیری حداقل و صحت در عملکرد کلی می­باشد، و نوآوری خاص در سیستم کلاک این میکرو سرعت عمل در کنترل و همگامی با محصول نهایی را مقدور نموده، مانند زمان بیداری بسیار کوتاه در زمان 4µs که در بین میکروهای 8 بیتی کاملا منحصر به فرد می­باشد. و سیسم توزیع کلاک این میکروکنترولر امکان پردازش همزمان به منظور انجام محاسبات و کنترل کلاک خروجی­ ها مانند سیگنال PWM را امکان پذیر می­نماید. مشخصات عمومی خانواده میکروکنترولرهای STM8 تنوع محصولات در خانواده میکرو کنترولر STM8 و بررسی قابلیتهای موجود در هر خانواده تصویر بالا توضیحات کاملی از توان مصرفی ، قابلیت استفاده از قطعات جانبی مثل lcd و توانایی میکروکنترلر (performance) و .. در سری stm8 را به ما میدهد. توانمندی­های بارز و نوین در خانواده STM8 : منبع: levinic.com
  7. در قسمت اول با نحوه ایجاد و استفاده از ربات تلگرام مورد بررسی قرار گرفت. در قست پایانی آموزش اتصال esp6266 به ربات تلگرام نحوه اضافه کردن بردهای esp8266 به نرم افزار آردوینو را خواهیم داشت در ادامه نحوه اضافه کردن کتابخانه های لازم برای برنامه ارتباط esp8266 با تلگرام را توضیح خواهم داد و در آخر توضیح و راه اندازی پروژه شرح داده خواهد شد با الکترولب همراه باشید. اضافه کردن بردهای مبتنی بر ESP8266 به نرم افزار آردوینو برای آن که بتوانید بر روی این ماژول توسط IDE آردوینو برنامه نویسی کنید باید درایورها و بورد آن را بر روی نرم افزار آردوینو نصب کنید.برای این منظور وارد نرم افزار آردوینو شوید. سپس از قسمت File وارد Preferences شوید. سپس لینک زیر را کپی کنید و در پنجره Preferences در قسمت Additional Boards Manager URLs ، لینک را paste کنید و OK را بزنید. http://arduino.esp8266.com/stable/package_esp8266com_index.json سپس از قسمت Tools وارد Boards Manager… شوید. سپس در لیست نمایش داده شده به دنبال esp8266 by ESP8266 Community بگردید و آن را نصب کنید. م نتظر بمانید تا عملیات نصب تکمیل شود. برای استفاده از ماژول وای فای ESP8266 باید در لیست برد ها برد متناسب با ماژول خود را انتخاب کنید. اضافه کردن کتابخانه های مورد نیاز ارتباط با تلگرام و اینترنت: برای کامپایل کردن برنامه اتصال ESP8266 به ربات تلگرام نیاز به سه کتابخانه ArduinoJson , WiFiclientSecure , UniversalTelegramBot دارید که به دو روش می توانید این کتابخانه ها را به برنامه آردوینو خود اضافه کنید: روش اول استفاده از قسمت manage library برنامه آردوینو: در این روش می توانید با جست و جو کردن نام کتابخانه کتابخانه مورد نظر را پیدا کرده و نصب کنید. روش دوم کپی کردن فایل کتابخانه ها به پوشه آردوینو در این روش فایل کتابخانه ها را دانلود کرده و در مسیر کتابخانه های آردوینو قرار میدهید. دانلود کتابخانه های مورد نیاز اتصال ESP8266 به تلگرام فایل های دانلود شده را به مسیر زیر کپی کنید. C:\Users\ezzati\Documents\Arduino\libraries برنامه آردوینو اتصال ESP8266 به ربات تلگرام #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <UniversalTelegramBot.h> // Initialize Wifi connection to the router char ssid[] = "***"; // نام روتر وایفای char password[] = "123456789"; // پسورد وایفای // Initialize Telegram BOT #define BOTtoken "441099696:AAE**************nBb9Qp4NnqpH2XvuE" // توکن ربات تلگرام WiFiClientSecure client; UniversalTelegramBot bot(BOTtoken, client); int Bot_mtbs = 1000; //mean time between scan messages long Bot_lasttime; //last time messages' scan has been done bool Start = false; const int ledPin = D2; int ledStatus = 0; void handleNewMessages(int numNewMessages) { Serial.println("handleNewMessages"); Serial.println(String(numNewMessages)); for (int i=0; i<numNewMessages; i++) { String chat_id = String(bot.messages[i].chat_id); String text = bot.messages[i].text; String from_name = bot.messages[i].from_name; if (from_name == "") from_name = "Guest"; if (text == "/ledon") { digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level) ledStatus = 1; bot.sendMessage(chat_id, "Led is ON", ""); } if (text == "/ledoff") { ledStatus = 0; digitalWrite(ledPin, LOW); // turn the LED off (LOW is the voltage level) bot.sendMessage(chat_id, "Led is OFF", ""); } if (text == "/status") { if(ledStatus){ bot.sendMessage(chat_id, "Led is ON", ""); } else { bot.sendMessage(chat_id, "Led is OFF", ""); } } if (text == "/start") { String welcome = "به برنامه ارتباط اینترنت اشیاء با ربات تلگرام خوش آمدید" + from_name + ".\n"; welcome += "برنامه نمونه برای مدیریت ال ای دی.\n\n"; welcome += "/ledon : جهت روشن کردن ال ای دی از این دستور استفاده کنید.\n"; welcome += "/ledoff : جهت خاموش کردن ال ای دی از این دستور استفاده کنید.\n"; welcome += "/status : چنانچه نمیدانید ال ای دی در چه وضعیتی است از این دستور استفاده کنید.\n"; bot.sendMessage(chat_id, welcome, "Markdown"); } } } void setup() { Serial.begin(115200); // Set WiFi to station mode and disconnect from an AP if it was Previously // connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); // attempt to connect to Wifi network: Serial.print("Connecting Wifi: "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(""); Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); pinMode(ledPin, OUTPUT); // initialize digital ledPin as an output. delay(10); digitalWrite(ledPin, LOW); // initialize pin as off } void loop() { if (millis() > Bot_lasttime + Bot_mtbs) { int numNewMessages = bot.getUpdates(bot.last_message_received + 1); while(numNewMessages) { Serial.println("got response"); handleNewMessages(numNewMessages); numNewMessages = bot.getUpdates(bot.last_message_received + 1); } Bot_lasttime = millis(); } } کد زیر برنامه ارتباط برای انواع برد آردوینو با ربات تلگرام میباشد. در این برنامه کامندهای ربات تلگرام تعریف شده‌اند. دو کامند /ledon و /ledoff که به پین متصل شده در برد فرمان میدهد. این کامندها به کامندهای مورد نیاز شما قابل تغییر است. یوزنیم و پسور وای فای + توکن ربات تلگرام را در کدها وارد کنید. سپس روی برد آپلود کنید. پس از آن همانند تصویر زیر وارد ربات تلگرام که ساخته‌اید بشوید و Start را بزنید. سپس ۳ دستور که در کدهای بالا تعریف شده است برای شما برگردانده میشود. بعد از اتصال به مودم IP اختصاص یافته به برد ESP8266 در ترمینال سریال برنامه آردوینو نمایش داده میشود. بعد از این مرحله کافیست نام رباتی که ایجاد کردید را در تلگرام جست و جو کنید و strat را بزنید. با زدن هر یک از دستور ها عمل متناظر با دستور روی ماژول وای فای اجرا میشود برای سوال در این مورد می توانید به انجمن الکترولب مراجعه کنید.
  8. در این مطلب ماژول RFID RC522 را بررسی می کنیم و به طور خلاصه راه اندازی ماژول RFID RC522 با آردوینو را توضیح می دهیم. ماژول های RFID به منظور خواندن و نوشتن کارت ها یا تگ های RFID مورد استفاده قرار میگیرند. کارت های مغناطیسی امروزه در زندگی روزمره ما به وفور در دستگاه های مختلفی استفاده می گردند.تگ و يا کارت RFID، شامل يک مدار الکترونيکی است زمانی که تگ در نزدیکی کدخوان ( RFID Reader ) قرار می گيرد، میدان مغناطيسی تولید شده توسط کد خوان باعث فعال شدن تگ می گردد. و تگ اقدام به ارسال داده از طریق پالس های راديويی می نماید.سیستم های RFID دارای فرکانس های کاری متنوعی هستند که از این بین دو فرکانس 125 کیلوهرتز و 13.56 مگاهرتز متداول تر می باشند. این ماژول در محدوده فرکانسی 13.56Mhz کار کرده و علاوه بر خواندن اطلاعات می تواند اطلاعات جدیدی را بر روی حافظه ی کارت ذخیره نماید. نحوه اتصال ماژول به برد آردوینو ما از پروتکل SPI برای اتصال آردوینو و ماژول RC522 استفاده میکنیم. ترتیب اتصال پایه ها در تصویر پایین مشخص است. ترتیب اتصال پایه ها برای اتصال راه اندازی ماژول RFID RC522 به آردوینو نیاز به اتصال 7 پین است در این مورد به پین IRQ نیازی نداریم. در ادامه کتابخانه مورد نیاز برای راه اندازی این ماژول را دانلود کنید و در برنامه آردوینو اضافه کنید. دانلود کتابخانه ماژول RFID RC522 با آردوینو برنامه پایین را روی برد آردوینوی خودتان آپلود کنید. #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522(SS_PIN, RST_PIN); void setup() { SPI.begin(); mfrc522.PCD_Init(); } void loop() { RfidScan(); } void dump_byte_array(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? ” 0″ : ” “); Serial.print(buffer[i], HEX); } } void RfidScan() { if ( ! mfrc522.PICC_IsNewCardPresent()) return; if ( ! mfrc522.PICC_ReadCardSerial()) return; dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); با استفاده از این کد می توانید تگ RFID خود را بخوانید این اطلاعات روی پورت سریال نمایش داده می شود. نمونه کد دوم برای ماژول RFID RC522 در نمونه کد اول ما شماره هر تگ را خواندیم در نمونه کد دوم از این اطلاعات برای تشخیص کارت ها استفاده میکنیم. به این صورت که در صورت خواندن تگ اول توسط ماژول عبارت 1 در پورت سریال نمایش داده می شود. و هر تعداد تگ تعریف شده باشد این روند ادامه میابد. با تغییر دستور شرط if می توانید برای هر کارت عملیات خاصی را تعریف کنید. #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522(SS_PIN, RST_PIN); int RfidNo = 0; void setup() { SPI.begin(); mfrc522.PCD_Init(); } void loop() { RfidScan(); } void dump_byte_array(byte *buffer, byte bufferSize) { Serial.print(“~”); if(buffer[0] == 160){RfidNo = 1;Serial.print(RfidNo);} if(buffer[0] == 176){RfidNo = 2;Serial.print(RfidNo);} if(buffer[0] == 208){RfidNo = 3;Serial.print(RfidNo);} if(buffer[0] == 224){RfidNo = 4;Serial.print(RfidNo);} if(buffer[0] == 240){RfidNo = 5;Serial.print(RfidNo);} Serial.print(“!”); while(1){getFingerprintIDez();} } void RfidScan() { if ( ! mfrc522.PICC_IsNewCardPresent()) return; if ( ! mfrc522.PICC_ReadCardSerial()) return; dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); } منبع: adafruit.com الکترولب
  9. سیستم عامل رزبری پای شما فریز شده است. و یا به وسیله یک کد با پردازش سنگین و اشتباه درگیر شده است در هر صورت در این مواقع باید اتصالات تغذیه رزبری پای خود را قطع و دوباره وصل کنید قطع و وصل کردن کابل micro USB ایده آل نیست و در طول زمان به پورت Micro USB رزبری پای آسیب می رساند رزبری پای به یک کلید reset نیاز دارد. ساخت یک سوئیچ Reset برای رزبری پای اضافه کردن یک کلید و سوئیچ reset برای رزبری کاری ساده است.در ادامه دو روش این کار را توضیح میدهم ریست کردن به وسیله GPIO Reset = جامپر + Gpio به وسیله یک جامپر مادربرد میتوانید درخواست خود را به سیستم ارسال کنید. جامپر همانند دستور زیر عمل خواهد کرد : sudo shutdown -h now البته با کمک یک اسکریپت این کار را انجام خواهیم داد. در همه مدل های رزبری gpio3 یا پین های ۵ و ۶ میتوانند این کار را برای شما انجام دهند. این اسکریپت را از گیتهاب کپی کرده و به رزبری پای خود انتقال دهید. سپس دسترسی های فایل را همانند زیر تغییر دهید. sudo chmod 755 raspi_gpio_actions.sh then sudo ./raspi_gpio_actions.sh با این اسکریپت سیستم چک میکند تا اگر جامپر به پین ها متصل شد اسکریپت را اجرا کند و رزبری پای را به روشی کاملاً امن خاموش خواهد کرد. برای ذخیره اینکه هر بار رزبری را روشن میکنید بتوانید اسکریپت را برای اجرا آماده نگه دارید از crontab استفاده کنید و بااستفاده از nano فایل /etc/crontab را ویرایش کنید و خط زیر را با آخر این فایل اضافه کنید. @reboot root /home/user/scripts/raspi_gpio_actions.sh سپس فایل را ذخیره کرده و ببندید. این به صورت اتوماتیک منتظر میماند تا وقتی شما جامپر را به پین مورد نظر متصل کردید اسکریپت را اجرا کند. پس از عملیات یادتان نورد تا جامپر را جدا کنید. البته برای اینکه گم نشود میتوانید آن را به یکی از پین ها متصل کنید. البته توجه داشته باشید که این مورد برای زمانی که رزبری شما کرش کرده و یا فریز شده است روش خوبی نیست و اسکریپت در چنین حالت‌هایی اجرا نخواهد شد. ریست کردن به وسیله پین هدر RUN رزبری پای این روش ساده‌ترین و سریع‌ترین روش برای پروژه ما است و بدون استفاده از پین های GPIO میتوان کار را انجام داد. این یک گزینه خوب برای رزبری های جدید و شاید بیشتر مدل ها است چرا که میتوانید پس از آن از پین های خود نیز استفاده های زیادی ببرید. اضافه کردن یک جفت پین به هدر شماره ۶ به شما اجازه میدهد تا یک کلید برای ریست رزبری پای داشته باشید برای این کار کافیست یک کلید فشاری بر روی پین هدر RUN رزبری پای متصل کنید. محل پین هدر در ورژن 2 رزبری پای تنها مدل B و ‌B+ را میتوان با این روش ریست کرد زیرا فقط این دو مدل دارای هدر p6/run است. برای پیدا کردن آن‌ها در مدل B و میتوانید به دنبال کانکتور HDMI باشید و در آنجا باید دو سوراخ کوچک مشاهده کنید که چند میلیمتر از هم فاصله دارند. و در مدل B+ نیز این هدر ها در کنار کانکتور ribbon قرار گرفته است و در کنار اسلات کارت حافظه است ( در سمت راست عبارت پرینت شده raspberry pi 2014 با لحیم کردن پین ها به این سوراخ یک کلید ریست ساخته‌اید . محل پین هدر در ورژن 3 رزبری پای این روش باید به خوبی جواب دهد و با کرش کردن سیستم یا فریز شدن آن نیز این روش باز هم کار خواهد کرد. زمان ریست رزبری فرا رسیده است آموزش رزبری پای
×