با هر بار متصل شدن رزبری به شبکه، آی پی جدیدی به آن اختصاص داده میشود، این مسئله هنگام کنترل سیستم از طریق شبکه مشکلاتی را پدید میآورد و از طرفی هم استفاده و یادآوری یک اسم آسانتر از به کار بردن یک عدد چند رقمی است. برای برطرف کردن این مشکلات در شبکه محلی به رزبری یک دامنه (Domain) اختصاص میدهیم.
خوشبختانه ابزار کار بسیار ساده هست و تقریبا بدون هیچ تنظیم خاصی و با نصب بسته Avahi دامنه مورد نظر با پسوند local به سیستم اختصاص داده میشود. بسته Avahi، یک شبکه zeroconf را برای ما به ارمغان میآورد. (در مورد شبکههای zeroconf در ویکی پدیای فارسی و انگلیسی بیشتر بخوانید.)
نصب avahi:
1 2 |
sudo apt-get update sudo apt-get install avahi-daemon |
بعد از نصب اگر خطایی وجود نداشته باشد، در شبکه محلی دامنه raspberrypi. local (به صورت پیشفرض) در دسترس است، اما چنان که هنگام ping گرفتن با پیغام ناشناخنه بودن هاست مواجه شدید مانند:
در لینوکس:
1 2 |
######@linux-ucbi:~> ping raspberry.local ping: unknown host raspberrypi.local |
در ویندوز:
1 2 |
C:\Users\######> ping raspberrypi.local Ping request could not find host raspberry.local. Please check the name and try again. |
ابتدا باید از باز بودن پورت UDP 5353 در سیستم درخواست کننده مطمئن شوید (فایروال را چک کنید)، مسئله بعدی پشتیبانی سیستم درخواست کننده از شبکههای زیروکانف است، کامپیوترها و دیوایسهایی که از مک بهره میبرند به صورت پیشفرض از این نوع شبکهها پشتیبانی میکنند اما در ویندوز باید بسته نرم افزاری بنژور (Bonjour که میتوانید از اینجا دانلود کنید.) نصب شود و در سیستمهای مبتنی بر لینوکس این امکان با نصب بسته Avahi فراهم میشود. متاسفانه من روش و یا نرم افزاری که بتواند امکان پشتیبانی اندروید را از این نوع شبکهها محیا سازد نتوانستم پیدا کنم، فقط کتابخانهای برای توسعه دهندهها و برای آنکه از این نوع شبکه در برنامههایشان استفاده کنند وجود دارد و فعلا (تا جایی که من پیدا کردم) تنها ابزاری که در اندروید میتواند در مورد این شبکهها کمک کند برنامهٔ ZeroConf Browser است، این برنامه کلیه دامنههایی که در شبکه محلی شما با استفاده از زیروکانف وجود دارند را شناسایی و آی پی آنها را در اختیارتان میگزارد و میتوانید عملیات مورد نظرتان را با آی پی انجام دهید.
تغییر نام دامنه:
ترمینال را باز کنید و بزنید:
1 |
sudo nano /etc/hosts |
چیزی شبیه این در ترمینال باز خواهد شد:
بی انکه با سطر های دیگر کاری داشته باشید به سطر آخر بروید، همان سطری که با برچسب 127.0.1.1 مشخص شده است و hostname آن به صورت پیشفرض “raspberrypi” است ، این عبارت را به هر اسم دلخواهی (مثلا : my-raspberry ) که می خواهید بر روی رزبری تان بگزارید ( دامنه مورد نظر) تغییر دهید ، حالا با “ Ctrl + x “ از ویرایشگر خارج شوید، با درخواست دوباره نوشتن فایل و ذخیره آن موافقت کنید. در گام بعدی در ترمینال بزنید:
1 |
sudo nano /etc/hostname |
در این فایل تنها hostname فعلی وجود دارد که همان “raspberrypi” است ، این عبارت را به همان اسمی که در مرحله قبل انتخاب کردید (دامنه مورد نظر ) تغییر دهید ، فایل را ذخیره و از ویرایشگر خارج شوید. رزیبری را دوباره راه اندازی ( reboot ) کنید:
1 |
sudo reboot |
کار دیگر تمام است و رزبری را با دامنه مورد علاقه تان و با پسوند “ local “ در شبکه محلی دارید. ( مثال : my-raspberry.local )
بدیهی است که آنچه در بالا آمده در تمامی توزیع های لینوکس نهایتا با کمی تغییر ( بسته به نصاب بسته ها و مکان فایل ها) قابل پیاده سازی است.
منبع: شمشاد