چگونه یک نرم افزار تشخیص دهنده لبخند بسازیم
در این آموزش می خواهیم یک مدل تشخیص لبخند را در پایتون توسعه دهیم.
۱- مقدمه
کسب و کار ها به دنبال این هستند تا مهمترین محصول مورد نیاز مردم را به آن ها ارائه دهند: خوشحالی !
چرا؟ خوشحالی شاید چیزی فراتر از یک واکنش شیمیایی باشد. مشتری خوشحال به احتمال زیاد دوباره به فروشگاه مراجعه خواهد کرد و داده های مرتبط با عوامل خوش حال کننده ی مشتری می تواند به مشاغل کمک کند تا بفهمند کدام محصولات بهتر عمل می کنند و میزان ماندگاری بالاتری دارند.
ماشین ها و کامپیوتر ها می توانند نحوه تشخیص خوشحالی افراد را بیاموزند و در این مقاله به شما نشان داده خواهد شد که چگونه یک مدل تشخیص چهره ایجاد کنید که بتواند خوشحالی را تشخیص دهد.
بیایید با اصول اولیه ی کار شروع کنیم. چگونه خوشحالی را ابراز کنیم؟ روی صورت، بیشتر از طریق تغییر حالت چشم و لبخند مان این اتفاق می افتد. ما به طور طبیعی نتیجه می گیریم که وقتی کسی لبخند بر لب دارد خوشحال است. لبخند می تواند شکل های متنوع زیادی داشته باشد، اما شکل آن بیشتر شبیه نوع صاف شده ی ‘U’ است.
در مراحل بعدی، کد پروژه ارائه شده و توضیح خواهیم داد که برای ساخت مدل تشخصی لبخند چه باید کرد. برای درک مفاهیم الگوریتم، این مقاله را درمورد الگوریتم Viola-Jones بررسی کنید.
آنچه شما برای ساخت ردیاب شادی نیاز دارید
- رابط کاربری گرافیکی آناکوندا بر روی لینوکس (Anaconda Navigator ) : :https://docs.anaconda.com/anaconda/navigator/
- کتابخانه OpenCV :
https://opencv.org/ - ابزار تشخیص تصویر هاار ( Haar Cascades ) : لینک در ادامه
در این آموزش از Spyder در Anaconda استفاده شده، اما شما می توانید از Jupyter Nb استفاده کنید. پس از داشتن ابزار های لازم، وارد IDE (ویرایشگر کد) شوید.
اگر از spyder استفاده می کنید باید صفحه ای شبیه به این داشته باشید.
قبل از شروع کد نویسی ، حتماً ابزار haar را بارگیری کنید (بخش بعدی)
۲- ابزار تشخیص چهره ی Haar
همانطور که در مقاله ذکر شده در بالا توضیح داده شده، الگوریتم ویولا-جونز از ویژگی های مشابه Haar برای تشخیص خصوصیات صورت استفاده می کند.
این ابزار مجموعه ای از فیلترها است که یکی پس از دیگری برای شناسایی چهره از طریق ویژگی های آن اعمال می شود.
این فیلترها در پرونده های XML خود در مخزن Haar Cascade GitHub ذخیره می شوند.
این ها ابزار تشخیص صورت، چشم ها و لبخندها هستند. اگر در تصویر ما چهره ای شاد وجود داشته باشد، باید هر یک از این ویژگی ها را داشته باشیم. کد های هر یک از این لینک ها را دریافت کنید ، آن را در ویرایشگر متن قرار دهید و فایل های خود را با توجه به نام های ذکر شده در بالا ذخیره کنید. هر سه پرونده XML را در همان پوشه قرار دهید که در آن نوت بوک پایتون را شروع می کنید. اکنون که Haas Cascades خود را آماده کردیم وارد محیط مجازی شویم.
الان بالاخره وقت کد نویسیه
۳- وارد کردن OpenCV و بارگذاری ابزارها
تنها کتابخانه مورد نیاز برای دریافت ،OpenCV می باشد. اگرچه این یک ابزار قدرتمند شناسایی اشیا است، اما قدرتمندترین ابزار موجود نیست. کتابخانه های جدید تر و بهتری نیز وجود دارند اما OpenCV هنوز هم ابزار ارزشمندی است و روش خوبی برای درک اصول شناخت شی است. پس از وارد کردن OpenCV (cv2) ، هر یک از ابزار های شناسایی تصویر را که دانلود شده بود فراخوانی کریدم. برای این منظور ، فقط لازم است از تابع OpenCV به نام CascadeClassifier استفاده کنیم.
۴- تعریف تابع تشخیص چهره ، چشم ها و لبخند
قبل از اینکه تابع را برای شناسایی تعریف کنید، باید بدانید که قرار است روی یک تصویر اعمال شود ، سپس برای بدست آوردن نتیجه نهایی کنار هم قرار می گیرند.
از آنجا که الگوریتم Viola-Jones با تصاویر در خاکستری کار می کند ، اولین آرگمان این چگونه به XM وارد شویم؟ تابع را به عنوان مقیاس خاکستری وارد کردیم.
با این حال همچنین می خواهیم که خروجی نهایی دارای تصویر اصلی رنگی باشد ، بنابراین یک آرگمان دیگر img برای تصویر اصلی وارد می کنم. سپس باید مختصات مستطیل هایی را که چهره را تشخیص می دهند ، بدست آوریم. برای تعریف این مختصات، ۴ حرف را انتخاب کردیم: x ، y ، w ، و h.
x و y مختصات گوشه بالا سمت چپ هستند ، در حالی که w و h به ترتیب عرض و ارتفاع مستطیل ها هستند.
این حرف ها را در یک صورت متغیر ذخیره کردیم و سپس از یکی دیگر از توابع OpenCV به نام detectMultiScale استفاده کردیم تا در واقع این مختصات را بدست آوریم. بنابراین ما از شی Cascade_face خود استفاده می کنیم و ۳ آرگومان از روش DetectMultiScale روی آن اعمال می کنیم:
- مقیاس خاکستری چون تصویر به عنوان سیاه و سفید در حال تجزیه و تحلیل است
- ضریب مقیاس یک سوم (اندازه تصویر ۱/۳ کاهش می یابد)
- حداقل تعداد مناطق مجاور پذیرفته شده: ۵ نقطه مجاور.
بعد ، برای رسم مستطیل ها، یک حلقه for ایجاد می کنیم با ۴ حرف x_face ، y_face ، h_face ، w_face در داخل چهره ها. در حلقه for ، ما از تابع مستطیل استفاده کریدم که یکی دیگر از تابع های OpenCV است. این کار در واقع مستطیل را بر روی صورت شما ترسیم می کند و آرگومان های زیر را ارائه می دهد:
آرگومان “img” زیرا می خواهیم مستطیل روی تصویر اصلی رنگی ما کشیده شود.
- مختصات گوشه بالا سمت چپ: x و y
- مختصات گوشه پایین سمت راست: w و h
- رنگ مستطیل: رنگ آبی را انتخاب می کنیم.
- ضخامت لبه های مستطیل: ضخامت ۲ را انتخاب کردیم (خیلی مهم نیست اما ۲ گزینه خوبی است)
توجه: کد زیر ادامه دارد ( همه را با هم در ادامه قرار داده ایم)
اکنون که کار چهره تمام شد ، می خواهیم چشم ها را تشخیص دهیم. این تنها بخش مسئله است که کمی مشکل است و درک آن کمی دشوارتر است.
اساساً ، در خطوط بالا ذکر شده است که شما به دنبال چشم در چهره هستید ، بنابراین چهره به “منطقه مورد توجه” ( ROI ) ما تبدیل می شود. از آنجا که الگوریتم با تصاویر در مقیاس خاکستری کار می کند، آرگومان مربوط به مقیاس خاکستری را وارد می کنیم. با این حال ، همچنین می خواهیم تصویر رنگی را نیز دریافت کنم ، بنابراین یک آرگومان دیگر برای تصویر رنگی اضافه می کنیم.
اساساً ، ۲ منطقه مورد توجه وجود دارد: یکی برای تصویر در مقیاس خاکستری و دیگری برای تصویر اصلی رنگی. متعاقباً، مقادیر ri_grays را روی تصویر مقیاس خاکستری با دامنه مختصات مستطیل y: y + h و x: x + w ایجاد می کنیم. سپس روی تصویر رنگی، ri_color را با همان مختصات برای مستطیل ها ایجاد می کنیم.
eye = چگونه به XM وارد شویم؟ cascade_eye.detectMultiScale(ri_grayscale, 1.2, 18)
for (x_eye, y_eye, w_eye, h_eye) in eye:
cv2.rectangle(ri_color,(x_eye, y_eye),(x_eye+w_eye, y_eye+h_eye), (0, 180, 60), 2)
برای چشم ها، مرحله اول را با صورت تکرار کردیم و با cascase_eye شیئی به نام چشم ایجاد کردیم و از روش DetectMultiScale برای یافتن ۴ نقطه مورد نظر استفاده کردیم. ضریب مقیاس را به ۱٫۲ و حداقل نقاط مجاور را به ۱۸ تغییر دادیم (برای بدست آوردن نتایج عالی مجبور شدیم این مقادیر را آزمایش کنیم).
سپس یک حلقه for برای چشم ها نیز ایجاد کردیم. می توانید مورد قبلی را کپی پیست کنید ، فقط باید نام های حرف ها را تغییر دهید و رنگ دیگری انتخاب کنید
smile = cascade_smile.detectMultiScale(ri_grayscale, 1.7, 20)
for (x_smile, y_smile, w_smile, h_smile) in smile:
cv2.rectangle(ri_color,(x_smile, y_smile),(x_smile+w_smile, y_smile+h_smile), (255, 0, 130), 2)
سپس دوباره برای لبخند ، همان مراحل تکرار شده برای صورت و چشم را تکرار می کنیم. هنگام استفاده از روش DetectMultiScale ، از ضریب مقیاس ۱٫۷ و حداقل نقاط مجاور به تعداد ۲۰ استفاده کردیم.
(همانطور که قبلاً گفتیم ، برای فهمیدن این کار به آزمایشاتی نیاز است).پس از انجام تمام مراحل ، شما فقط فریم اصلی را بازخوانی می کنید.
۵- نمایش خروجی وب کم
با ایجاد یک شی به نام vc شروع کردیم و از کلاس VideoCapture از OpenCV استفاده کردیم. تنها به یک آرگومان نیاز داریم: ۰ یا ۱٫اگر از وب کم داخلی استفاده می کنید ، ۰ اگر خارجی است ۱٫
از آنجا که تابع تشخیص برای یک تصویر واحد کار می کند، اکنون مجبور هستیم نوعی حلقه ایجاد کنیم که به آن امکان اجرای بیش از یک سری عکس را بدهد. بنابراین من یک حلقه while بی نهایت را شروع می کنیم که بعداً با استفاده از یک تابع break آن را می شکنیم. خطوط بعدی ممکن است گیج کننده به نظر برسند ، اما اساساً ، روش خواندن از VideoCapture دارای چگونه به XM وارد شویم؟ دو عنصر است:
یکی از آنها آخرین فریمی است که از وب کم ارائه می شود. از آنجا که فقط این را می خواهید، از _ ، img استفاده کنید زیرا روش خواندن ۲ فریم را برمی گرداند و شما فقط این یکی را می خواهید. اکنون باید این روش را از کلاس VideoCapture فراخوانی کنم.
از تابع cvtColor استفاده می کنیم که تصویر رنگی را به مقیاس خاکستری تبدیل می کند، زیرا برای عملکرد شناسایی به یک قاب B&W نیاز دارد. آن را مقیاس خاکستری می نامیم و کلاس cvtColor را می گیرم ، که ۲ آرگومان نیاز دارد:
cv2.COLOR_BGR2GRAY – برای به دست آوردن سایه های مناسب خاکستری ، به طور متوسط آبی-سبز-قرمز.
اکنون من یک متغیر جدید به نام ‘final’ ایجاد کردم و این نتیجه تابع تشخیص می شود. در متغیر “final” ، از تابع تشخیص با آرگومانهای مقیاس خاکستری و img استفاده می کنیم.
تابع imshow یکی دیگر از توابع OpenCV است که به ما امکان می دهد با استفاده از انیمیشن های مستطیل ، محتوای اصلی را که از وب کم آمده است ، مشاهده کنیم. تصاویر پردازش شده را به روشی متحرک نمایش می دهد.
سپس از تابع دیگری برای بستن پنجره استفاده کردیم. شرط if را اعمال کردیم که با هر بار فشار دادن دکمه ‘q’ روی صفحه کلید ، برنامه را خاتمه می دهد. با این کار حلقه while می شکند تا فرآیند پایان یابد.
سرانجام ، از روش انتشار ( release method ) برای خاموش کردن وب کم و عملکرد DestroyAllWindows برای خاتمه دادن به ویندوز استفاده کردیم.
کد کامل خود را در زیر جایگذاری کردیم تا در صورت وجود هرگونه سردرگمی در بخشهای بالا به کد کامل دسترسی داشته باشید.
۶- جمع بندی
در ابتدا به دلایل زیادی مدل درست کار نمی کرد و چهره ی بدون لبخند را به عنوان لبخند نیز تشخیص می داد. مجبور شدیم با ضریب مقیاس و همچنین حداقل نقاط مجاور کار کنیم تا نتیجه مطلوبی بگیریم.
امیدواریم این آموزش برای شما مفید بوده باشد. اگر شما هم مدلی برای تشخیص لبخند یا احساس توسعه داده اید، نتایج خود را در بخش نظرات با ما به اشتراک بگذارید.
چگونه وارد حوزه Bug Bounty Hunting شویم؟(راهنمایی برای مبتدیان)
باگ بانتی هانتیگ کشف و یافتن باگها در نرمافزارها، سایتها، وباپلیکیشنها و اعلام آن به به مالکان این نرمافزار و دریافت پول بر اساس میزان خطرناک و حساس بودن باگهای کشف شده است.اگر اخبار حوزه فناوریاطلاعات را پیگیری میکنید تاکنون حتما شاهد اخبار تعیین جایزه برای هککردن نرمافرازهای شرکتها و موسسات بودهاید.اما از سال ۲۰۱۲ سایتی راهاندازی شده است که به شرکتها این امکان را میدهد تا با پرداخت مبلغی پول به هکرها از حفرهها و باگهای سایت و اپلیکیشنهایشان که توسط آنها کشف میشوند، مطلع شوند و نسبت به رفع آنها اقدام کنند.
نکتهی اساسیای که از یاد بردم به آن اشاره کنم کسب درآمد در این حوزه بود.سایت چگونه به XM وارد شویم؟ هکر وان پرداخت بیتکوینی را نیز برای کاربرانش فراهم کردهاند از آنجایی که کشور تحت تحریمهای مالی قرار دارد پرداخت پول از طریق روشهای عادی امکان ناپذیر است.البته باید اشاره کنم اطلاعی ندارم آیا تراکنشهای بیتکوینی نیز تحت تحریمهای مالی قرار دارد یا خیر.در صورت ثبت باگ در این سایت و تایید آن و با در نظر داشتن اینکه پرداخت بیتکوینی مشکلی نداشته باشد، ثبت باگ در این سایت با توجه به وضعیت نرخ ریال در برابر دلار فعالیت در این حوزه بسیار سودآور خواهد بود.
در این مطلب قصد دارم به معرفی ویدیوها و سایتها و ابزارهایی که لازمهی ورود به حوزه است را معرفی کنم.
فراگیری جاوااسکریپت، سیاساس، اچتیامال و (اصول شبکه و وب)
برای خراب کردن و یافتن ضعفهای هر چیزی شما باید با نحوهی ساخت آن نیز حتما آشنا باشید.دانستن و یادگیری جاوااسکریپت و اچتیامال و غیره پایهایترین دانشی است که باید فرابگیرید زیرا که آنها سنگ بنای ساخت یک صفحه وب است.همچنین آشنایی با نحوه عملکرد یک مرورگر، انکودشدن URLها، XML و خیلی چیزهای دیگر (فایروال، پروکسی، API، دیتابیس ها و..) که اگر علاقمند به ورود به این حوزهاید باید آنها را رابگیرید.برای جلوگیری از طولانی شدن مطلب از گذاشتن لینکهای جداگانه خوداری میکنم و به قراردادن یک لینک از سایت گیتهاب بسنده میکنم.
شناخت انواع حملات
آشنایی با انواع حملات و نحوه سازوکار آنها را نیز باید فرا بگیرید. سایتهای هکسپلینینگ و این آدرس در وبسایت گیتهاب که لینکهای مورد نیاز یک جا جمعآوری کرده است بسیار مناسب است.
ابزارها
نرمافزارهای BurpSuite، OWASP ZAP، Aqua Tone، را میتوانید براحتی با سرچ در گوگل پیدا و نصب کنید. این نرمافزارها برای ارسال Payload و بررسی ریپانس وبسایتها مناسباند.البته ابزارهای دیگری نیز قطعا وجود دارند که بدون رابطگرافیکی هستند که پس از آشنایی بیشتر و کسب تجربه بیشتر میتوانید آنها را از گیتهاب دانلود کنید.(با سرچ در سایت آپارات میتوانید آموزش BurpSuite را ببینید.)
یک فایل پیدیاف هم آپلود کردهام که مجموعه نرمافزارهای مورد نیاز را معرفی کرده است. ابزار فایرفاکس سکیوریتی تولکیت نیز بدرد بخور به نظر میرسد.
خواندن
دنبال کردن هکرهای باتجربه در شبکههای اجتماعی به خصوص توییتر میتواند به اطلاعات شما بیافزاید. خواندن آنالیزهای هکرهای دیگر از باگهایی که کشف کردهاند میتواند بسیار مفید باشد و نکات آموزشی فراوانی به همراه دارد.
بخش هکتیوتی سایت هکر وان برای مطالعهی باگها و حفرههای فاش شده
وبسایت Honoki، وبلاگ Sam Curry که به تحلیل باگهایی که کشف کرده میپردازد.
وبسایت intigriti که به زعم خودش بهترین نوشتههای این حوزه را گردآوری کرده است. در ادامه به یوزآیدهایی که در سایت مدیوم به نوشتن مطالب آموزنده در حوزه مد نظر ما میپردازند اشاره میکنم :
روش های اتصال به شبکه وای فای در ویندوز ۱۱
در ویندوز ۱۱ میتوان با روشهای مختلف به شبکهی وای فای وصل شد. در این مقاله به معرفی این روشها میپردازیم.
ویندوز ۱۱ امکان اتصال به لپتاپ، تبلت و کامپیوتر رومیزی به شبکهی وای فای و دسترسی به اینترنت و منابع دیگر شبکه را آسانتر ساخته است. اگر میخواهید کانکشنی در شبکهای جدید تنظیم کنید یا بهدنبال راه حلی بهینه برای اتصال کامپیوترهای متعدد به یکدیگر هستید، ویندوز ۱۱ ازطریق تسکبار، Settings، کنترل پنل و خط فرمان ابزارهای مختلفی برای ایجاد اتصال بدون نیاز به کابل در اختیارتان میگذارد.
- روش اتصال به شبکهی وایفای با استفاده از نوار وظیفه (Taskbar)
- روش اتصال به شبکهی وایفای با استفاده از Settings
- روش اتصال به شبکهی وایفای با استفاده از کنترل پنل
- روش اتصال به شبکهی وایفای با استفاده از Command prompt
روش اتصال به شبکهی وایفای با استفاده از تسکبار
برای اتصال به شبکهی وایفای ازطریق تسکبار ویندوز ۱، مراحل ذیل را دنبال کنید:
۱. برای باز کردن Quick Settings روی آیکن Network در گوشهی سمت راست پایین کلیک کنید.
نکته: میتوانید از کلیدهای ترکیبی Windows + A برای باز کردن پنجرهی settings استفاده کنید.
۲. روی دکمهی کنار آیکن وایرلس کلیک کنید.
۳. کانکشن وایرلس را انتخاب کنید.
۴. گزینهی Connect automatically را فعال کنید (اختیاری).
۵. روی دکمهی Connect کلیک کنید.
۶. کلید امنیتی شبکه (رمز عبور) را تأیید کنید.
۷. روی دکمهی Next کلیک کنید.
۸. قابلیت اکتشاف دستگاه در شبکه را تأیید کنید.
پس از تکمیل مراحل فوق، لپتاپ با استفاده از کانکشن بیسیم به شبکه وصل میشود.
اتصال مجدد خودکار
پس از قطع اتصال دستی اداپتور، ویندوز ۱۱ گزینهای را برای اتصال مجدد دستگاه بهصورت خودکار فراهم میکند. برای تنظیم اداپتور وای فای و اتصال مجدد آن به ویندوز ۱۰ مراحل ذیل را انجام بدهید:
۱. روی آیکن wireless در تنظیمات سیستم کلیک کنید.
۲. روی دکمهی کنار آیکن وایرلس کلیک کنید.
- Manually
- In one hour
- In four hours
- In one day
پس از تکمیل مراحل فوق، ویندوز ۱۱ تا فرا رسیدن زمان انتخابی به اینترنت وصل نمیشود. با استفاده از این قابلیت، کامپیوتر بهصورت خودکار به شبکههایی که در گذشته وصل بود، متصل میشود.
روش اتصال به شبکهی وایفای با استفاده از Settings
میتوانید کانکشنهای وایرلس را بهصورت دستی با اپلیکیشن Settings تنظیم کنید. به این صورت وقتی شبکه در محدوده باشد حتی در صورت مخفی ساختن SSID (شناسهی مجموعه سرویس)، لپتاپ یا کامپیوتر رومیزی میتواند بهصورت خودکار به آن وصل شود. برای اضافه کردن کانکشن وایرلس بهصورت دستی، مراحل ذیل را دنبال کنید:
۱. Settings را باز کنید.
۲. روی Network & internet کلیک کنید.
۳. روی Wi-Fi کلیک کنید.
۴. روی صفحهی Manage known networks در سمت راست کلیک کنید.
۵. روی دکمهی Add network کلیک کنید.
۶. نام شبکه را تأیید کنید.
۷. از منوی آبشاری برای انتخاب Security type (برای مثال WPA2-Personal AES) استفاده کنید.
۸. کلید امنیتی شبکه (رمز عبور) را تأیید کنید.
۹. گزینهی Connect automatically را فعال کنید.
۱۰. گزینهی Connect even if this network is not broadcasting را فعال کنید.
۱۱. روی دکمهی Save کلیک کنید.
پس از تکمیل مراحل فوق و اگر شبکه در محدوده باشد، صرف نظر از اینکه مخفی یا آشکار است، بهصورت خودکار به وایفای وصل میشود.
روش اتصال به شبکهی وایفای با استفاده از کنترل پنل
برای اتصال به شبکهی وایرلس به کنترل پنل در ویندوز ۱۱، مراحل ذیل را دنبال کنید:
۱. Control Panel را باز کنید.
۲. روی Network and Internet کلیک کنید.
۳. روی Network and Sharing Center کلیک کنید.
۴. زیر بخش Change your networking settings روی گزینهی Set up a new connection or network کلیک کنید.
۵. گزینهی Manually connect to a wireless network را انتخاب کنید.
۶. روی دکمهی Next کلیک کنید.
۷. نام شبکه را تأیید کنید.
۸. از منوی آبشاری برای چگونه به XM وارد شویم؟ انتخاب Security type استفاده کنید (مثال: WPAW-Personal).
۹. کلید امنیتی شبکه (رمز عبور) را تأیید کنید.
۱۰. گزینهی Start this connection automatically را فعال کنید.
۱۱. گزینهی Connect even if the network is not broadcasting را انتخاب کنید.
۱۲. روی دکمهی Next کلیک کنید.
۱۳. روی دکمهی Close کلیک کنید.
پس از تکمیل مراحل، دستگاه بهصورت خودکار به شبکهی وایفای وصل میشود.
روش اتصال به شبکهی وایفای با استفاده از Command prompt
میتوانید از ابزار خط فرمان netsh در Command prompt برای اتصال به شبکهی وایفای در ویندوز ۱۱ استفاده کنید. برای اتصال به شبکهی وایفای با دستورها ویندوز ۱۱ مراحل ذیل را دنبال کنید:
۱. Start را باز کنید.
۲. Command Prompt را جستجو کنید، روی نتیجهی اول کلیک راست و سپس گزینهی Run as administrator را انتخاب کنید.
۳. دستور ذیل را برای نمایش پروفایلهای موجود شبکه تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan show profile
۴. پروفایل وایرلس را تأیید کنید.
۵. دستور ذیل را برای اتصال به شبکهی وایرلس در ویندوز ۱۱ تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan connect ssid=YOUR-WIFI-SSID name=PROFILE-NAME
در بخش دستور، نام شبکه (SSDI) و نام پروفایل را با اطلاعات شبکه بهروزرسانی کنید. برای مثال این دستور با استفاده از پروفایل tsunami به شبکهی tsunami وصل میشود:
netsh wlan connect ssid=tsunami name=tsunami
نکته: در کامپیوتری با چند اداپتور مختلف میتوانید نام اداپتور را در دستور تعریف کنید. برای مثال:
netsh wlan connect ssid=YOUR-WIFI-SSID name=PROFILE-NAME interface=Wi-Fi
پس از تکمیل مراحل فوق، لپتاپ به شبکهی وایفای وصل میشود.
ساخت کانکشن شبکه
ابزار netsh امکان مدیریت اداپتورها و شبکههای وایفای را میدهد. تنها مشکل آن این است که میتوانید پروفایلهای موجود را مدیریت کنید و نمیتوانید پروفایلهای جدید شبکه را با این ابزار ایجاد کنید. اگر نیاز دارید از Command prompt برای اتصال یک یا چند کامپیوتر به یک شبکهی بیسیم استفاده کنید، میتوانید از پروفایل ساختهشده بهصورت خودکار در طول اولین کانکشن خروجی بگیرید. سپس آن را با استفاده از netsch با استفاده از دستورها وارد کنید.
خروجی گرفتن از پروفایل وایفای
برای خروجی گرفتن از پروفایل وایفای با خط فرمان در ویندوز ۱۱ مراحل ذیل را دنبال کنید:
۱. Start را باز کنید.
۲. کلمهی Command prompt را جستجو کنید، روی اولین نتیجه کلیک راست و سپس گزینهی Run as administrator را انتخاب کنید.
۳. دستور ذیل را برای نمایش پروفایلهای موجود شبکه تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan show profile
۴. دستور ذیل را برای خروجی گرفتن از پروفایل تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan export profile PROFILE-NAME key=clear folder=PATH\TO\EXPORT\FOLDER
برای مثال این دستور از پروفایل tsunami در پوشهی Documents خروجی میگیرد.
netsh wlan export profile tsunami key=clear folder=C:\Users\m\Documents
پس از تکمیل مراحل فوق میتوانید از همان فایل XML برای اتصال کامپیوترهای دیگر به شبکهی وایرلس استفاده کنید.
وارد کردن پروفایل وایفای
برای وارد کردن پروفایل وایفای در ویندوز ۱۱ مراحل ذیل را اجرا کنید:
۱. Start را باز کنید.
۲. Command prompt را جستجو کنید، روی نتیجهی اول کلیک راست و گزینهی Run as administrator را انتخاب کنید.
۳. دستور ذیل را برای تعین نام اداپتور شبکه تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan show interfaces
۴. نام اداپتوری را که به شبکه وصل میشود تأیید کنید.
۵. دستور ذیل را برای وارد کردن پروفایل شبکه تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan add profile filename="PATH\TO\PROFILE.XML" Interface="YOUR-WIFI-ADAPTER-NAME" user=current
در دستور، باید موقعیت فایل XML و نام واسط شبکه را وارد کنید. برای مثال این دستور پروفایل XML مستقر در پوشهی Documents را وارد اداپتور وایفای میکند:
netsh wlan add profile filename="C:\Users\m\Documents\wi-fi-tsunami.xml" Interface="WI-FI" user=current
۶. دستور ذیل را برای اتصال به شبکهی وایرلس تایپ کنید و کلید Enter را فشار بدهید:
netsh wlan connect ssid=YOUR-WIFI-SSID name=PROFILE-NAME
در دستور باید SSID و نام پروفایل متناظر با شبکهی خود را تعریف کنید. برای مثال، این دستور با استفاده از SSID و نام پروفایل «tsunami» به یک نقطهی دسترسی وصل میشود:
netsh wlan connect ssid=tsunami name=tsunami
نکته: اگر چند واسط وایرلس دارید، باید اداپتور مورد نظر را با این دستور تعریف کنید. برای مثال:
netsh wlan connect ssid=YOUR-WIFI-SSID name=PROFILE-NAME interface=Wi-Fi
پس از تکمیل مراحل فوق، کامپیوتر بهصورت خودکار به شبکهی وایرلس وصل میشود.
آموزش Android Studio - ساخت اولین پروژه در اندروید استودیو
برای شروع آموزش اندروید ، ابتدا لازم است با محیط Android Studio آشنا شویم و نحوه ایجاد یک پروژه جدید در اندروید استودیو را آموزش ببینیم.
ابتدا ، باید از نصب صحیح محیط برنامه نویسی (همانطور که در مقالات قبلی آموزش داده شد) اطمینان حاصل کنید . اولین مثال برای برنامه نویسی اندروید را با مثال hello world آغاز می کنیم . طبق آنچه در مقالات قبلی گفتیم ، برنامه نویسی اندروید در محیط Android SDK انجام می شود.
فرض را بر این می گذاریم که تا حدودی با آموزش Android studio آشنایی دارید . به عنوان اولین مثال و اولین قدم برای برنامه نویسی اندروید می خواهیم برنامه ای بنویسیم که عبارت hello world چاپ کند .
ایجاد یک برنامه اندروید :
اولین قدم برای آموزش اندروید استودیو ، برای داشتن یک برنامه اندروید ، باز کردن و استفاده از محیط Android studio است . دابل کلیک کرده و برنامه Android studio را باز کنید ؛ پس از اینکه باز شد با صفحه ای مطابق با تصویر زیر مواجه خواهید شد :
به گزینه ی اول نگاه کنید ؛
start a new android studio project
برای شروع , گزینه ی گفته شده را انتخاب کنید .
در پنجره ی جدیدی که باز می شود اطلاعات زیر از شما خواسته می شود :
- نام برنامه
- اطلاعات پکیج
- مکان ثبت پروژه
پس از وارد کردن نام برنامه ، نام آن باید توسط form factors انتخاب شود تا آماده ی اجرا شود .
در صفحه ی جدید ، اطلاعات Minimum SDK از ما خواسته می شود. در اینجا ما گزینه ی
API23: Android 6.0(Mashmallow)
را انتخاب می کنیم (مطابق تصویر زیر ):
سطح بعدی نصب ، شامل انتخاب نوع اکتیویتی موبایل است ، طرحی که به طور پیش فرض می بینید ، یک صفحه خالی خواهد بود .
به عنوان قدم نهایی ، ابزار توسعه اپلیکیشن را باز کرده و شروع به کد نویسی می کنید . صفحه ای متناظر با صفحه ی زیر را خواهید دید.
آشنایی با پیکره ی برنامه ی اندرویدی :
قبل از اینکه برنامه خود را اجرا کنید، باید از چند دایرکتوری و فایل در پروژه Android مطلع شوید؛
به تصویر زیر دقت کنید:
1) جاوا :
این فایل شامل همه ی .java ها و فایل های منبع ( source file) جاوا برای پروژه شما می باشد. به طور پیش فرض، شامل یک فایل منبع MainActivity.java دارای کلاس اکتیویتی(activity class ) است که زمانی که برنامه (app ) شما با استفاده از آیکون برنامه (app icon) راه اندازی می شود اجرا می شود.
2) res/drawable-hdpi :
این دایرکتوری برای صفحه های با چگالی بالاست و برای اشیا(نمونه ها) طراحی شده.
3)res/layout :
این مورد یک دایرکتوری برای فایل هایی است که رابط کاربری برنامه شما را تعریف می کنند.
4)res/values :
این یک دایرکتوری برای سایر فایل های مختلف XML است که حاوی مجموعه ای از منابع، مانند تعاریف رشته ها و رنگ ها است.
5) AndroidManifest.xml :
این فایل مانیفستی ( Manifest File ) است که ویژگی های اساسی برنامه را توصیف می کند و هر یک از اجزای آن را تعریف می کند.
6) Build.gradle :
این فایل به صورت خودکار تولید می شود که حاوی compileSdkVersion ، buildToolsVersion ، applicationId ، minSdkVersion ، targetSdkVersion ، versionCode و versionName است.
نقد و بررسی کامل مشخصات BMW XM
۷ نکته که باید دربارهی جدیدترین و قدرتمندترین محصول شرکت BMW بدانید.
توسط بردیا
BMW XM
به تازگی شرکت خودرو سازی BMW از جدیدترین محصول خود به صورت یک کانسپت تحت عنوان XM رونمایی کرده است. با توجه به اطلاعات منتشر شده توسط شرکت سازنده، این خودرو قویترین خودروی خانواده ی M و قدرتمندترین شاسی بلند بازار خواهد بود.
این محصول یک خودروی شاسی بلند هیبریدی کاملا جدید خواهد بود که با تواناییهای خود، رقبای حاضر در میدان مثل آئودی RS Q8، پورشه کاین توربو و حتی لامبورگینی اوروس را به چالش خواهد کشید.
در این مقاله به تفسیر BMW XM را چگونه به XM وارد شویم؟ بررسی خواهیم کرد و تواناییهای آن را در مقابل خودروهای رقیب قرار خواهیم داد. با ما همراه باشید.
۱ ـ طراحی ظاهری
همان طور که مشاهده میکنید این خودرو هیچ شباهتی به محصولات دیگر BMW ندارد. XM در دستهی شاسی بلندهای BMW بالاتر از X7 قرار میگیرد و ابعاد آن حتی از این خودرو نیز بزرگتر است.
به نظر میرسد که طراحان شرکت سازنده از موضع خود عقب نشینی نکرده و هنوز بر روی جلوپنجرههای بزرگ و عجیب اصرار دارند. این محصول جدید نه تنها نسب به X7 دارای ورودیهای هوای بزرگتری است بلکه در طراحی جدید، اطراف آنها را LED های روشنایی روز احاطه کردهاند.
XM از زاویهی کنار نیز خوروی چشم گیری محسوب میشود. نسبت به X7 دارای زاویهی سقف بیشتری است تا ظاهری اسپرت و شبیه به یک کراس اور داشته باشد. کانسپت رونمایی شده با بدنهای دو رنگ در مقابل دوربینها حاضر شده است. در قسمت بالای بدنه شاهد رنگ روشنتری نسبت به پایین خودرو هستیم که با یک نوار مشکی رنگ از هم جدا شدهاند. این نوار همچنین دستگیرههای درب خودرو را به خوبی پنهان میکند.
طراحی کلی خودرو از تعداد زیادی خطوط صاف و زاویههای تند تشکیل شده که به خوبی شکلی مدرن و جاهطلبانهای برای آن ایجاد کرده است. یکی دیگر از ویژگیهای جالبی که برای چگونه به XM وارد شویم؟ اولین بار در XM شاهد آن هستیم، لوگوی BMW در مرکز رینگهای خودرو است که درست مثل رولز روس، همیشه در یک جهت باقی خواهند ماند.
در قسمت پشتی خودرو نیز شاهد ویژگیهای خاص و جالب دیگری هستیم. برای مثال اگزوزها بر خلاف طراحیهای گذشته، بر روی یکدیگر سوار شدهاند. چراغهای عقب نیز از یک خط LED ظریف و منحصر به فرد تشکیل شدهاند که به خوبی با طراحی زاویهدار خودرو هماهنگاند.
۲ ـ پیشرانه
شرکت BMW تایید کرده است که XM اولین محصول هیبریدی سری M خواهد بود. این خودرو دارای یک موتور هشت سیلندر خورجینی خواهد بود که هنوز اطلاعات دقیقی دربارهی آن منتشر چگونه به XM وارد شویم؟ نشده اما تصور میشود که از موتور ۴.۴ لیتری استفاده شده در M5 و M8 بهره خواهد برد.
اما بر خلاف این دو خودرو، XM به یک موتور الکتریکی مجهز میشود که قدرت آن را به ۷۵۰ اسب بخار خواهد رساند. این میزان قدرت چیزی در حدود ۱۱۵ اسب بخار بیش از M5 cs است. این بدان معنی است که XM قدرتمندترین محصول BMW تا به امروز خواهد بود.
با توجه به اطلاعات منتشر شده، XM چیزی در حدود ۷۵ اسب بخار قدرت و ۲۵۰ نیوتن متر گشتاور بیشتری نسبت به پورشه کاین توربو S خواهد داشت که آن را سریعترین شاسی بلند موجود در بازار خواهد کرد.
۳ ـ ۵۰ سالگی سری M
اما سوال اینجاست که چرا شرکت BMW اکنون به فکر ساختن یک شاسی بلند ۷۵۰ اسب بخاری افتاده است؟ آیا این شرکت نباید مثل دیگر رقبای خود به فکر حرکت به سوی تمام الکتریکی شدن باشد؟
سال ۲۰۲۲ ، پنجاهمین سالگرد تاسیس سری M و ورود شرکت BMW به مسابقات موتوری است. به نظر میرسد که این شرکت سعی دارد با تولید XM ، یک یادگار پر قدرت برای ۵۰ سال گذشتهی خود به جا بگذارد.
بر همین اساس این خودرو تنها در سری M در دسترس مشتریان قرار خواهد گرفت و مدلهای پایهای از آن تولید نخواهد شد. با این تصمیم، XM دومین خودرو انحصاری سری M پس از M1 خواهد بود که حدودا ۴۰ سال پیش وارد خط تولید شده بود.
برای بیشتر نشان دادن این رابطه، طراحان مرسدس بنز با الهام گرفتم از M1 ، به جای قرار دادن لوگوی شرکت BMW در وسط صندوق عقب، آن را در طرفین شیشهی پشتی خودرو قرار دادهاند.
۴ ـ نورپردازی
به تازگی برندهای مختلف برای ایجاد جذابیت بیشتر و به وجود آوردن ظاهری مدرنتر برای خودروهای خود، بر روی نور پردازی و طراحیهای جدید چراغهای خودرو تمرکز کردهاند. اما محصول جدید شرکت BMW پا را فراتر گذاشته است.
برای شروع، یک رینگ بزرگ LED دور جلوپنجرههای بزرگ خودرو را به عنوان روشنایی روز احاطه کرده است که آن را کمی شبیه به جلوپنجرهی محصول جدید مرسدس بنز یعنی EQG کرده است. این خودرو همچنین به نورافکنهای جدید مجهز شده که بالای شیشهی جلو نصب شدهاند اما بر خلاف طراحیهای مشابه، به خوبی با طراحی سقف خودرو یکی شدهاند.
شاید تصور کنید که مثلثهایی که در کنار جلوپنجرهی خودرو قرار دارند، چراغهای اصلی هستند اما در اشتباهید! این نورپردازی عجیب نیز درست مثل رینگهای LED نقش روشنایی روز را برای خودرو ایفا میکنند. چراغهای اصلی خودرو کمی پایینتر از آنها و بر روی سپر قرار داده شدهاند. در نور عادی شما آن ها را نمیبینید چرا که برای ساده سازی طراحی، زیر شیشهای مشکی رنگ مخفی شدهاند.
شرکت BMW میگوید که این روش طراحی چراغهای جلو در آینده در محصولات دیگر نیز استفاده خواهند شد که در تصویر زیر میتوانید یکی از موارد استفاده شده سری ۷ جدید است را مشاهده کنید.
۵ ـ عملکرد
شرکت سازنده هنوز اطلاعات دقیقی از عملکرد خودرو منتشر نکرده است چرا که خودرو رونمایی شده یک کانسپت است. محصول نهایی سال آینده وارد بازار خواهد شد اما تصور میشود که تغییرات کمی را در آن نسبت به کانسپت کنونی شاهد باشیم.
XM به راحتی سریعترین شاسی بلند تولید شده در تاریخ خواهد بود. این خودرو چیزی در حدود ۱۰۰ اسب بخار قدرت و ۱۵۰ نیوتن متر گشتاور بیشتری از لامبورگینی اوروس خواهد داشت. از طرفی هیبریدی بودن آن باعث شود تا گشتاور تولید شده توسط موتور در زمان کمتری به چرخها منتقل شده و شتابگیری بهتری را به وجود بیاورد.
با این تفاسیر این خودرو به خوبی میتواند رکورد سریعترین شاسی بلند را که در اختیار اوروس است جا به جا کرده و حتی به رکورد ۰ تا ۱۰۰ M5 که ۳ ثانیه است نیز نزدیک شود.
۷ ـ طراحی داخلی
طراحی داخلی این خودرو ترکیبی از فناوریهای به روز و مواد اولیهی لوکس و قدیمی است. XM به یک نمایشگر خمیده مجهز خواهد شده که شباهت زیادی با نمایشگر IX دارد. داشبورد خودرو از فیبر کربن ساخته میشود اما برای ایجاد زیبایی بیشتر، با ذرات مس نیز تزئین شده است.
صندلیهای خودرو از چرمهای طبیعی ساخته میشود که به خوبی ظاهری لوکس، مجلل و با کیفیت به طراحی داخلی میبخشد.
دیدگاه شما