آیا تاکنون چیزی در مورد اینترستیوم شنیده اید؟ مشکلی ندارد زیرا حتی دانشمندان هم از آن بی خبر بوده اند. اینترستیوم جدیدترین اندام کشف شده بدن انسان ها است. دانشمندان با استفاده از ابزار پیشرفته امروزی توانستند برای اولین بار آن را پیدا کنند. آن ها بر این باور بودند که بافت همبند که اندام های ما را در بر می‌گیرد ضخیم و فشرده بوده است. این نتایجی بود که در آزمایشگاه ها در بافت های جدا شده از بدن مشاهده می‌شد. اما در یک آندوسکوپی عادی چیز جدیدی مشاهده شد. هنگامی که بافت زنده را مورد بررسی قرار دادند متوجه شدند که بافت همبند فضایی پر از مایع بود که توسط نوار های کلاژنی احاطه شده است. این فضا پر از کانال هایی است به عنوان تکیه گاه هایی نرم عمل می‌کنند و اندام ها را از شوک های خارجی و حرکات بدن محافظت می‌کنند.

    این سیستم محافظی هنگامی که از بدن جدا شود از کار می‌افتد. به همین خاطر بود که دانشمندان در مطالعات خارج بدن نتوانستند زودتر متوجه آن شوند. همچنین کلاژن ها در آن صورت از بافت برداشته شده فرو می‌ریختند. همانگونه که طبقه های یک ساختمان در حال ریزش فرو می‌ریزند. دانشمندان فضاهای خالی زیادی بر روی بافت ها مشاهده می‌کردند اما فکر می‌کردند که این شکاف ها به خاطر محکم برداشتن بافت است. اما حال متوجه شدند که این شکاف ها به جای مانده از فضاهای فرو ریخته اند. اینترستیوم فقط یک فضای بین سلول ها نیست، بلکه به خاطر ویژگی های خاص خود باید به عنوان یک عضو فعال در نظر گرفته شود.

    اینترستیوم و مایع بین بافتی

    فهم بهتر چگونگی کارکد بدن هیچگاه بد نیست. اما دانشمندان بر این باورند که ویژگی های کاربری اینترستیوم می‌توانند باعث پخش سلول های سرطانی شوند. این تیم تحقیقاتی با انجام آزمایشاتی بر افراد دارای سرطان های بدخیم فهمیدند که سلول های سرطانی می‌توانند از بافت خود جدا شوند و به درون این کانال ها روند و سرانجام سیستم لنفاوی را ضایع کنند. بدین گونه سلول های سرطانی در بدن انتشار می‌یابند. این درک جدید از مکانیسم سلول های سرطانی می‌تواند در درمان آن بسیار کاربردی باشد.

    بافت همبند با ماتریکس مایع

    مقاله قبلی شیائومی در نظر دارد که در سال ۲۰۱۸ تعداد ۱۰۰ میلیون از گوشی‌های خود را بفروش برساند
    مقاله بعدی گوشی ۷۰۰ دلاری XP8 با برند Sonim معرفی شد




    گوشی اندرویدی جدیدی به نام XP8 تولید شده توسط شرکت Sonim اخیراً در دسترس قرار گرفته که می‌تواند در شرایط سخت و دشوار به راحتی انتظارات صاحبش را برآورده کرده و هیچ مشکلی برایش ایجاد نشود.

    این گوشی، دستگاهی است که برای کارگران ساختمانی، نیروهای امدادی و آتش‌نشانان کارایی بسیاری دارد و می‌تواند در هر وضعیت دشواری سالم باقی بماند.

    XP8، دارای قابلیتی است که می‌توان با فشردن (حتی با دستکش‌های ضخیم کار) دکمه حاشیه‌ای آن و بدون لمس صفحه نمایش، به کسی زنگ زد و با شخص مورد نظر صحبت کرد.

    صفحه نمایش این گوشی ضد خش است که می‌توانید با دستکش و یا دستان خیس نیز آن را لمس کرده و از آن استفاده نمایید.

    XP8 با ساعت‌های Band 14 و محصولات FirstNet (شرکتی آمریکایی که برای نیروهای امدادی دست‌بند تولید می‌کند) سازگاری دارد.

    محصول شرکت Sonim دارای صفحه نمایش ۵ اینچی با رزولوشن ۱۰۸۰*۱۹۲۰ و ضد آب و خاک است.

    پردازنده آن اسنپ دراگون ۶۳۰، رم آن ۴ گیگی و حافظه داخلی آن ۶۴ گیگابایتی و قابل ارتقا می‌باشد.

    دوربین اصلی و سلفی XP8 به ترتیب ۱۲ و ۸ مگاپیکسل است. باتری آن ۴۹۰۰ میلی‌آمپر و سیستم عامل این گوشی نیز، اندروید نوقا می‌باشد.

    این گوشی ۳۳۵ گرمی حدود ۷۰۰ دلار قیمت دارد.



    سامسونگ در ابتدای سال ۲۰۱۸، از پردازنده اگزینوس ۹۸۱۰ رونمایی کرد ولی همه افراد از قابلیت اتصال ۵G صحبت می‌کنند.

    همانطور که قبلاً نیز اعلام شد، کوالکام سال آینده از مودم دارای اسنپدراگون ۵G رونمایی خواهد کرد و آنها را در گوشی‌ها به کار خواهد برد.

    بر اساس اطلاعات کسب شده، سامسونگ نیز قصد دارد با پردازنده اگزینوس ۹۸۲۰ خود قابلیت اتصال ۵G را فراهم نماید.

    متخصصان قطعات الکترونیک سامسونگ از ماه ژانویه سال ۲۰۱۸، در حال ارتقا پردازنده اگزینوس ۹۸۲۰ هستند تا در CPUهای مختلف مورد استفاده قرار گیرد تا مشکلات رایانه‌ها و کامپیوترها را رفع کند.

    همچنین، قرار است به زودی تراشه ۵G RF نیز ارتقا داده شود تا سرعت اینترنت مبتنی بر گیگابایت را وارد زندگی انسانها نماید.

    آنطور که مشخص است، اگزینوس ۹۸۲۰ SoC، نمونه پیشرفته‌تر اگزینوس ۹۸۱۰ SoC می‌باشد که انتظار می‌رود در خط تولید ۷nm EUV سامسونگ تولید شود.



    مانند دیگر گوشی‌های اندرویدی، وان‌پلاس ۶ نیز در قسمت بالای صفحه نمایش خود یک بریدگی دارد.

    پس از اینکه کمپانی اوپو از مدل آر ۱۵ رونمایی کرد و در بالای صفحه نمایش آن بریدگی قرار داد، حالا بسیاری از افراد در مورد ظاهر تولیدات آتی شرکت وان‌پلاس صحبت می‌کنند.

    بریدگی موجود در وان‌پلاس ۶ ابعادی به اندازه ۷٫۶۹*۱۹٫۶۹ میلی‌متر خواهد داشت که ظاهر آن طبیعی خواهد بود.

    ادعای طبیعی بودن ظاهر این گوشی به مذاق خیلی از افراد خوش نیامده و طرفداران این برند، نارضایتی‌های خود را اعلام کرده‌اند.

    پس از مدتی، پیت لو که قول داده بود می‌توان بریدگی بالای صفحه نمایش وان‌پلاس ۶ را مخفی کرد، صحبت‌هایی در این‌باره انجام داد.

    مسئله این است که نمی‌توان از این ویژگی در ابتدا استفاده کرد و باید پس از یک بروزرسانی آن را دریافت نمود. به علاوه، نمی‌توان این ویژگی را یک ارتقا دانست زیرا گوگل تا بحال این قابلیت را پس از آپدیت اندروید P برای کاربرانش فراهم کرده است.

    وجود یک بریدگی که بتوان آن را با اختیار خود مخفی یا ظاهر کرد را می‌توان منطقی دانست و این ویژگی این امکان را فراهم می‌کند تا وان‌پلاس و دیگر تولیدکنندگان به راحتی و به تدریج مسیر پیشرفت را طی کنند.

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

    وان‌پلاس معمولاً از گوشی‌های خود در ماه ژوئن رونمایی می‌کند ولی اگر می‌خواهد این قابلیت را در محصول بعدی خود جای دهد، باید زمان زودتری را برای معرفی تولید آتی انتخاب نماید.

    هم‌اکنون وان‌پلاس تیزرهایی از مدل ۶ را منتشر کرده و حتی برخی مشخصات فنی آن را هم معرفی نموده که پردازنده اسنپدراگون ۸۴۵، رم ۸ گیگی و حافظه داخلی ۲۵۶ گیگابایتی از این جمله‌اند.

    بر اساس شایعات، قیمت وان‌پلاس ۶ (با حافظه داخلی ۲۵۶ گیگابایت) حدود ۵۲۵ دلار خواهد بود.



    یک بار دیگر فصل نقطه‌ی اوج گوشی‌های هوشمند رسید و سونی نیز در این رقابت تنگاتنگ شرکت می‌کند. در حالیکه شرکت‌های دیگر روش معمول خود را مبنی بر عرضه گوشی با سایز‌های بزرگ، پیش می‌گیرند، بر طبق روال همیشگی سونی یک گوشی قدرتمند با سایز کوچک به نام Xperia XZ2 Compact عرضه کرد.

    تغییرات زیادی در سری گوشی‌های XZ و Compact ایجاد شده است. دیگر آن طراحی حلقه بی نهایت برای همیشه کنار گذاشته شده و همچنین جک ۳/۵ میلی متری صدا دیگر وجود ندارد. در هرصورت، یک سری تغییرات و بهبودهای خوب در این گوشی‌ها وجود دارد که سری گوشی‌های Xperia را در بازار رقابت با کمپانی‌های دیگر قرار می‌دهد. منظور از این تغییرات خوب، صفحه نمایش بلند است نه یک بریدگی. این صفحه نمایش بلندتر، قطر گوشی را تا ۵ اینچ در قبال کاهش نیافتن حاشیه صفحه نمایش، افزایش می‌دهد. همچنین برای اولین بار در گوشی‌های Compact، سونی از رزولوشن ۱۰۸۰p برای این گوشی استفاده کرده است.

    دوربین ۱۹ مگاپیکسلی Motion Eye سونی نیز در این گوشی وجود دارد اما، یک ویژگی جدید کاهش نویز چندگانه را به همراه دارد که مدت زیادی است کاربران منتظر این بهبود هستند. همچنین این گوشی در حالت فول اچ دی، قابلیت فیلم برداری Slow Motion با ۹۶۰ فریم بر ثانیه را دارا می‌باشد. یک سری قابلیت‌های دیگری که در سری گوشی‌های Xperia معمول می‌باشد، وجود دارد. XZ2 Compact از دوربین تکی در پشت خود استفاده می‌کند که احتمالا آخرین باری خواهد بود که سونی از دوربین تکی در گوشی خود استفاده می‌کند زیرا سونی وعده داده است که اولین دوربین دوگانه‌ی خود را در پاییز ۲۰۱۸ معرفی می‌کند. رابط کاربری سونی نیز در این گوشی به چشم می‌خورد که بسیار سبک‌تر از همیشه می‌باشد. همچنین XZ2 Compact از قدرت پردازشی بی نظیر Snapdragon 845 بهره می‌برد.

    مشخصات سونی Xperia XZ2 Compact

    • بدنه: آلومینیومی، جنس قاب پشتی از پلی کربنات، محافظ Gorilla Glass در جلو، گواهی‌نامه IP65/68
    • صفحه نمایش: ۵ اینچی، نسبت ۱۶:۹، +FHD، پنل IPS LCD HDR، تراکم پیکسلی ۴۴۳PPI
    • دوربین جلو: ۱۹ مگاپیکسل، Sony IMX400 Camera 1/2/3 Inch، لنز با دیافراگم f2/0، تشخیص فاز لیزری پیش بینی کننده، Contrast AF، Burst AF، IR sensor برای تنظیم نور سفید، فلش LED، کلید شاتر دوربین، موتور پردازش تصاویر موبایل BIONZ، ISO 12800
    • فیلم برداری: فیلم برداری با کیفیت ۴K/30fps، HDR video up to 4K، ۱۰۸۰p/60fps، ۱۰۸۰p/960fps، ۷۲۰p/960fps، Steady Shot، ضبط صدای استریو، ISO 4000
    • دوربین جلو: ۵MP، ۱/۵” Exmor RS برای موبایل، لنز ۲۳mm Wide angel، ۹۰ degree FOV، f/2.2، فیلم برداری ۱۰۸۰P
    • چیپ ست: پردازنده Snapdragon 845 کوالکام Kyro 385 (هشت هسته‌ای Cortex A-75 با فرکانس حداکثر ۲٫۸ گیگاهرتز)، پردازنده گرافیکی Adreno 630
    • مموری: ۴ گیگابایت حافظه رم، ۶۴ گیگابایت حافظه داخلی + قابلیت ارتقا توسط کارت حافظه میکرو اس دی تا ۴۰۰ گیگابایت
    • سیستم عامل: اندروید ۸ اوریو
    • باتری: ۲۸۷۰ میلی آمپر; قابلیت شارژ سریع نسخه ۳
    • اتصالات: سیم کارت دوگانه هیبریدی(۴G)، ۴G VoLTE، ۵CA LTE Cat.18، ۴x4 MIMO، dual band WIFI 802.11ac، بلوتوث ۵٫۰، GPS/GLONASS، NFC، USB 3.1 Type C
    • صدا: High-res audio، DSEE HX، LDAC، اسپیکر های استریو همراه با S-Force Surround، aptX HD audio
    • سایر امکانات: سایر امکانات: سنسور اثر انگشت، اسکن سه بعدی با دوربین های جلو و عقب، تبدیل ویدئو های SDR به HDR

    نگاهی به داخل جعبه سونی Xperia XZ2 Compact

    فرقی نمی‌کند که گوشی را از کجا تهیه می‌کنید. XZ2 Compact درون یک جعبه کاغذی قرار می‌گیرد. اما باندل لوازم جانبی بر اساس بازار و کشوری که گوشی را تهیه می‌کنید، می‌تواند متفاوت باشد.

    درون جعبه گوشی، کابل USB Type-C، آداپتور جک صدا، و آداپتور شارژ سریع وجود دارد. البته همه‌ی بازارها این لوازم را دریافت نمی‌کنند اما، بیشتر کشورهای اروپایی از این لوازم بهره می‌برند.

    طراحی

    طراحی گوشی‌های سونی همیشه ساده و قابل فهم بوده است. اما این طراحی تا زمان عرضه XZ2 و XZ2 Compact مطرح بوده است.

    همه چیز از اوایل امسال در سری گوشی XA2 شروع شد که قاب پشتی متورم مانند عرضه شدند. حال باید ببینیم که این طراحی در XZ2 Compact جواب می‌دهد یا خیر.

    در ابتدا بیایید نگاهی به سایز این گوشی بیندازیم. ابعاد این گوشی ۱۳۵*۶۵*۲۱/۱ میلی متر می‌باشد که ۵ میلی متر از مدل‌های قبلی Compact بلندتر است. همچنین کمی ضخیم‌تر است که بدلیل طراحی جدید آن می‌باشد. وزن آن ۱۶۸ گرم می‌باشد که بصورت قابل توجهی از ۱۴۰ گرم مدل قبلی سنگین‌تر است. تصویر زیر، XZ2 Compact را در کنار XZ1 Compact نشان می‌دهد.

    اسپیکر‌های استریو سر جایشان هستند اما آن پنجره مشبک مانند کمی مخفی شده و به پایین شیشه‌ی صفحه نمایش متصل شده.

    قاب فلزی منحنی گوشی نیز به شیشه‌ی جلویی یا لبه‌های منحنی دو و نیم بعدی متصل شده است.

    سونی لبه‌های تیز مدل قبلی را در این گوشی تغییر داده و حالا کمی گرد شده است. با این تغییر، XZ2 Compact در مقایسه با XZ1 Compact ظریف‌ و لوکس‌تر بنظر می‌رسد.

    جای قرارگیری حسگر اثر انگشت نیز از روی دکمه پاور به پشت گوشی منتقل شده است.

    متاسفانه جک ۳/۵ میلی متری صدا در این گوشی حذف شده است و سونی دلیل این کار را برای طراحی Ambient Flow (جریان محیط) بیان کرده است. به هر حال، همراه گوشی یک آداپتور جک صدا ارائه می‌شود اما مطمئن هستیم که این تغییر برای طرفداران سونی زیاد خوشایند نمی‌باشد.

    اما به پشت گوشی که نگاه کنیم، با یک طراحی منحنی ارگونومیک روبرو می‌شویم که واقعا خوب است و در دست به خوبی جای می‌گیرد. درحالیکه که خیلی‌ها درمورد این طراحی در مدل بزرگ‌تر XZ2 نگران بودند، باید گفت که این طراحی در XZ2 Compact واقعا خوب می‌باشد.

    قاب فلزی و پشت گوشی یک ترکیب مات شده را ایجاد کرده‌اند که قسمت مات شده در رنگ مشکی آن‌ چنان عالی نیست.

    طراحی و شکل “جریان محیط” باعث شده که این گوشی یکی از خوش دست‌ترین گوشی‌های حال حاظر باشد و براحتی می‌توان XZ2 Compact را از یک میز مسطح برداشت و خطری از بابت لغزنده بود گوشی و افتادن آن از دست وجود ندارد.

    با تمام این اوصاف، یک سری از افراد از این طراحی خوشنود نمی‌باشند درحالیکه بعضی‌ها نیز این طراحی را برای یک گوشی پرچم‌دار تحسین می‌کنند. به هرحال این یک موضوع سلیقه‌ای می‌باشد و درمورد طراحی این گوشی نظری نمی‌دهیم. اما می‌توانیم اظهار کنیم که XZ2 Compact از مواد اولیه بسیار خوبی استفاده کرده و استحکام بسیار خوبی را دارا می‌باشد و قاب پشت گوشی در موقع لمس کردن حس خوبی را به کاربر القا می‌کند.

    صفحه نمایش

    آشکارترین بهبود در XZ2 Compact، صفحه نمایش آن می‌باشد. سونی نسبت ابعاد ۵ اینچی را برای این گوشی در نظر گرفته است که نسبت به سری‌های قبلی افزایش داشته است. اما سایز بزرگ‌تر تنها بهبود این گوشی نمی‌باشد. برای اولین بار در سری گوشی‌های Compact، سونی در XZ2 Compact از یک صفحه نمایش با رزولوشن ۱۰۸۰p استفاده می‌کند که تراکم پیکسلی ۴۴۳ppi را برای این گوشی به ارمغان می‌آورد.

    صفحه نمایش LCD این گوشی از تکنولوژی اختصاصی سونی بهره می‌برد که شامل Triluminos Display و X Reality Engine می‌باشد. همچنین این صفحه از حالت HDR پشتیبانی کرده و پنل آن مجهز به رنگ‌های ۱۰ بیت شده و برای استاندارد BT.2020 تایید شده است.

    این صفحه نمایش جدید رنگ مشکی عمیق‌تری را ارائه می‌دهد اما حداکثر روشنایی آن از XZ1 Compact کمتر می‌باشد. اما با این حال، این صفحه نمایش روشنایی بالایی در حد۵۷۶ نیت دارد که بدلیل رنگ مشکی بهبود یافته در این گوشی می‌باشد که نسبت کنتراست ۱۳۱۵٫۱ را دارا میباشد.

    صفحه نمایش Xperia XZ2 Compact در زیر نور آفتاب عملکرد خوبی دارد و برای کار با این گوشی در زیر نور آفتاب با مشکل خاصی بر نخواهید خورد.

    سونی در این گوشی از سیستم تبدیل خودکار که قسمتی از تکنولوژی “Advanced X-Reality For Engine” می‌باشد، استفاده می‌کند. این سیستم به گوشی اجازه می‌دهد که فیلم‌های دارای محتوای SDR را بصورت یکپارچه به محتوای HDR در حین پخش تبدیل کند.

    عمر باتری

    Xperia XZ2 Compact دارای ظرفیت باتری ۲٫۸۷۰ میلی آمپر می‌باشد و که نسبت به XZ1 Compact بیشتر می‌باشد. برای پر شدن باتری این گوشی از ۰% تا ۳۲%، نیم ساعت لازم است که توسط شارژر ۱٫۵ آمپری گوشی انجام می‌شود. همچنین نسخه باندل گوشی از شارژ سریع نسخه ۳ بهره می‌برد که تا ۴۱% از باتری را در نیم ساعت پر می‌کند.

    در مجموع باتری XZ2 Compact در آزمایش‌ عمر باتری عملکرد بسیار خوبی را داشت و ادعای سونی را مبنی بر عمر باتری این گوشی ثابت کرد.

    بلندگو‌ها

    با وجود افزایش سایز صفحه نمایش گوشی، سونی از سیستم استریوی بسیار خوبی در بدنه XZ2 Compact استفاده کرد و ما هم آن را تحسین می‌کنیم و می‌توانیم ادعا کنیم که جز بهترین‌ها می‌باشد. بر طبق آزمایشات، ادعای سونی مبنی بر افزایش ۲۰% بلندی صدا نسبت به XZ1 Compact، ثابت شد و توانست امتیازهای خوبی را دریافت کند. اسپیکرها در صدای بلند عملکرد خوبی را دارا می‌باشند و در حداکثر صدا هیچگونه نویزی در صدا شنیده نمی‌شود. این یک بهبود چشمگیر نسبت به نسل‌های پیشین می‌باشد.

    برخلاف مدل بزرگ‌تر یعنی Xperia XZ2، مدل Compact از سیستم لرزش داینامیک استفاده نمی‌کند.

    نرم افزار

    سونی Xperia XZ2 Compact از اندروید نسخه ۸ اوریو بهره می‌برد. با وجود آخرین نسخه اندروید بر روی این گوشی، از رابط کاربری آن انتظار تغییرات بنیادینی نسبت به دیگر اعضای خانواده Xperia مانند XA2, XA2 Ultra و یا نسل قبلی این گوشی یعنی XZ1 نداشته باشید.

    طرفداران طولانی مدت سونی باید با قسمت “خانه” در لانچر Xperia راحت باشند. صفحه خانه این لانچر تغییر خاصی نسبت به نسل‌های پیشین نداشته است. این صفحه شامل کشیدن حرکت کشیدن صفحه پایین می‌باشد که بدین وسیله می‌توانید صفحه‌ای از برنامه‌هایی که بیشتر از همه استفاده می‌کنید را در کنار پیشنهادهای نصب برنامه جدید مشاهده کنید. قسمت جست و جو نیز برجسته شده و حالا می‌توانید با سرعت بیشتر به جست و جو در گوشی بپردازید. بوسیله حرکت صفحه به سمت چپ نیز می‌توانید به پنجره Google Feed دسترسی پیدا کنید.

     

    تم گوشی نیز بصورت رایگان و پرداختی وجود دارد که بوسیله آن می‌توانید ظاهر گوشی خود را تغییر دهید. این تم‌ها توسط یک رابط اختصاصی نمایش داده می‌شوند  که بنظر می‌آید توسط گوگل پلی استور توزیع شده باشد. بعضی از تم‌ها بصورت تعاملی می‌باشند که با لمس کردن به عکس پس زمینه واکنش نشان می‌دهند.

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

    دستیار Xperia اگرچه سریع نمی‌باشد اما، عملیات قابل درکی را به کاربر ارائه می‌دهد. زمانی که در گفت و گویتان با این دستیار به یک مقطع خاصی برسید، به شما یک سری لینک‌های مناسب را برای دسترسی به آنچه شما علاقه دارید، ارائه می‌دهد. این لینک‌ها در قسمت Inbox برنامه شما ذخیره می‌شود که بعدا بتوانید آن‌ها را بدون گفت و گوی دوباره با هوش مصنوعی، چک کنید. همچنین این دستیار می‌تواند بعضی از رویدادها را به شما یادآوری کند و یک سری نکته‌ها را بر حسب اراده خود، به شما ارسال کند. خوشبختانه کاربر می‌تواند این ویژگی را غیر فعال کند.

    عملکرد سخت افزاری

    سونی درمورد قدرت و سخت افزار پرچم‌داران Compact خود جدی بوده است و XZ2 Compact نیز از این قاعده مستثنی نمی‌باشد. آخرین مدل Compact از تراشه برادر بزرگ‌تر خود یعنی XZ2 استفاده می‌کند. این تراشه Snapdragon 845 می‌باشد.

    Snapdragon 845 از یک پردازنده ۸ هسته‌ای و هسته‌های جدید Kyro 385 استفاده می‌کند. قسمت ۴ هسته‌ای Kyro 385 عملکرد بسیار بالایی دارد که در عملیات سنگین قادر به افزایش فرکانس پردازنده تا ۲٫۷ گیگاهرتز می‌باشد. معماری پردازنده از نوع Cortex-A75 می‌باشد. در حین عملیات سبک نیز، فرکانس پردازده ۱٫۷ گیگاهرتز و از نوع معماری Cortex-A55 می‌باشد.

    پردازنده گرافیکی گوشی از نوع Adreno 630 است که ۳۰% از Adreno 540 در Snapdragon 835 قوی‌تر است.

    تمامی این قطعات در کنار یک حافظه رم با ظرفیت ۴ گیگابایت می‌باشند و برخلاف مدل بزرگ‌تر یعنی XZ2، مدل Compact دارای نسخه‌هایی با رم ۶ گیگابایت نمی‌باشد. در انتها نگاهی با بنچ مارک‌های ثبت شده از Xperia XZ2 Compact بیندازیم.

    GeekBench 4.1 (چند هسته‌ای)

    GeekBench 4.1 (تک هسته‌ای)

    GFX 3.1 Manhattan ( صفحه نمایش ۱۰۸۰p)

    AnTuTu 7

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

    دوربین

    سونی برای Xperia XZ2 Compact از دوربین اصلی ۱۹ مگاپیکسلی IMX400 ExmorRS یا همان Motion Eye استفاده کرده است. اندازه دوربین ۱/۲٫۳ اینچ و دارای پیکسل‌های ۱٫۲۲ میکرو متر به همراه دیافراگم f/2.0 می‌باشد. میدان دید این دوربین دارای ۲۵ میلی متر عرض می‌باشد.

    IMX400 همان نمونه‌ای است که در گوشی‌های XZ Premium, XZs و XZ1 بکار گرفته شده است اما سونی عملکرد پردازش نرم افزاری را بهبود بخشیده است بنابراین دوربین XZ2 بهبودهایی نسبت به مدل‌های پیشین داشته است.

    بعضی از مردم، از نبود دوربین دوگانه در XZ2 Compact ناراضی هستند اما می‌دانیم که در پاییز ۲۰۱۸ سونی دوربین دوگانه را به گوشی‌های خود اضافه می‌کند.

    چیزی که در دوربین XZ2 و XZ2 Compact به چشم میخورد، تراشه مدیریت رم آن می‌باشد که بین سنسور و لایه‌های مدار کنترل قرار دارد. این تراشه بصورت یک حافظه موقت بسیار سریع در گوشی کاربرد دارد و باعث می‌شود که دوربین بطور موقت آنچه که سنسور می‌گیرد را بدون درگیر شدن حافظه گوشی، خالی کند.

    به موجب وجود سخت افزار و هماهنگی نرم افزار با طیف ISP 280 کوالکام درون Snapdragon 845، فیلم‌های Slow-Motion دارای رزولوشن ۱۰۸۰p می‌باشند.

    در رابط کاربری دوربین Xperia تغییر بخصوصی دیده نمی‌شود که این بستگی دارد آخرین بار چه زمانی به این رابط کاربری نگاه کرده باشید. سونی نهایتا رزولوشن ۴K را به لیست تنظیمات رزولوشن اضافه کرد که با این وجود فیلم برداری ۴K دیگر بصورت یک حالت جداگانه در گوشی وجود ندارد.

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

    کیفیت عکاسی

    زمانی که نور محیط مناسب می‌باشد، XZ2 Compact عکس‌های پر جزییاتی را برای شما می‌گیرد که نسبت به پرچم‌داران قبلی سونی کمی بهتر می‌باشد. رنگ‌ها بسیار دقیق تولید می‌شوند و دامنه پویایی دوربین بسیار گسترده است. عکاسی در حالت خودکار بصورت موفقیت آمیزی صحنه‌ها را تشخیص می‌دهد و هرجایی که نیاز باشد از نور پس زمینه استفاده می‌کند بنابراین نیازی به حالت دستی برای HDR نیست. حالت عکاسی HDR بصورت دستی نیز وجود دارد که گزینه‌ی آن در تنظیمات پیشرفته دوربین نهفته است. همچنین عکاسی خودکار هوشمند کار خودش را بخوبی انجام می‌دهد که به ندرت پیش بیاید که برای عکاسی HDR به حالت دستی سوییچ کنید.

    عکاسی در شرایطی که نور کم باشد قابل قبول است و نویز کمی در آن دیده می‌شود و جزییات عکس در شرایط خوبی قرار دارد.

    عکاسی سلفی

    دوربین سلفی Xperia XZ2 Compact مشخصات و طراحی جدیدی دارد و از قاب باریک‌تری بهره می‌برد. رزولوشن این دوربین ۵ مگاپیکسل می‌باشد که دارای دیافراگم f/2.2 و سایز ۱/۵ اینچی می‌باشد. همچنین فوکوس خودکار در آن وجود ندارد.

    درمورد جزییات عکاسی سلفی XZ2 Compact نمی‌توان ایراد خاصی را گرفت. نمونه‌ عکس‌های گرفته شده دارای وضوح بسیار خوب و محدوده دینامیکی آن مناسب است. بنابراین تنها ایراد دوربین فوکوس ثابت است. همچنین کاربر می‌تواند قابلیت زیبایی را در تنظیمات فعال یا غیر فعال کند.

    فیلم‌برداری

    شاید دوربین ۱۹ مگاپیکسلی Motion Eye سونی XZ2 Compact کمی تکراری بنظر برسد اما یک سری ویژگی‌های جدید به فیلم‌برداری آن اضافه شده است. برای مثال، فیلم‌برداری Slow Motion آن بهبود یافته است.

    برای فیلم‌برداری Slow Motion، حداکثر رزولوشن ۱۰۸۰p در نظر گرفته شده است. XZ2 Compact از فیلم‌برداری HDR با رزولوشن ۴K یا ۱۰۸۰p به همراه ۳۰ فریم بر ثانیه بهره می‌برد که نتیجه‌ی همکاری سونی با کوالکام برای طیف ISP 280 درون Snapdragon 845 می‌باشد.

    XZ2 Compact توانایی فیلم‌برداری با رزولوشن ۴K با ۳۰ فریم بر ثانیه را دارا می‌باشد اما، برای فریم ریت ۶۰، باید رزولوشن را به ۱۰۸۰p تغییر دهید.

    فیلم‌برداری ۴K و ۱۰۸۰p این گوشی، دارای جزییات، کنتراست و محدوده دینامیکی بسیار خوبی می‌باشد و رنگ‌ها در آن بسیار دقیق هستند.

    رقبا

    کمی سخت است که درمورد سونی Xperia XZ2 Compact بحث کنیم زیرا تقریبا هیچ گوشی دیگری مثل آن وجود ندارد. سونی اولین شرکتی است که یک گوشی پرچم‌دار با سایز کوچک را تولید کرد و از همان موقع به این روند وفادار بوده است.

    داشتن تراشه Snapdragon 845 به تنهایی می‌تواند نقطه قوتی برای این گوشی باشد اما می‌دانیم که XZ2 Compact چیزهای خیلی بیشتری برای ارائه به کاربر دارد.

    به گلکسی S9 می‌توانیم بعنوان یک رقیب جدی برای XZ2 Compact نگاه کنیم. S9 دارای صفحه نمایش بزرگ‌تر، رزولوشن بالاتر، بدنه زیبا‌تر و دوربین بهتر نسبت به XZ2 Compact می‌باشد. این هم را باید در نظر داشته باشیم که S9 حدود ۲۵۰ یورو گران‌تر از XZ2 Compact می‌باشد.

    هواوی نیز گوشی‌هایP9 و P10 را به کاربر بعنوان پرچم‌دار ارائه می‌دهد که سایز متوسطی برای یک گوشی پرچم‌دار را دارا می‌باشند اما، این گوشی‌ها بزودی توسط P20 جایگزین می‌شوند و نمی‌دانیم که آیا P20 در دسته بندی گوشی XZ2 Compact قرار می‌گیرد یا نه.

    Xperia XZ2 که مدل بزرگ‌تری از Compact می‌باشد، گزینه مناسب‌تری برای کسانی است که یک گوشی پرچم‌دار با سایز بزرگ از سونی می‌خواهند. همچنین XZ2 دارای سیستم ویبره داینامیک، طراحی زیباتر و قابلیت شارژ بیسیم می‌باشد اما ایا همه‌ی این‌ها ارزش پرداخت ۲۰۰ یورو پول بیشتر را دارد؟ این بستگی به شما دارد که کدام را انتخاب کنید.

    در نهایت به اپل Iphone X می‌رسیم که تنها رقیب آشکار غیر از اندروید می‌باشد. Iphone X تقریبا هم اندازه‌ی XZ2 Compact و سایز صفحه نمایش آن کمی از XZ2 Compact کوچک‌تر است. Iphone X دوربین بهتر، طراحی زیباتری را دارا می‌باشد اما باز هم گران‌تر از پرچم‌دار سونی می‌باشد و این یک مسئله مهم می‌باشد.

    نتیجه گیری

    کمی سخت است که درمورد گوشی‌ها (فرقی ندارد پرچم‌دار باشد یا نه) نتیجه گیری معقولی داشته باشیم اما، XZ2 Compact برای سونی یک برگ برنده محسوب می‌شود. سونی یکی از بهترین گوشی‌های هوشمند را با یک قیمت معقول روانه بازار کرده است. همچنین XZ2 Compact نسبت به XZ1 Compact یک پیشرفت بسیار خوب محسوب می‌شود که دلیل آن هم دوربین، عملکرد سخت افزاری، صفحه نمایش و کیفیت صدای بهتر می‌باشد.

    مزایا

    • طراحی جمع و جور
    • طراحی ضد آب، ارگونومیک و محکم
    • تراشه Snapdragon 845
    • عمر باتری بسیار خوب
    • کیفیت تصویر بسیار خوب در نور کم و زیاد
    • ویدیو‌های Slow Motion با ۹۶۰ فریم بر ثانیه در رزولوشن‌های ۷۲۰p و ۱۰۸۰p
    • اسپیکرهای استریو به همراه کیفیت صدای خوب
    • قیمت مقرون به صرفه نسبت به دیگر رقبا

    معایب

    • طراحی کمی بزرگ و کلفت آن ممکن است برای همه خوشایند نباشد
    • نبود جک ۳/۵ میلی متری صدا
    • نبود سیستم ویبره داینامیک و قابلیت شارژ بیسیم

    وقفه ها در آردوینو ،وقفه ها باعث توقف در اجرای برنامه آردوینو می شوند و معمولا علت آن رسیدگی به یک کار یا وظیفه مشخص است.

    وقفه ها در آردوینو

    تصور کنید که در خانه نشسته اید و دارید با کسی چت می کنید. ناگهان تلفن زنگ می خورد. در این شرایط چت کردن را متوقف می کنید و به سراغ تلفن می روید و آن را جواب می دهید. زمانی که مکالمتان با شخص تماس گیرنده به پایان رسید، تلفن را قطع کرده و مجددا به ادامه چت خود می پردازید.  در این مثال در واقع چت کردن شما “روتین اصلی” یا کاری اصلی شما هست و زنگ تلفن باعث می شود که کار خود را متوقف کنید.  “سرویس وقفه” در این مثال  همان صحبت شما پشت تلفن است. این مثال قیقا به شما نشان می دهد که پردازنده در زمان اتفاق افتادن وقفه چگونه عمل می کند.

    برنامه اصلی معمولا تعدادی از توابع اصلی را در مدار ما پیاده سازی می کند. زمانی که وقفه اتفاق می افتد، روند اجرای برنامه اصلی متوقف می شود و کدهای مربوط به سرویس وقفه اجرا خواهند شد. زمانی که این کدها به اتمام رسید، پردازنده به برنامه اصلی باز می گردد و از جایی که متوقف شده بود ادامه می دهد.

    خصوصیات مهم وقفه ها در آردوینو

    تعدادی از مهم ترین خصوصیات وقفه ها عبارت اند از :

    • وقفه ها می توانند ناشی از منابع متفاوتی باشند. به عنوان مثال تغییر ولتاژ یکی از پایه های دیجیتالی میتواند یک وقفه سخت افزاری ایجاد کند.
    • اکثر بردهای آردوینو دارای دو وقفه سخت افزاری هستند که به نام های interrupt0 و interrupt1 شناخته می شوند که توسط پایه های ۲ و ۳ فعال می شوند.
    • برد آردوینو Mega دارای ۶ وقفه سخت افزاری است، شامل وقفه های اضافی interrupt2 تا interrupt5 بر روی پایه های ۱۸ ، ۱۹ ، ۲۰ و ۲۱ .
    • میتوانید توسط سرویس روتین وقفه (ISR) برای هر وقفه یک تابع تعریف کنید.
    • میتوانید شرایط اتفاق افتادن وقفه را بر روی حالت هایی مانند لبه بالا رونده یا لبه پایین رونده یا هر دو تنظیم کنید.
    • میتوانید تنظیمات وقفه را به شکلی انجام دهید که با اتفاق افتادن وقفه به صورت خودکار تابع نوشته شده برای آن اجرا شود.

    انواع وقفه ها

    به طور کلی دو نوع وقفه وجود دارد که عبارت است از :

    • وقفه سخت افزاری : این نوع وقفه در پاسخ به رخدادهای خارجی اتفاق می افتد مانند تغییر ولتاژ روی یک پایه
    • وقفه نرم افزاری : این نوع از وقفه در پاسخ به دستورات در نرم افزار اتفاق می افتد. تنها نوع وقفه نرم افزاری که آردوینو پشتیبانی می کند تابع attachInterrupt است.

    استفاده از وقفه در آردوینو

    وقفه ها در برنامه نویسی آردوینو بسیار مفید هستند و در زمان بندی کمک زیادی به برنامه نویس می کنند. به عنوان مثال از کاربردهای وقفه میتوان به خواندن انکودر چرخشی یا مقادیر ورودی کاربر اشاره کرد. به عنوان یک قانون کلی باید همیشه ISR تا حد امکان کوتاه و سریع باشد. اگر در برنامه خود از چندین ISR استفاده می کنید به خاطر داشته باشید که در هر لحظه از زمان تنها یکی از آنها قابلیت اجرا دارند. بقیه ISR ها در صورت لزوم پس از خارج شدن از ISR فعلی و طبق اولویت مخصوص هریک اجرا می شوند.

    معمولا از یک متغیر سراسری به منظور تبادل داده ها بین ISR ها و برنامه اصلی استفاده می شود. همچنین به منظور اطمینان از به روز رسانی صحیح متغیرهایی که بین ISR ها و برنامه های مختلف استفاده می شوند، این متغیرها را از نوع volatile تعریف کنید.

    نحوه استفاده از تابع attachInterrupt

    تابع برای استفاده در بردهای آردوینو :

    attachInterrupt(digitalPinToInterrupt(pin),ISR,mode) ;

    تابع فقط برای استفاده در بردهای آردوینو Due ، Zero :

    attachInterrupt(pin, ISR, mode) ;

    نکته : آرگومان pin در این تابع شماره پایه مورد نظر است. آرگومان ISR شماره ISR است که با رخ دادن وقفه باید اجرا شود. این تابع هیچ مقداری را به عنوان ورودی نمی گیرد و هیچ مقداری را برنمیگرداند. به این تابع گاهی اوقات سرویس روتین وقفه نیز گفته می شود. آرگومان mode نیز تعیین کننده این است که وقفه باید در چه شرایطی رخ دهد.

    سه ثابت زیر نیز به صورت پیشفرض برای mode تعریف شده اند :

    • LOW : رخ دادن وقفه زمانی که ولتاژ پایه در سطح پایین قرار می گیرد.
    • CHANGE : رخ دادن وقفه زمانی که ولتاژ پایه تغییر می کند.
    • FALLING : رخ دادن وقفه زمانی که ولتاژ پایه از سطح بالا به پایین تغییر می کند.

    مثال :

    به مثال زیر به دقت توجه کنید. نحوه عملکرد وقفه ها و روتین وقفه مشخص است.

    int pin = 2; //define interrupt pin to 2
    volatile int state = LOW; // To make sure variables shared between an ISR
    //the main program are updated correctly,declare them as volatile.
    
    void setup() {
     pinMode(13, OUTPUT); //set pin 13 as output
     attachInterrupt(digitalPinToInterrupt(pin), blink, CHANGE);
     //interrupt at pin 2 blink ISR when pin to change the value
    } 
    void loop() { 
     digitalWrite(13, state); //pin 13 equal the state value
    }
    
    void blink() { 
     //ISR function
     state = !state; //toggle the state when the interrupt occurs
    }

    به پایان این جلسه از آموزش آردوینو (وقفه ها در آردوینو) رسیدیم امیدواریم در پروژه های خود بتوانید از وقفه آردوینو کمک بگیرید. برای مشاهده جلسات قبل و بعد اینجا کلیک کنید.

    دیگر جلسات این آموزش

    پروتکل های ارتباطی در آردوینو ، به منظور ایجاد ارتباط تا کنون صدها پروتکل ارتباطی ابداع شده اند. هر پروتکل را می توان در یکی از این دو دسته بندی قرار داد : موازی یا سریال

    پروتکل های ارتباطی در آردوینو

    ارتباط موازی

    ارتباط موازی بین آردوینو و تجهیزات دیگر توسط پورت های ورودی و خروجی برای مسافت های کوتاه تا حداکثر چند متر میتواند مناسب باشد. اگرچه بدیهی است برای مسافت های طولانی تر امکان استفاده از ارتباط موازی وجود ندارد. در ارتباط موازی چندین بیت به صورت همزمان ارسال می شود. در این ارتباط معمولا نیاز به گذرگاه داده وجود دارد که ممکن است از ۸ ، ۶ یا تعدادی بیشتر سیم تشکیل شده باشد. داده ها در این ارتباط به صورت جریانی از صفر و یک به صورت پشت سر هم ارسال می شوند.

    ارتباط موازی 

    مزیت ها و معایب ارتباط موازی :

    ارتباط موازی دارای مزیت هایی است که از جمله میتوان به سرعت بیشتر نسبت به ارتباط سریال، سادگی در نوع ارتباط و سادگی در پیاده سازی اشاره کرد. اگرچه عیب آن نیازمند بودن به تعداد زیادی پورت ورودی/خروجی و پایه است. اگر تا به حال تجربه انتقال یک پروژه را از برد آردوینو Uno به Mega داشته باشید حتما میدانید که تعداد پایه های مورد استفاده تا چه اندازه هزینه بر و ارزشمند است. بنابراین ما معمولا از ارتباط سریال استفاده می کنیم و قید سرعت بیشتر ارتباط موازی را به ازای کاهش تعداد پایه ها می زنیم!

    ماژول های ارتباط سریال

    امروزه بردهای آردوینو شامل تعدادی سیستم داخلی به منظور پشتیبانی از ارتباطات استاندارد است. انتخاب هریک از این بخش ها وابسته با فاکتورهای زیر است :

    • تعداد قطعاتی که میکروکنترلر باید با آنها ارتباط برقرار کند؟
    • سرعت مورد نیاز برای ارتباط؟
    • فاصله بین قطعات؟
    • آیا نیاز به ارسال و دریافت همزمان وجود دارد؟

    یکی از مهم ترین مسائلی که در ارتباط سریال وجود دارد بحث پروتکل می باشد که باید به دقت مورد بررسی قرار گیرد. پروتکل در واقع مجموعه ای از قوائد است که به موجب آنها دو قطعه میتوانند اطلاعاتی که رد و بدل می شود را به درستی تحلیل کنند. خوشبختانه آردوینو خودش این کار را انجام می دهد، بنابراین وظیفه برنامه نویس ساده است و کافی است به سادگی فقط فرمان ارسال یا دریافت را بدهد.

    انواع ارتباط های سریال

    یک ارتباط سریال را میتوان در یکی از دو دسته بندی زیر قرار داد :

    • همزمان (سنکرون) : در این ارتباط یک واحد کلاک وجود دارد که زمان بندی فرستنده و گیرنده با آن تنظیم می شود.
    • غیرهمزمان (آسنکرون) : در این ارتباط یک واحد کلاک یکسان وجود ندارد و زمان بندی فرستنده و گیرنده توسط واحد کلاک خودشان تنظیم می شود و توسط لبه ی سیگنال ها تحریک می شوند.

    برای این که متوجه بشویم که ارتباط سنکرون است یا آسنکرون کافی است نگاه کنیم که یک کلاک واحد برای همه قطعات وجود دارد یا خیر؟ اگر وجود داشت باشد ارتباط سنکرون است و در غیر اینصورت ارتباط آسنکرون است.

    به عنوان مثال ارتباط UART (ارتباط سریال ارسال و دریافت آسنکرون) یک ارتباط آسنکرون است.

    در پروتکل های سریال آسنکرون تعدادی قوائد داخلی وجود دارد. این قوائد در واقع جهت اطمینان از ارتباط صحیح و بدون خطا می باشند. این قوائد که به منظور همزمان کردن سیگنال های کلاک مورد استفاده قرار میگیرند عبارت اند از :

    • بیت های همزمان سازی
    • بیت های داده
    • بیت های پریتی (زوجیت)
    • باود ریت (نرخ ارسال بیت ها)

    بیت های همزمان سازی :

    بیت های همزمان سازی

    بیت های داده :

    حجم داده های در هر بسته را میتوان در ظرفیت های از ۵ تا ۹ بیت تنظیم نمود. قطعا ظرفیت استاندارد همان ۸ بیت یا یک بایت است اما ظرفیت های دیگر نیز کاربردهای خود را دارد. به عنوان مثال بسته های ۷ بیتی میتواند از بسته های ۸ بیتی بهینه تر باشد به خصوص زمانی که در حال انتقال کاراکترهای ۷ بیتی اسکی باشید.

    بیت های پریتی :

    کاربر میتواند انتخاب کند که آیا یک بیت پریتی وجود داشته باشد یا خیر و همچنین نوع آن یعنی زوج یا فرد بودن آن نیز قابل تنظیم است. در پریتی زوج بیت پریتی در صورتی که تعداد ۱ ها زوج باشد برابر صفر خواهد بود. پریتی فرد نیز عکس این حالت خواهد بود.

    نرخ انقال بیت ها

    عبارت باود ریت نشان دهنده تعداد بیت های ارسال شده در یک ثانیه است[bps]. توجه شود که اینجا بیت ها مهم هستند نه بایت ها. معمولا در پروتکل لازم است که به همراه بایت ها تعدادی بیت های کنترلی ارسال شود، به این معنا که یک بایت در ارتباط سریال ممکن است از ۱۱ بیت تشکیل شده باشد. به عنوان مثال اگر باود ریت برابر ۳۰۰ bps باشد حداکثر ۳۷ بایت و حداقل ۲۷ بایت میتوانند در یک ثانیه ارسال شوند.

    واحد UART آردوینو

    با اجرای کد زیر کلمه hello world از طریق ارتباط سریال آردوینو ارسال می شود.

    void setup() {
     Serial.begin(9600); //set up serial library baud rate to 9600
     Serial.println("hello world"); //print hello world
    }
    
    void loop() {
    
    }

    پس از این که برنامه آردوینو را روی برد ریختید، پنجره Serial monitor را از بالا سمت راست نرم افزار آردوینو باز کنید.

    هرچیزی که میخواهید در جعبه بالای پنجره تایپ کنید و دکمه send در پنجره یا Enter روی صفحه کلید را فشار دهید. با این کار مجموعه ای از بایت ها به سمت آردوینو ارسال می شود.

    کد زیر هرآنچه که به عنوان ورودی دریافت می کند را برمیگرداند.

    کد زیر باعث می شود آردوینو متناسب با آنچه به عنوان ورودی میگیرد خروجی خود را ایجاد کند.

    void setup() {
     Serial.begin(9600); //set up serial library baud rate to 9600
    }
    
    void loop() {
     if(Serial.available()) //if number of bytes (characters) available for reading from { 
     serial port
     Serial.print("I received:"); //print I received
     Serial.write(Serial.read()); //send what you read
     }
    }

    توجه شود که Serial.print و Serial.println کد اسکی را بازمیگردانند ولی Serial.write خود متن اصلی را باز می گرداند. برای اطلاعات بیشتر به جدول کد های اسکی مراجعه شود.

    دیگر جلسات این آموزش

    در این بخش از آموزش چگونگی نصب و استفاده از VNC روی رزبری پای را شرح خواهیم داد . این برنامه به شما این امکان را می دهد تا محیط دسکتاپ رزبری پای خود را به طور گرافیکی از راه دور مشاهده و با موس آن را کنترل کنید.در ادامه با ما باشید تا ادامه کنترل از راه دور رزبری پای با VNC   را باهم دنبال کنیم.

    آموزش کنترل از راه دور رزبری پای با VNC

    VNC چیست ؟

    شبکه مجازی رایانه (Virtual Network Computing) یا VNC، سیستم تعریف شده برای انتقال محتویات کامپیوتر با استفاده از پروتکل RFB یا RemoteFrameBuffer است تا بتوان از راه دور کامپیوتری را کنترل نمود. این سیستم، تصویر نقش بسته به روی کامپیوتر راه دور را به کامپیوتر کاربر در مکانی دیگر ارسال می‌کند و همچنین اطلاعات کلیدهایی که کاربر فشار می‌دهد یا کلیک‌های موش‌واره را به کامپیوتر مقصد می‌رساند. با این روش می‌توان به هر کامپیوتری تحت شبکه وصل شد و آن را همانند کامپیوتر معمولی هدایت نمود.منبع:ویکی پدیا

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

    ارتباط با رزبری پای از این طریق میتواند از شلوغی میز کار کم کند و دردسر داشتن چندین موس و کیبورد را از بین ببرد . همچنین از این طریق می توانید رزبری پای خود را در جای دیگری روی شبکه قرار دهید اما همچنان آن را کنترل کنید .

    پیش نیاز های درس

    نصب VNC

    SSH ( مراجعه به قسمت قبلی آموزش) اغلب  تمام آن چیزیست که برای کنترل رزبری پای خود نیاز دارید اما گاهی اوقات کنترل از راه دور رزبری پای با استفاده از موس و دیدن آن چه که روی صفحه رزبری پای مشاهده میشود می تواند مفید باشد .

    VNC  یا Virtual Network Connection  یک استاندارد برای انجام این کار است . برای استفاده از آن باید چند برنامه را روی رزبری پای خود نصب کنید. تعداد زیادی برنامه سرور  VNC در اینترنت موجود هستند و برنامه ای که ما از آن استفاده می کنیم “tightvnc” نام دارد . می توان این برنامه را از طریق ارتباط SSH که در قسمت قبلی آموزش ساختیم نصب کرد.

    دستور زیر را در ترمینال SSH خود وارد کنید :

    sudo apt-get update
    sudo apt-get install tightvncserver

    نصب VNC

    از شما خواسته می شود تا نصب را با تایپ کردن “Y” تایید کنید . سپس بعد از اتمام نصب باید پنجره زیر را مشاهده کنید :

    نصب VNC

    اکنون باید سرور VNC را راه اندازی کنیم , بنابراین دستور زیر را در پنجره SSH وارد کنید :

    vncserver :1

    نصب VNC

    از شما خواسته می شود که یک رمز عبور وارد و آن را تایید کنید . منطقی است که از “raspberry” برای این کار استفاده کنید اما رمزعبور می تواند تنها ۸کاراکتر باشد بنابراین از “rasbpberr” استفاده می کنیم . توجه داشته باشید که این رمزعبوری است که برای ارتباط از راه دور با رزبری پای نیاز دارید .

    همچنین از شما پرسیده می شود که آیا می خواهید یک رمزعبور فقط خواندنی نیز ایجاد کنید – پاسخ دهید نه .

    از این لحظه به بعد تنها دستوری که باید در SSH وارد کنید تا سرور VNC آغاز به کار کند دستور زیر خواهد بود :

    vncserver :1

    اکنون سرور VNC در حال اجراست و می توانیم به آن متصل شویم اما ابتدا باید روی کامپیوتری که می خواهیم از طریق آن رزبری پای را کنترل کنیم یک کلاینت VNC برای ارتباط با رزبری پای ایجاد کنیم .

    استفاده از یک کلاینت VNC

    مانند سرور های VNC تعداد زیادی کلاینت VNC نیز موجود است که از بین آن ها VNC Viewer برای اکثر پلتفرم ها موجود است و با TightVNC نیز به خوبی کار می کند .

    لینک وبسایت realvnc

    هنگامی که برای بار اول VNCViewer  را اجرا می کنید , پنجره زیر را مشاهده می کنید :

    استفاده از یک کلاینت VNC

    آدرس IP رزبری پای خود را وارد کنید :۱ را در انتهای آن اضافه کنید (برای مشخص کردن پورت ) و روی “Connect” کلیک کنید . یک پیغام هشدار دریافت می کنید , ‘Continue’ را انتخاب کنید .

    استفاده از یک کلاینت VNC

    سپس پنجره زیر نمایان می شود تا در آن رمزعبور خود را وارد کنید (“raspberry”) .

    استفاده از یک کلاینت VNC

    نهایتا پنجره VNC به طور خودکار باید ظاهر شود . اکنون می توانید از موس استفاده کنید و هر کاری که می خواهید انجام دهید همانگونه که با موس و کیبورد رزبری پای انجام می دادید فقط این بار از طریق موس و کیبورد کامپیوترتان .

    مانند SSH , VNC نیز روی شبکه کار می کند بنابراین تا زمانی که رزبری پای به شبکه متصل است می توانید آن را در هر مکانی قرار دهید .

    استفاده از یک کلاینت VNC

    اشتراک گذاری صفحه داخلی

    یک نرم افزار VNC داخلی در Mac OS X موجود است که می توانید از آن بدون نصب هیچ نرم افزاری استفاده کنید .

    از جستجوگر Go->Connect to Server را انتخاب کنید و vnc://192.168.1.10  (یا هر آنچه که آدرس IP است ) را وارد کنید تا اتصال برقرار شود .

    اجرای  VNCServer در هنگام شروع به کار

    نکته مهم : این روش فقط هنگامی کار می کند که رزبری پای خود را روی ورود خودکار به محیط دسکتاپ تنظیم کرده باشید . به قسمت دوم آموزش مراجعه کنید .

    ارتباط با رزبری پای از راه دور از طریق VNC تا زمانی که رزبری پای ریبوت نشود مشکلی نخواهد داشت. اما اگر این اتفاق بیافتد آنگاه یا باید از طریق SSH متصل شوید و سرور VNC را ریستارت کنید یا سرورVNC را به گونه ای تنظیم کنید که بعد از ریبوت شدن رزبری پای به طور خودکار ریستارت شود.

    روش های مختلفی برای اجرای یک سری کد همزمان با روشن شدن رزبری پای وجود دارد . روشی که در ادامه توضیح داده شده ساده ترین آن هاست.  می توانید از آن برای اجرای دستورات دیگر به جای ریستارت کردن سرور VNC نیز استفاده کنید .

    مرحله ۱

    پنجره ترمینال را روی رزبری پای باز کنید یا از طریق SSH متصل شوید . یک پنجره ترمینال یا SSH جدید با دایرکتوری /home/pi باز خواهد شد . اگر در این دایرکتوری نیستید با دستور زیر با آن بروید :

    $ cd /home/pi

    سپس با تایپ خط زیر به دایرکتوری .config بروید :

    $ cd .config

    توجه داشته باشید که ‘.’ ابتدای نام پوشه به معنی مخفی بودن آن است که یعنی اگر دستور “ls” را تایپ کنید این پوشه را نخواهید دید.

    مرحله ۲

    دستور زیر را اجرا کنید تا یک دایرکتوری جدید داخل .config به نام ‘autostart’ ایجاد شود .

    $ mkdir autostart

    به دایرکتوری جدید با دستور زیر cd کنید :

    $ cd autostart

    اجرای  VNCServer در هنگام شروع به کار

    مرحله ۳٫

    تنها کاری که باقی می ماند ویرایش یک configuration file جدید است . دستور زیر را تایپ کنید تا ویرایشگر nano را روی فایل جدید باز کند .

    $ nano tightvnc.desktop

    محتوای فایل را با متن زیر ویرایش کنید :

    [Desktop Entry]
    Type=Application
    Name=TightVNC
    Exec=vncserver :1
    StartupNotify=false

    اجرای  VNCServer در هنگام شروع به کار

    Ctrl-X و سپس Y را بزنید تا تغییرات فایل ذخیره شود .

    اکنون دفعه بعدی که رزبری پای خود را ریبوت کنید سرور VNC به طور خودکار ریستارت می شود .

    اشتراک گذاری صفحه و فایل Mac

    اگر از Mac استفاده می کنید و چندین Mac روی شبکه خود دارید آنگاه حتما مشاهده کرده اید که Mac های دیگر به طور خودکار در Finder ظاهر شوند تا بتوانید وارد آن ها شوید و در فایل های آن ها جستجو کنید یا آن ها را از راه دور کنترل کنید .

    اشتراک گذاری صفحه و فایل Mac

    سیستم اشتراک گذاری Mac ها از VNC استفاده می کند بنابراین اگر TightVNC را نصب کرده اید می توانید با یک سری تنظیمات مختصر آن را به Mac های دیگر روی شبکه بشناسانید .

    آموزش اینجا (انگلیسی) نحوه انجام این کار و همچنین نصب سرور TightVNC را توضیح می دهد که البته به مورد دوم نیازی نیست زیرا قبلا توضیح داده شده .

    هنگامی که به درستی انجام شدقادر خواهید بود به سیستم فایل های رزبری پای خود دسترسی داشته باشید .

    اشتراک گذاری صفحه و فایل Mac

    به یاد داشته باشید که نوار کاربر را به pi تغییر دهید و رمزعبور پیشفرض نیز مانند قبل ‘raspberry’ می باشد .

    اشتراک گذاری صفحه و فایل Mac

    این روش کپی کردن فایل ها بین Mac و رزبری پای را بسیار آسان می کند .

    اگر روی دکمه Share Screen کلیک کنید بار دیگر از شما در مورد وارد شدن به سیستم پرسیده می شود .

    اشتراک گذاری صفحه و فایل Mac

    این بار رمز عبور همانیست که برای سرور VNC تعیین کردید . که ما آن را ‘raspberr” قرار دادیم .

    اکنون باید یک پنجره VNC با استفاده از VNC viewer داخلی Mac را شاهد باشید .

    کنترل از راه دور رزبری پای با VNC

    تست و راه اندازی

    امکان اتصال به رزبری پای  از راه دور به این شیوه می تواند بسیار مفید باشد . اما مانند SSH باید آدرس IP رزبری پای خود را بدانید تا بتوانید اتصال را برقرار کنید . همچنین بهتر است lease time روتر خود را روی طولانی ترین حالت ممکن قرار دهید .

    برای این کار وارد سیستم روتر خود شوید , تنظیمات DHCP را بیابید و DHCP lease time را روی بیشترین مقدار تنظیم کنید یا اگر گزینه Permanent Lease وجود دارد آن را فعال کنید .

    کنترل از راه دور رزبری پای با VNC

    این کار به شما اطمینان خواهد داد که رزبری پای شما همواره یک آدرس IP را دریافت می کند .

    اگر در زمینه تنظیمات شبکه تبحر دارید می توانید به رزبری پای خود یک آدرس IP استاتیک اختصاص دهید اما اگر رزبری پایتان را بین شبکه های مختلف جابجا کنید این کار ممکن است دردسرساز شود .

    اگر می خواهید اندازه صفحه VNC را تغییر دهید گزینه زیر را به انتهای دستور اجرای سرور VNC اضافه کنید . این روش در هر دومورد اجرای خودکار و دستی سرور VNC کار میکند .

    vncserver :1 -geometry 1440x900

    ابعاد وارد شده بعد از -geometry عرض و طول صفحه به پیکسل هستند .

    به پایان آموزش کنترل از راه دور رزبری پای با VNC رسیدیم، امیدواریم برایتان مفید واقع شده باشد. برای مطالعه جلسات بیشتر به اینجا مراجعه کنید.

    دیگر جلسات این آموزش

    ابر IoT Salesforce بستری برای نگهداری و پردازش داده می باشد که از موتور Thunder برای پردازش های بلادرنگ و مقیاس پذیر استفاده می کند. مجموعه توسعه نرم افزار آن با نام صاعقه (Lightning) به برنامه ها قدرت می دهد . داده از دستگاه ها , وبسایت ها , برنامه ها , مشتریان و همکاران جمع آوری می شود تا اعمالی را برای پاسخ های بلادرنگ فعال کند .

     پلتفرم Electric Imp و Salesforce اینترنت اشیا 

    Salesforce , پیشتاز CRM , بدلیل نیاز به رقابتی باقی ماندن در عصر آتی تصمیم گرفت به این حوزه ورود پیدا کند . ابرهای IoT با گسترش حوزه و عمق تحلیل ها به Salesforce کمک می کند .

    پلتفرم Electric Imp

    پلتفرم Electric Imp روش توصیه شده Salesforce برای متصل کردن سریع دستگاه ها به فضای ابری است .  شما برنامه ها را از طریق زبان برنامه نویسی Squirrel توسعه می دهید که یک زبان اسکریپت سطح بالا, شی گرا و سبک است . برنامه ها از دو ماژول تشکیل می شوند : ماژول دستگاه که روی دستگاه اجرا می شود و ماژول عامل که روی کلود Electric Imp اجرا می شود . پلتفرم از ارتباط ایمن بین ماژول ها اطمینان حاصل می کند و شما به دستگاه ها با یک فراخوانی ساده پیام ارسال می کنید –

    agent.send("nameOfmessage", data);

    گوش دادن به دستور ها روی عامل با کد زیر –

    device.on("nameOfmessage", function(data) { 
     //Data operations
    
    });

    فرای این امور ساده , برنامه نویسی برای تعامل با دستگاه ,  نظارت بر آن و پاسخ دهی شبیه به توسعه برنامه وب می باشد و از یک سینتکس ساده و راحت بهره می برد .

     

    دیگر جلسات این آموزش

    فرض کنید تو خونه نشستید و مشغول وبگردی هستید. تو آدرس بار مرورگرتون بعد از وارد کردن یه آدرس ip مشخص وارد صفحه ای میشین که می تونین از طریق اون تو یه نقطه دیگه ای یه موتور رو روشن کنید یا یه مداری رو راه اندازی کنید و یا هر دستور و کار الکترونیکی دیگه ای که بخواین!

    در مورد پروژه ای صحبت می کنم که فقط متشکل از یک آردوینو و شیلد ethernet هستش. شیلد ethernet شامل چیپ wiznet W5100 هستش که قابلیت ایجاد یک شبکه (IP Address) با امکان TCP و UDP رو داره. این شیلد یه شکاف SD-Card هم داره برای فایل ها و استفاده از اونا رو شبکه. بورد آردوینو از طریق پورت SPI (همون هدر ICSP) با Wiznet W5100 و SD-Card ارتباط برقرار می کنه. چون پورت SPI همزمان توسط wiznet W5100 و SD-Card اشغال شده امکان فعال بودن هر دو همزمان برقرار نیست و هر لحظه فقط یکی از wiznet W5100 یا SD-Card میتونه اکتیو باشه.

    این شیلد واسطه آردوینو و شبکه خانگی شما هستش و در اون از کابل استاندارد شبکه, RJ45 استفاده میشه و با بکارگیری چند دستور ساده در IDE آردوینو می توانید محیط پیرامون خودتون رو از طریق روتر کنترل کنید.

    تو این پروژه ما یه ال ای دی و یه سروو موتور رو کنترل می کنیم ولی شما میتوین با تغییرات تو برنامه هر وسیله الکترونیکی رو که بخوای کنترل کنید. برای مثال رله, بازر, موتور DC یا استپ موتور.

    با آردوینو یک وب‌سرور بسازید

    قطعاتی که باید تهیه کنید عبارتند از:

    Arduino Uno
    Ethernet Shield
    ۲۲۰ Ohm Resistor
    LED
    Micro Servo Motor
    Breadboard
    Jumper Cables
    
    

    نحوه کار سیستم بدین شکله که وقتی که کدی رو که پایین قرار دادم رو آپلود کنید روی بورد آردوینو و شیلد ethernet رو به اینترنت متصل کنید روی Lan شما یه وب سرور ایجاد می کنه که شما براحتی میتونین بوسیله IP Address از طریق براوزرتون بهش دسترسی پیدا کنین. بعد از اون با صفحه ای مشابه تصویر زیر مواجه میشید:

    Untitled

    وقتی روی دکمه “Turn On LED” کلیک کنید URLتون به آدرس “http://192.168.1.178/?button1on” تغییر پیدا می کنه. اونوقت بورد آردوینو اصلاعات رو میخونه و ال ای دی رو روشن می کنه. بصورت پیشفرض آدرس IP همونطور که می تونید تو کد برنامه ببینید “۱۹۲٫۱۶۸٫۱٫۱۷۸” هستش.

    برنامه نویسی آردوینو:

    #include <SPI.h>
    #include <Ethernet.h>
    #include <Servo.h> 
    int led = 4;
    Servo microservo; 
    int pos = 0; 
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    //physical mac address
    byte ip[] = { 192, 168, 1, 178 };
    // ip in lan (that's what you need to use in your browser. ("192.168.1.178")
    byte gateway[] = { 192, 168, 1, 1 };
    // internet access via router
    byte subnet[] = { 255, 255, 255, 0 };
    //subnet mask
    EthernetServer server(80);
    //server port     
    String readString;
    
    void setup() {
    // Open serial communications and wait for port to open:
    Serial.begin(9600);
    while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
    }
    pinMode(led, OUTPUT);
    microservo.attach(7);
    // start the Ethernet connection and the server:
    Ethernet.begin(mac, ip, gateway, subnet);
    server.begin();
    Serial.print("server is at ");
    Serial.println(Ethernet.localIP());
    }
    
    
    void loop() {
    // Create a client connection
    EthernetClient client = server.available();
    if (client) {
    while (client.connected()) {   
    if (client.available()) {
    char c = client.read();
         
    //read char by char HTTP request
    if (readString.length() < 100) {
    //store characters to string
    readString += c;
    //Serial.print(c);
    }
    
    //if HTTP request has ended
    if (c == 'n') {          
    Serial.println(readString); //print to serial monitor for debuging
         
    client.println("HTTP/1.1 200 OK"); //send new page
    client.println("Content-Type: text/html");
    client.println();     
    client.println("<HTML>");
    client.println("<HEAD>");
    client.println("<meta name='apple-mobile-web-app-capable' content='yes' />");
    client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />");
    client.println("<link rel='stylesheet' type='text/css' href='http://randomnerdtutorials.com/ethernetcss.css' />");
    client.println("<TITLE>freeterminal.ir Tutorials Project</TITLE>");
    client.println("</HEAD>");
    client.println("<BODY>");
    client.println("<H1>freeterminal.ir Tutorials Project</H1>");
    client.println("<hr />");
    client.println("<br />");  
    client.println("<H2>Arduino with Ethernet Shield</H2>");
    client.println("<br />");  
    client.println("<a href="/?button1on"">Turn On LED</a>");
    client.println("<a href="/?button1off"">Turn Off LED</a><br />");   
    client.println("<br />");     
    client.println("<br />"); 
    client.println("<a href="/?button2on"">Rotate Left</a>");
    client.println("<a href="/?button2off"">Rotate Right</a><br />"); 
    client.println("<p>Created by freeterminal.ir. Visit http://freeterminal.ir for more projects!</p>");  
    client.println("<br />"); 
    client.println("</BODY>");
    client.println("</HTML>");
         
    delay(1);
    //stopping client
    client.stop();
    //controls the Arduino if you press the buttons
    if (readString.indexOf("?button1on") >0){
    digitalWrite(led, HIGH);
    }
    if (readString.indexOf("?button1off") >0){
    digitalWrite(led, LOW);
    }
    if (readString.indexOf("?button2on") >0){
    for(pos = 0; pos < 180; pos += 3)
    // goes from 0 degrees to 180 degrees 
    {
    // in steps of 1 degree 
    microservo.write(pos);
    // tell servo to go to position in variable 'pos' 
    delay(15);
    // waits 15ms for the servo to reach the position 
    } 
    }
    if (readString.indexOf("?button2off") >0){
    for(pos = 180; pos>=1; pos-=3)
    // goes from 180 degrees to 0 degrees 
    {                                
    microservo.write(pos);
    // tell servo to go to position in variable 'pos' 
    delay(15);
    // waits 15ms for the servo to reach the position 
    } 
    }
    //clearing string for next read
    readString="";  
               
    }
    }
    }
    }
    }
    

    نکته: اگر بخواین این پروژه رو عملی کنید باید بدونین که فقط می تونین از محلی که روتر هستش به IP Address دسترسی داشته باشین. در واقع شما برای دسترسی به آدرس IPتون باید حتما به همون روتری کانکت بشین که شیلد ethernet خودتون رو بهش متصل کردید.

    نویسنده مقاله : ساجد رسولی‌فر

© تمامی حقوق مطالب برای وبسایت آلفا باکس محفوظ است و هرگونه کپی برداری بدون ذکر منبع ممنوع و شرعا حرام می باشد.
قدرت گرفته از : بک لینکس