چگونه Raspberry Pi را به یک سرور چاپگر بی سیم تبدیل کنیم؟
یک چاپگر راحت ترین دستگاه جانبی نیست؛ بخصوص پرینترهای قدیمی در اکثر میزهای کار با ظاهر نامناسب به نظر می رسند و هنگام چاپ صفحات، یک آشوب و بی نظمی ایجاد می کنند.
میتوانید با پرداخت هزینه اضافه تر بابت خرید یک چاپگر شبکه جدید و جذاب که در گوشهای قرار دارد و میتواند سفارشات چاپ را از هر رایانهای در شبکه محلی دریافت کند،این نابسامانی را از بین ببرید و یا میتوانید چاپگر USB معمولی خود را به Raspberry Pi متصل کنید و از همان امکانات ارائه شده لذت ببرید.
اگر قبلاً از چاپگر خود در لینوکس استفاده نکردهاید، قبل از شروع این پروژه به وبسایت Open Printing بروید تا بررسی کنید که آیا چاپگر شما با نرمافزار سرور چاپ CUPS سازگار است یا خیر.
اگر چاپگر شما در لیست است، آن را با استفاده از یکی از درگاههای USB به Raspberry Pi متصل کنید. برای این پروژه، ما از توزیع Raspbian استفاده می کنیم و Raspberry Pi از طریق یک آداپتور بی سیم سازگار به شبکه محلی متصل می شود.
با این حال، شما می توانید Raspberry Pi را از طریق درگاه اترنت سیمی به شبکه خود متصل کنید.
می توانید با دسترسی از راه دور به Raspberry Pi از هر رایانه دیگری در شبکه، دستورالعمل های این آموزش را دنبال کنید. فقط مطمئن شوید که سرور SSH داخل Raspbian با استفاده از ابزار raspi-config فعال است. همچنین بهتر است یک آدرس IP ثابت به Raspberry Pi اختصاص دهید.
شما می توانید این کار را به راحتی از داخل صفحه مدیریت روتر خود انجام دهید. برای این آموزش فرض می کنیم که آدرس IP Raspberry PI شما 192.168.3.111 است.
اکنون می توانید با استفاده از کلاینت PuTTY یا از هر توزیع لینوکس با دستور SSH CLI به Pi از داخل ویندوز دسترسی داشته باشید :
$ sudo ssh pi @ 192.168.3.111
CUPS را نصب کنید
پس از ورود به Raspbian، مخازن (repos) را با به روز رسانی $ sudo apt-get به روز کنید و سپس هر به روز رسانی را با ارتقاء $ sudo apt-get نصب کنید . اکنون سرور چاپ CUPS را با $ sudo apt-get install cups بکشید
پس از نصب، کاربر خود را به گروه ایجاد شده توسط CUPS به نام lpadmin اضافه کنید که به صف چاپگر دسترسی دارد.

چگونه-Raspberry-Pi-را-به-یک-سرور-چاپگر-بی-سیم-تبدیل-کنیم؟
همچنین می توانید اسناد گسترده آن را از کنترل پنل مبتنی بر مرورگر CUPS مرور کنید
مگر اینکه یک کاربر سفارشی ایجاد کرده باشید، کاربر پیش فرض در Raspbian pi نامیده می شود. از دستور زیر برای اجازه دادن به آن برای تعامل با چاپگر استفاده کنید: $ sudo usermod -a -G lpadmin pi
در اینجا از ابزار usermod برای اضافه کردن ( -a ) کاربر pi به گروه lpadmin ( -G ) استفاده می کنیم. بهطور پیشفرض، CUPS را فقط میتوان از رایانه محلی که روی آن نصب شده است پیکربندی کرد.
از آنجایی که در مورد ما کار نمی کند، باید فایل پیکربندی آن را ویرایش کنیم تا بتوانیم از یک کامپیوتر راه دور تغییراتی در سرور ایجاد کنیم. اول از همه، شما باید یک نسخه پشتیبان از فایل پیکربندی اصلی ایجاد کنید:
$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.orig
سپس فایل را با ویرایشگر متن باز کنید: $ sudo nano /etc/cups/cupsd.conf . در داخل فایل، به قسمت زیر بروید:
# فقط برای اتصالات از دستگاه محلی
آن خط را تبدیل به کامنت کنید (با اضافه کردن # به ابتدای خط) و یک خط دیگر اضافه کنید تا از CUPS بخواهید اتصالات را از هر کامپیوتری در شبکه بپذیرد. مطمئن شوید که بخش به شکل زیر است:
# فقط برای اتصالات از دستگاه محلی
Port 631
سپس در فایل پیکربندی به سمت پایین حرکت کنید تا به آن برسیدبخشها، و یک خط جدید اضافه کنید که درست قبل از بسته شدن بخش، Allow @local را میخواند. بخش با خط الحاقی اکنون باید به این صورت باشد:
< Location / >
# محدود کردن دسترسی به سرور
Order allow,
ney Allow @local
< /Location >
اکنون خط Allow @local را به دو بخش دیگر Location اضافه کنید –و فایل را ذخیره کنید و سرور CUPS را مجددا راه اندازی کنید: $ sudo /etc/init.d/cups restart
اکنون باید بتوانید از طریق هر رایانه ای در شبکه محلی خود با اشاره مرورگر وب به Pi خود به پنل مدیریت CUPS دسترسی داشته باشید. سپس دستورالعمل روی صفحه را دنبال کنید تا چاپگر خود را به CUPS اضافه کنید.
برخی از توزیعهای لینوکس با یک خطمشی محدودکننده فایروال iptables عرضه میشوند که اجازه اتصال از طریق پورتهای CUPS را نمیدهد.
حتی اگر Raspbian این کار را نمی کند، مطمئن شوید که با سوراخ کردن فایروال با استفاده از موارد زیر هیچ خطای غیرمنتظره ای ایجاد نمی کند:
$ sudo iptables -A INPUT -i wlan0 -p tcp -m tcp –dport 631 -j
ACCEPT
$ sudo iptables -A INPUT -i wlan0 -p udp -m udp –dport 631
-j ACCEPT
اگر به جای آداپتور بی سیم از طریق اترنت به Raspberry Pi متصل می شوید، دستور را تغییر دهید و wlan0 را با eth0 جایگزین کنید. هنگامی که در حال راه اندازی چاپگر خود با استفاده از پنل مدیریت CUPS هستید، زمان آن رسیده است که آن را برای سایر دستگاه های موجود در شبکه خود در دسترس قرار دهید.
در حالی که توزیعهای لینوکس برای شناسایی چاپگر شبکه جدید شما مشکلی نخواهند داشت، قابل مشاهده کردن آنها برای دستگاههای Windows و Apple به چند مرحله اضافی نیاز دارد.
از برگه چاپگرها، می توانید وضعیت هر کار را در هر چاپگر دنبال کنید

چگونه-Raspberry-Pi-را-به-یک-سرور-چاپگر-بی-سیم-تبدیل-کنیم؟
دسترسی به شبکه
برای ویندوز، سرور Samba را روی Raspberry Pi با $ sudo apt-get install samba نصب کنید . سپس فایل پیکربندی آن (/etc/samba/smb.conf) را در ویرایشگر متن باز کنید و قسمتی را با عنوان [چاپگرها] جستجو کنید و مطمئن شوید که شامل این خط است:
guest ok = yes
سپس به قسمت [print$] بروید و مسیر آن را به صورت زیر تغییر دهید:
path = /usr/share/cups/drivers
سپس به قسمت تنظیمات general در بالای فایل پیکربندی بروید. پارامتر گروه کاری را تغییر دهید تا به نام گروه کاری خود اشاره کند که به طور پیش فرض WORKGROUP نام دارد.
همچنین پشتیبانی wins را با افزودن خط wins support = yes فعال کنید
اکنون فایل را ذخیره کرده و Samba را با $ sudo /etc/init.d/samba restart مجدد راه اندازی کنید.
سپس به دستگاه ویندوز بروید و ویزارد Add New Printer را اجرا کنید و روی گزینه نصب چاپگر شبکه کلیک کنید. به لطف پیکربندی اصلاح شده Samba، ویزارد چاپگرهای متصل به Raspberry Pi را شناسایی و فهرست میکند.
اگر دستگاههای اپل دارید، میتوانید پشتیبانی از سیستم AirPrint اپل را فعال کنید، که به شما امکان میدهد از iPad و iPhone چاپ کنید. برای این کار، فقط Daemon Avahi را با sudo apt-get install avahi-daemon روی Raspberry Pi نصب کنید، که سپس چاپگر متصل را برای دستگاه های سازگار با AirPrint قابل مشاهده می کند.
علاوه بر توانایی استفاده از چاپگر شبکه خود از داخل برنامه های گرافیکی در تمام پلتفرم ها، می توانیم از آن برای چاپ از رابط خط فرمان نیز استفاده کنیم. علاوه بر این، ما همچنین می توانیم با استفاده از زبان برنامه نویسی پایتون با چاپگر تعامل داشته باشیم.