پروژه ساخت آینه جادویی بینهایت با رزبری پای (قسمت دوم)

پیکربندی آینه ی جادویی

ساخت آینه جادویی با رزبری پای قسمت دوم: اکنون که ما یک آینه جادویی کوچک ساخته ایم. وقت آن رسیده است که نرم افزارهای قدرتمندی را که آن را هدایت می کند، ارتقا دهیم و آن را اجرا کنیم.

 

لوازم موردنیاز:

  •  فیلم آینه ای یک طرفه
  •  مانیتور با حاشیه برداشته شده (ما از صفحه یدکی 23 اینچی استفاده کردیم)
  •  قاب های Ikea Ribba برای نصب مانیتور
  •  نمونه فایلهای config.js و compliments.js (اختیاری)

 

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

 

01 جهت  قرارگیری آینه

آیا آینه می تواند وارونه باشد؟ یک آینه جادویی می تواند! بیشتر آینه ها عمودی هستند. در حالی که صفحه نمایش معمولاً افقی است. به طور معمول ما می توانیم تغییراتی در /boot/config.txt ایجاد کنیم تا صفحه به راحتی چرخانده شود. اما با پشتیبانی از گرافیک فانتزی جدید Raspberry Pi 4 این عمل دیگر امکان پذیر نیست. برای چرخاندن صفحه نمایش 90 درجه به طوری که متناسب با آینه شما باشد ترمینال را باز کرده و موارد زیر را وارد کنید:

sudo nano /etc/xdg/lxsession/LXDE-pi/ autostart

حالا این خط را به انتهای فایل اضافه کنید:

@xrandr –output HDMI-1 –rotate right

فایل را ذخیره کنید (CTRL+X) و راه اندازی مجدد کنید. اکنون صفحه نمایش شما باید عمودی باشد.

 

 

ساخت آینه جادویی با رزبری پای

02 اول ایمنی

متأسفانه MagicMirror2 به آسانی پیکربندی نمی شود. در حال حاضر شما باید تعدادی ویرایش متن با استفاده از config.js را انجام دهید. نگران نباشید: تا زمانی که از پرونده های خود کپی تهیه میکنید. امکان از بین رفتن چیزی از اطلاعات پایین است. اگر MagicMirror2 مانع از شروع به کار میشود کافی است فایل را در جایش کپی کنید. اینجا نحوه کار در ترمینال آمده است:

cd ~/MagicMirror/config cp config.js config.js.backup

اگر مشکلی پیش آمد فقط پشتیبان پیکربندی را کپی کرده و دوباره امتحان کنید:

cp config.js.backup config.js

هر بار که config.js را ویرایش می کنید باید MagicMirror2 را مجدداً راه اندازی کنید تا تغییرات اعمال شوند. برای انجام این کار در هر زمان:

pm2 restart MagicMirror

 

03 با فایل پیکربندی آشنا شوید

فایل پیکربندی شما برخی از ویژگی های اساسی آینه شما و همچنین ماژول های مختلف را کنترل می کند. در یک فایل جاوا اسکریپت قالب بندی شده است. این یک زبان بسیار ساختار یافته، اما بسیار حساس است. یک “{” یا “[” اشتباه باعث میشود هیچ چیز کار نکند (بنابر مرحله قبلی). فایل config.js.example راهی عالی برای کاوش بدون تغییر چیزی است. خواهید دید که چگونه به راحتی میتوانید، “بزرگنمایی” (اندازه متن) ، واحدها (متریک یا امپریالیستی) و اینکه آیا می خواهید یک ساعت 24 ساعته داشته باشید یا نه، را تغیییر دهید. مهمتر از همه ، بخش “ماژول ها” کنترل می کند که کدام ماژول ها (کدی که عملکرد خاصی را نشان می دهد) بارگذاری شده و در کجا قرار می گیرند.

 

04 ماژول های پیش فرض

MagicMirror2 دارای مجموعه ای از ماژول های از پیش نصب شده است. با تطبیق آنها با نیازهای خاص خود شروع کنید. بخش “modules” را در config.js پیدا کنید. بین دو کروشه ([])بخشهایی در داخل آکولادها وجود دارد: {}. هر کدام یک ماژول واحد است. هر ماژول الزامات متفاوتی دارد. اما هر یک به یک خط ماژول مانند این نیاز دارد:

module: “name-of-module”,

اکثر آنها همچنین به یک “موقعیت” نیاز دارند که می تواند “نوار بالا” ، “چپ_بالا” ، “یک سوم پایینی” و غیره باشد. این قسمت محل نمایش ماژول روی آینه را کنترل می کند. اگر عنوان مورد نیاز است، “عنوان”(title) به شما امکان می دهد متن هدر را تغییر دهید. در نهایت “config” حاوی اطلاعاتی است که مخصوص آن ماژول است.

 

05 هوا چطوره

بیایید به عنوان مثال از ماژول آب و هوا استفاده کنیم. در بخش “modules” ، “پیش بینی آب و هوا”( weatherforecast) را پیدا کنید. شما می توانید عنوان (شاید، “آیا باران می بارد؟”) و موقعیت ماژول روی صفحه را تغییر دهید. در “پیکربندی”( config) شما باید سه قسمت از اطلاعات را تکمیل کنید. برای دریافت پیش بینی آب و هوا خود ، به openweathermap.org بروید و برای یک حساب رایگان ثبت نام کنید. سپس می توانید یک کلید API (راهی مطمئن برای ارتباط آینه با سرویس) ایجاد کنید ، که باید در اینجا در “appid” مشخص کنید. نام مکان خود را به دلخواه تغییر دهید و در نهایت شناسه مکان را به نام صحیح ذکر شده در این فایل تغییر دهید: magpi.cc/citylist، 2MagicMirror را دوباره راه اندازی کنید و آب و هوای محلی خود را ببینید!

 

06 اخبار (آینه ای) فوری

اخبار پیش فرض آینه از نیویورک تایمز تهیه می شود ، که ممکن است حتی به اندازه ی خوردن یک فنجان چای شما زمان نبرد. ماژول “اخبار خبری” با هرگونه منبع RSS کار می کند که میلیون ها مورد از آنها وجود دارد (و در صورت تمایل می توانید چندین خبرخوان داشته باشید). بیایید منبع خبر را به بی بی سی تغییر دهیم. ماژول “منبع خبری”(newsfeed) را پیدا کنید و در زیر “پیکربندی” “منابع” را مشاهده خواهید کرد. این قسمت با پرانتز مربع( [ ] )احاطه شده است ، به این معنی که می توانیم چندین ورودی داشته باشیم. “نیویورک تایمز” را به “اخبار بی بی سی” و “آدرس اینترنتی” را به “http://feeds.bbci.co.uk/news/rss.xml” تغییر دهید. MagicMirror2 را مجدداً راه اندازی کنید و اکنون سرفصل ها را از انگلستان دریافت می کنید.

 

07 حالت خون آشام (بدون انعکاس)

در حال حاضر اگر آینه خود را گذاشته اید ممکن است کمی ناامید کننده به نظر برسد. با کمی پیکربندی مجدد ، می توانید با استفاده از یک مرورگر وب به صفحه آینه دسترسی داشته باشید و از روی دسکتاپ خود روی آن کار کنید. config.js را ویرایش کنید و به چند خط اول زیر “config” نگاهی بیندازید. اینها دسترسی به صفحه نمایش را کنترل می کنند. به طور پیش فرض قفل شده است (که خوب است) ، اما می توانیم به رایانه های دیگر اجازه دسترسی دهیم. این خطوط زیر را مطابق شکل تغییر دهید:

address: “”,

ipWhitelist: []

اینکار به هر آدرس IP موجود در شبکه شما اجازه می دهد به سرور دسترسی داشته باشد. برای اعمال تغییرات ، باید MagicMirror2 را مجدداً راه اندازی کنید. اکنون باید بتوانید صفحه نمایش خود را در http: //: 8080 مشاهده کنید.

ساخت آینه جادویی با رزبری پای

08 حالت کلاینت و سرور

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

node serveronly

برای ایجاد حالت کلاینت که محتوای آن را از سرور دریافت می کند:

node clientonly –address –port 8080

“در مرکز صفحه نمایش ، «خوش آمدگویی» هر چند ثانیه می چرخد. شما می توانید آن را تغییر دهید”

 

09 ویرایش ماژول ها

بیایید نگاهی به اصلاح ماژول های موجود بیندازیم. در مرکز صفحه دیده اید ، هر چند ثانیه یکبار « خوش آمدگویی » درحال چرخش ظاهر میشود. شما می توانید این موارد را در config.js تغییر دهید ، اما اجازه دهید کد واقعی را بررسی کنیم تا بتوانیم نحوه چیدمان همه چیز را درک کنیم. در ترمینال ، به محل نصب ماژول های پیش فرض بروید:

cd ~/MagicMirror/modules/default

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

cd compliments

حالا فایل را ویرایش کنید:

nano compliments.js

به رشته های متن مختلف نگاه کنید و آنها را به هر چیزی که دوست دارید تغییر دهید. فایل را ذخیره کرده و MagicMirror2 را مجدداً راه اندازی کنید تا پیام های جدید خود را ببینید. نمونه فایل compliments.js را می توانید در magpi.cc/mm2compliments مشاهده کنید.

 

10 ماژول های بیشتر

خبر خوب: شما محدود به ماژول های پیش فرض نیستید. صدها ماژول ساخته شده توسط سایر مصرف کنندگان وجود دارد که دانلود و نصب آنها رایگان است. آنها انواع اطلاعات مفید ، از جمله قیمت سهام ، حمل و نقل محلی ، راهنمای نماز و حتی نحوه عملکرد سرور Minecraft محلی شما را پوشش می دهند. خوشبختانه ، فهرست راهنمای ماژول های MagicMirror2 در ویکی سایت اصلی نگهداری می شود: magpi.cc/mirrormodules. اکثر ماژول ها به پیکربندی خاصی نیاز دارند ، بنابراین مطمئن شوید که به فایل README نگاه کرده و دستورالعمل ها را با دقت دنبال می کنید. هیچ محدودیتی برای تعداد ماژول وجود ندارد ، موقعیت های موجود روی صفحه را محدود کنید.

 

11 نصب ماژول ها

متأسفانه پکیج منیجر خوبی برای MagicMirror2 نداریم. بنابراین نصب ماژول ها مستلزم استفاده از Git برای فراهم کردن کد هاست. برای مثال ، ما قصد داریم “Daily Pokemon” را نصب کنیم. از ترمینال ، به دایرکتوری modules می رویم ، سپس کد را از GitHub دریافت می کنیم.

cd ~/MagicMirror/modules

git clone https://github.com/NolanKingdon/

MMM-DailyPokemon

cd MMM-DailyPokemon

npm install

فرمان نهایی تمام کتابخانه های مورد نیاز ماژول را دریافت می کند. پس از اتمام ، فایل پیکربندی را ویرایش کنید:

nano ~/MagicMirror/config.js

بعد از ماژول ها یک خط جدید ایجاد کنید: و کد را از فهرست شکل 1 اضافه کنید (یا از لینک دانلود برای فایل کامل و ویرایش شده ی config.js استفاده کنید). مطمئن شوید که با کاما متن را به پایان می رسانید. MagicMirror2 را دوباره راه اندازی کنید و پوکمون روزانه خود را تحسین کنید.

12 ماژول های بیشتر

همانطور که قبلاً گفتیم مجموعه ای سرسام آور از ماژول ها برای انتخاب وجود دارد و شما حتی می توانید کد خودتان را بنویسید. اگر تمایل به سفارشی سازی دارید، اینجا چند مورد از موارد مورد علاقه ما وجود دارد. همه آنها را می توانید به همراه دستورالعمل نصب در magpi.cc/mirrormodules پیدا کنید.

magpi.cc/mmmstocks

هر صفحه اطلاعات به تیک زننده نیاز دارد. درست است؟

magpi.cc/mmmwiki

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

magpi.cc/mmmukrail

آیا قطار شما به موقع می آید؟ اگر در انگلستان هستید. این ماژول به شما اطلاع می دهد. بسیاری از کشورهای دیگر نیز دارای ماژول های مشابه هستند.

 

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

گردآوری و ترجمه:صبا علیزاده

منبع: The official Raspberry Pi Handbook

 

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

آخرین مقالات

مقالات مرتبط