رزبری پای به عنوان کیوسک و چالش های ما در ساخت یک دستگاه تحویل غذا

مینی کامپیوتر رزبری پای
مینی کامپیوتر رزبری پای


یکی از چالش هایی که در ساخت یک دستگاه برای تحویل غذا وجود داره ، سخت افزار مناسب هست

خیلی از شرکت ها در ایران از برد های آموزشی ابتدایی avr برای اینکار استفاده میکنند

و معمولا با دستگاه های بی کیفیت طرف هستیم


رزبری پای یک مینی کامپیوتر مناسب با هزینه مناسب هست که میتواند به عنوان کیوسک مورد استفاده قرار گیرد


شکلی از استفاده از رزبری پای و یک مانیتور اچ پی به عنوان کیوسک
شکلی از استفاده از رزبری پای و یک مانیتور اچ پی به عنوان کیوسک


شرکت عصر ارتباطات دهکده به عنوان تولید کننده اتوماسیون تغذیه بادام ، توزیع لینوکس ویژه بادام را برای استفاده منتشر کرده است که میتواند در سیستم های ARM / X86 مورد استفاده قرار گیرد


اما در این مطلب سعی دارم توضیح بدهم که چگونه میتوان از یک توزیع ابونتو یا دبیان بیس معمولی برای ساخت یک کیوسک با رزبری پای استفاده کرد

قبل از همه چیز شما به موارد زیر برای راه اندازی یک کیوسک نیاز دارید



  • رزبری پای 3 یا 4
  • یک MicroSD (ترجیحا 16 گیگ)
  • یک منبع تغذیه مناسب
  • مانیتور یا تلویزیون مناسب با پشتیبانی از HDMI یا مانیتور VGA با مبدل HDMI to VGA
  • کابل HDMI
  • اتصال اینترنت مناسب (وای فای یا کابل لن)


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


ابتدا ترمینال رو باز کنید و دستور زیر رو وارد کنید

sudo apt-get purge wolfram-engine scratch scratch2 nuscratch sonic-pi idle3 -y sudo apt-get purge smartsim java-common minecraft-pi libreoffice* -y

این دستور یک سری چیز های اضافه رو پاک میکنه


سپس با اجرا دستور زیر محیط سیستم عامل رو به صورت کامل clean میکنیم و وابستگی های مربوطه رو هم پاک میکنیم

sudo apt-get clean sudo apt-get autoremove -y


بعد با دستور زیر سیستم عامل رو اپدیت میکنیم و منتظر بمونیم اپدیت تموم بشه !


sudo apt-get update sudo apt-get upgrade


بعد از اون نیاز هست که ابزار xdotool و unclutter رو نصب کنیم اولی یک ابزار برای شبیه سازی موس و کیبورد هست و دومی باعث میشه که نشانگر موس پنهان بشه


sudo apt-get install xdotool unclutter sed


با نصب همه اینا اماده میشیم برای ورود به مرحله بعدی یعنی قابلیت auto login خب بریم برای اجرای دستوراتش


sudo raspi-config


بعد از زدن این دستور وارد محیط کانفیگ رزبری پای میشیم ، و سپس مسیر زیر رو دنبال میکنیم

Boot Options -> B1 Desktop / CLI -> B4 Desktop Autologin


حالا باید autologin در حالت enabled قرار بگیرد


خب بعد از اینکه تمام این کار ها رو انجام دادیم بریم اسکریپت مورد نظر رو برای راه اندازی kiosk بنویسیم


اول با ویرایشگر نانو فایل اسکریپتی زیر رو باز میکنیم


nano /home/pi/kiosk.sh


حالا کد های زیر رو درون این فایل قرار میدیم


#!/bin/bash
xset s noblank
xset s off
xset -dpms
unclutter -idle 0.5 -root &
sed -i 's/&quotexited_cleanly&quot:false/&quotexited_cleanly&quot:true/' /home/pi/.config/chromium/Default/Preferences
sed -i 's/&quotexit_type&quot:&quotCrashed&quot/&quotexit_type&quot:&quotNormal&quot/' /home/pi/.config/chromium/Default/Preferences
/usr/bin/chromium-browser --noerrdialogs --disable-infobars --kiosk https://web.rayda.ir &
while true; do
xdotool keydown ctrl+Tab; xdotool keyup ctrl+Tab;
sleep 10
done


کد های بالا در ابتدا سعی میکند power management system رزبری پای را غیر فعال کرده و همچنین با فعال کردن no blank سعی میکند blank را نیز غیر فعال کند


سپس با اجرای unclutter اشاره گر موس را غیر فعال میکند


دستورات زیر هشدار های کروم و همچنین اخطار های مبتنی بر بسته شدن ناگهانی کروم را غیر فعال میکند

که قطعا نباید در حالت kiosk به نمایش در آید

sed -i 's/&quotexited_cleanly&quot:false/&quotexited_cleanly&quot:true/' /home/pi/.config/chromium/Default/Preferences
sed -i 's/&quotexit_type&quot:&quotCrashed&quot/&quotexit_type&quot:&quotNormal&quot/' /home/pi/.config/chromium/Default/Preferences


خط بعدی نیز کرومیوم را با حالت سفارشی کیسوک و اجرای web.rayda.ir که آدرس رسمی اتوماسیون تغذیه بادام هست اجرا میکند


البته شما میتوانید جای web.rayda.ir هر آدرسی را که دوست دارید قرار بدهید


خطوط بعدی نیز دستورات ویژه کیبورد را که باعث میشود بتوان کروم را بست غیر فعال میکند



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


ابتدا با دستور

sudo nano /lib/systemd/system/kiosk.service


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


[Unit]
Description=Chromium Kiosk
Wants=graphical.target
After=graphical.target
[Service]
Environment=DISPLAY=:0.0
Environment=XAUTHORITY=/home/pi/.Xauthority
Type=simple
ExecStart=/bin/bash /home/pi/kiosk.sh
Restart=on-abort
User=pi
Group=pi
[Install]
WantedBy=graphical.target


فایل را ذخیره کرده و سپس با دستورات زیر سرویس را فعال کرده و اجرا میکنیم


sudo systemctl enable kiosk.service
sudo systemctl start kiosk.service


کیوسک شما اماده است ، میتوانید مانیتور خود را به آن متصل کرده و از آن استفاده کنید ما هم همین کار را کردیم


البته بعد از ساخت سرویس بالا ماجرای ما طولانی تر شد


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


سپس distro مورد نظر خودمان را با لینوکس ایجاد کرده و سفارشی سازی کردیم و ابزار های مرتبط با پشتیبانی دستگاه های کارت خوان بانکی و rfid را به آن نیز اضافه کردیم


بعد از آن با برنامه نویسی یک رابط مناسب بین وب و سخت افزار توانستیم یک دستگاه تحویل حرفه ای ایجاد کنیم



رزبری پای یک سخت افزار عالی برای کار های آموزشی و حتی صنعتی هست