تا حالا به این فکر کردید که رزبریپای را به موبایل خودتان وصلکنید و فایلهای موبایل را مستقیم به برد انتقال-بدید؟ یا اینکه هرجا خواستید سریع موبایلتان را از جیب بیرون بیارید و کدنویسی کنید؟ شاید بگید: خب به چه دردی میخوره؟ شرایطی را فرضکنید که استفاده از لپتاپ یا مانیتور و کیبورد برای شما ممکن نیست و قصد دارید بخشی از کدی که نوشتید را خیلی سریع بررسیکنید. حتی از آن مهمتر زمانی است که قصد دارید یک پروژهی IOT ترکیبی با موبایل و رزبریپای انجام بدید. این شیوهی اتصال با توجه به خلاقیت و نیاز شما میتواند بسیار کاربردی باشد!! اگر میخواهید در اینباره بیشتر بدانید، در ادامهی مطلب با من همراهباشید تا نحوهی اتصال، انتقایل فایل و کنترل برد رزبریپای با گوشی موبایل را باهم بررسیکنیم. مطالبی که قرار است ببینیم، بهصورت زیر است:
- اتصال رزبریپای به موبایل با استفاده از دستورات لینوکسی و نرمافزار Termux
- اتصال توسط نرمافزار Juice SSH
- اتصال توسط نرمافزار Termius
- انتقال فایل از موبایل به رزبریپای از طریق AndFTP
قطعات مورد نیاز:
رزبریپای 4
کارت حافظه Sd Card با ظرفیت حداقل 8 GB
اتصال به رزبریپای به موبایل: جذاب برای IOT
در قسمتهای قبلی نحوهی اتصال رزبریپای به PCها و لپتاپها را بهصورت کامل بررسیکردیم. حالا شرایطی را در نظر بگیرید که توانایی استفاده از لپتاپ را ندارید یا میخواهید دادهها و فایلها را بدون واسطه از موبایل به رزبریپای خود فرستاده و آنها را پردازشکنید. این کار مخصوصاً برای پروژههای IOT و پرداش تصویر خیلی جالب خواهدبود. مثلاً با دوربین موبایل عکاسی کنید و بهصورت خودکار عکس گرفتهشده را به رزبریپای منتقل و پردازشکنید. همچنین با توجه به این که امروزه تقریباً اکثر مردم از گوشیهای هوشمند استفادهمیکنند، با کمی خلاقیت و ایدهپردازی، پروژههای ترکیبی و IOT زیادی با استفاده از این برد و موبایل میتوانید انجامدهید. اگر از این دسته افراد هستید، این مطلب برای شماست. پس بدون معطلی میخواهیم نحوهی این اتصال را بررسیکنیم:
مانند اتصال به لپتاپ در اینجا هم میتوانید موبایل خود را Hotspot کرده و رزبریپای را به آن متصلکنید یا هر دو را به یک روتر وصل و در یک شبکه قراردهید. نحوهی بدستآوردن IP برد و موبایل در این شبکه، در بخش نحوهی اتصال لپتاپ و کامپیوتر به رزبریپای بهصورت کامل آموزش دادهشدهاست. پس اگر با انجام این کار آشنا نیستید، میتوانید این مطلب را مطالعهکنید.
برای اتصال موبایل به رزبریپای از دو شیوهی کلی میتوان استفادهکرد:
- تبدیل سیستمعامل موبایل به لینوکس و استفاده از دستورات لینوکسی مانند ssh و scp
- استفاده از نرمافزارهای مختلف برای اتصال به برد (مشابه نحوهی اتصال PC ها به رزبریپای)
در ادامه این روشها را با جزییات بیشتری بررسی میکنیم.
در این آموزش فرض شده که رزبریپای شما از قبل دارای سیستمعامل است. در غیر این صورت برای نصب سیستمعامل میتوانید به آموزش راهاندازی رزبریپای ۴ با نصب سیستمعامل رزبین مراجعه کنید.
Termux: لینوکس و اندروید را همزمان داشتهباشید!
اگر با اندروید آشنا باشید، احتمالاً میدانید که این سیستمعامل مبتنی بر لینوکس نوشتهشدهاست(در واقع از کرنل لینوکس استفادهمیشود و شما نمیتوانید پکیجهای لینوکس را روی اندروید یا نرمافزارهای اندروید را روی لینوکس اجرا کنید). بنابراین وجود نرمافزارهایی برای استفاده از دستورات لینوکس روی اندروید، چیز عجیبی نیست. یکی از نرم-افزارهای رایگانی که محیط Command-Line لینوکسی را برای موبایل شما فراهممیکند، Termux است. این نرمافزار را میتوانید از Play Store دانلود کنید. Termux بهصورت پیشفرض به حافظهی موبایل شما دسترسی ندارد. بنابراین نمیتونید توسط آن فایلهای موبایل خود را مدیریتکنید یا آنها را به رزبریپای منتقلکند. برای حل این مشکل کافیست دستورات زیر را اجرا کنید:
$ termux-setup-storage
همانطور که مشاهدهمیکنید، ابتدا در دایرکتوری Home هیچ فایلی وجود نداشت، اما پس از اجرای دستور فوق، دایرکتوری storage ساختهشد.
برای دیدن فایلهای خود کافیست به پوشهی shared در storage بروید.
$ cd storage/shared
حالا برگردیم به هدف اصلی یعنی دسترسی به رزبریپای! برای این کار همانطور که گفتیم یا موبایل را Hotspot و رزبری را مستقیم به آن متصلکنید، یا هر دو را به یک روتر متصلکنید. پس از مشاهدهی IP با استفاده از روشهای گفتهشده برمیگردیم به دستورات لینوکسی ssh و scp. پس اگر با آنها آشنایی ندارید یا فراموشکردید، آنها را خیلی سریع مرور میکنیم. اما برای اطلاعات بیشتر، میتوانید بخش آموزش لینوکس را خیلی سریع مطالعهکنید!
خب گفتهبودیم که ssh برای برقراری ارتباط بین دو دستگاه لینوکسی (یا MacOS) است. موبایل که با termux لینوکسی شد، رزبریپای هم که کلاً مبتنی بر لینوکس بود پس چرا نتوانیم از ssh استفادهکنیم؟
برای این کار ابتدا باید پکیج openssh را برای termux نصبکنیم. بنابراین دستور زیر را اجرا میکنیم:
$ pkg install openssh
حالا که همهچیز آماده است نحوهی استفاده از این دستور را با هم مرور کنیم:
$ ssh نام کاربری @ ip یا Hostname
نام کاربری که pi بود، IP هم که با Wireless Network Watcher (یا در صورت Hotspot کردن گوشی از بخش تنظیمات Mobile Hotspot) بدست آوردیم. در اینجا IP برد من 192.168.0.109 است پس باید دستور زیر را در termux اجرا کنم:
$ ssh این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید
سپس با وارد کردن رمز ورود، میتوانید از رزبریپای خود استفادهکنید!
(بهجای IP میتوانید از Hostname هم استفادهکنید. نحوهی تعیین Hostname در بخش آموزش Linux بهصورت خط فرمان و در نصب و راهاندازی سیستمعامل رزبین بهصورت گرافیکی آموزش دادهشدهاست.)
حالا میخواهیم یک سری فایل را با دستور scp بین موبایل و رزبری جابهجا کنیم. برای استفاده از scp هم اگر یادتان باشد، از کد زیر استفادهمیکردیم:
$ scp نام و آدرس فایل در مبدا Username@Hostnamr: آدرس مقصد
خب برای مثال یک دایرکتوری با نام termux در حافظهی داخلی موبایل خود ایجاد کرده و در آن فایل متنی با نام test بسازید. این کار را با termux و دستورات mkdir و nano انجام میدهیم(هر دستور لینوکسی که اینجا استفادهشده، در بخش آموزش لینوکس توضیحدادیم). برای استفاده از nano پکیج آن را مشابه openssh نصب-میکنیم:
$ pkg install nano
$ mkdir termux
$ cd termux
$ nano test
سپس با دستور scp فایل ساختهشده را به Documents رزبریپای انتقالمیدهیم.
$ scp test این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید:~/Documents
همانطور که مشاهدهمیکنید، فایل tets بهدرستی انتقال یافتهاست.
برعکس همین کار را هم میتوانید از رزبریپای به موبایل انجام بدید. فقط کافیست بهجای IP رزبریپای، IP موبایل خود را وارد کنید. برای سیستمعامل IOS میتوانید از نرمافزار iSH استفادهکنید.
Juice SSH و Termius: جانشینهای Putty در اندروید
در بخش اتصال PCها به رزبریپای با Putty آشنا شدیم. نرمافزاری جهت دسترسی به محیط خط فرمان رزبریپای از طریق پروتکلهای مختلفی مانند SSH. در سیستمعامل اندروید هم نرمافزارهای زیادی مثل Putty توسعهدادهشده که از معروفترین آنها میتوان به Juice SSH و Termius اشارهکرد. این نرمافزارها در حالت عادی برای کاربران ایرانی قابل دسترسی نیستند و برای دانلود آنها باید از فیلترشکن استفادهکنید. برای این منظور در قسمت تنظیمات گوشی به بخش برنامهها رفته و در آنجا نرمافزار Play Store را پیدا کنید. روی آن کلیک و در بخش Storage، Clear Data را انتخابکنید. سپس فیلترشکن را فعال و از play Store استفادهکنید. اگر با انجام این مراحل باز هم قادر به دانلود این نرمافزارها نشدید، از فیلترشکن دیگری استفادهکنید.
نحوهی کار با این دو نزمافزار بسیار ساده و شبیه به هم است. اول Juice SSH را با هم ببینیم:
پس از اجرای ای نرمافزار با صفخهی زیر مواجه خواهیدشد. برای برقراری اتصال بخش Connections را انتخاب-کنید. سپس روی علامت + برای اضافهکردن اتصال جدید کلیککنید. در صغحهی جدید در بخش Nickname می-توانید یک نام برای این اتصال انتخابکنید. در بخش Type نیز نوع پروتکل ارتباطی و در بخش Address، IP رزبریپای را وارد کنید. سپس Identity را روی New قرار داده و در صفحهی جدید مجدداً نام انتخابی و نام حساب کاربری که میخواهید وارد آن شوید را انتخابکنید( برای رزبریپای نام کاربری بهصورت پیشفرض pi و رمز عبور آن raspberry است) این مراحل در تصویر زیر نمایش دادهشدهاست.
با زدن تیک بالای صفحه اتصال خود راتاییدکنید. سپس در Connections روی اتصال جدیدی که ساختید کلیک-کرده و پس از وارد کردن رمز، تمام! به رزبریپای وصلشدید.
نرمافزار Termius بسیار شبیه Juice SSH است. طبق تصویر زیر پس از باز کردن این نرمافزار، ابتدا برای ایجاد Connection جدید روی + کلیککنید. سپس New Host را انتخاب و در بخش Hostname or IP Address، IP رزبریپای و در پایین صفحه، Username و Password حساب کاربری برد را واردکنید. روی اتصالی که ایجاد کردید، کلیک کنید .به رزبریپای متصلشدید!
AndFTP: جانشین WinSCP در اندروید!
در آموزش قبلی، برای انتقال سریع فایلها از لپتاپ به رزبریپای و برعکس، از نرمافزار WinSCP استفادهکردیم. این نرمافزار هم رابط کاربری سادهای داشت و هم فابلها را با سرعت بالایی منتقلمیکرد. حالا میخواهم نمونهی اندرویدی آن را هم به شما معرفیکنم. زمانی که یک کد آماده یا حتی فیلم و عکسی را با گوشی خود دانلود کردید و میخواهید بدون نیاز به کابل و لپتاپ آنها را به برد خود منتقلکنید، AndFTP بسیار کاربردی خواهدبود. این برنامه را بر خلاف Juice SSH و Termius، میتوانید بهصورت رایگان دانلود و نصبکنید. طرز کار با این نرمافزار هم مثل WinSCP خیلی ساده است. پس از باز کردن نرمافزار، برای ایجاد اتصال جدید از نوار بالای صفحه + را انتخابکنید. سپس طبق تصویر سمت چپ در شگل زیر، در بخش Hostname، IP یا Hostname برد و در بخش پایینتر، نوع پروتکل ارتباطی، Username و Password برد را واردکنید. در بخش Local dir هم میتوانید دایرکتوری پیشفرض موبایل خود (در اینجا پوشهی رزبریپای از حافظهی داخلی تعیینشده) و در Remote dir دایرکتوری پیشفرض رزبریپای (در اینجا ~/Documents انتخابشده) را انتخابکنید تا بهصورت خودکار از این آدرسها فایلها ارسال و دریافتشوند. در نهایت Save را انتخاب و در صفحهی اصلی روی اتصال ایجادشدهکلیککنید.
پس از اتصال به برد، میتوانید دایرکتوری و فایلهای موجود در آن را ببینید (تصویر سمت راست). برای انتقال از برد به موبایل میتوانید فایل مورد نظر را انتخابکرده و با کلیک روی علامت ارسال ( ) از نوار بالای صفحه، آن را به دایرکتوری پیشفرضی که در بخش ایجاد اتصال معرفیکردید، ارسالکنید. همچنین برای ارسال فایل از موبایل به رزبریپای نیز روی علامت موبایل از نوار بالا کلیککنید تا وارد فایلسیستم گوشی خود شوید. سپس پس از انتخاب فایل موردنظر، با کلیک روی علامت ارسال، آن را به دایرکتوری پیشفرض رزبریپای ارسالکنید.
نسخههای اندروید و IOS نرمافزار VNC Viewer و VNC Server نیز موجود میباشد. اما به دلیل سادگی و شباهت راهاندازی آن به نسخهی دسکتاپ، در این بخش از ارائهی توضیحات خودداری کردیم. برای آشنایی با نسخهی دسکتاپ آن میتوانید به بخش اتصال و انتقال فایل از رزبریپای به لپتاپ مراجعه کنید.
خب در این بخشهم نحوهی اتصال به برد از طریق موبایل با نرمافزارهای مختلف را بررسیکردیم. حالا حدس بزنید چه چیزی میتواند این اتصال را خیلی جذابتر و کاربردیتر کند؟ اتصال از راه دور بدون نیاز به شبکهی داخلی!! برای این که بهتر متوجه شوید، یک مثال برایتان میزنم: فرضکنید برد شما در محلی مثل شرکت در حال انجام پردازش است و شما در تعطیلات و سفرید. ناگهان به هر دلیلی میخواهید به رزبریپای دسترسی داشته و چیزی را در آن تغییردهید. در این شرایط نه روتری وجود دارد و نه کابلی که شما و برد را در یک شبکه قرار دهد تا بتوانید از روش-های گفتهشده به برد متصلشوید. راه حل چیست؟ در بخش بعدی به شما خواهم گفت.
نظرات شما باعث بهبود محتوای آموزشی ما میشود. اگر این آموزش را دوست داشتید، همینطور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.
نظرات (0)