تقویم هوشمند و داشبورد دیواری با رسپبریپای
تا حالا به این فکر کردی که یه داشبورد دیواری جذاب برای خونه یا محل کارت داشته باشی؟ تو این پروژه میخوایم یه تقویم هوشمند دیواری بسازیم که هم برنامههای ماهانه رو نشون بده و هم اطلاعات مهمی مثل آبوهوا رو همیشه جلوی چشمت داشته باشی.
با استفاده از یه برد رسپبریپای و یه مانیتور قدیمی لپتاپ، میتونی یه مرکز اعلان همهکاره بسازی. این سیستم بهت اجازه میده کارهای خانواده رو هماهنگ کنی، رویدادهای پیشرو رو ببینی و حتی وضعیت حملونقل عمومی رو چک کنی.
تیم ما تو آیسیمدار همیشه دنبال پروژههای کاربردی و باحاله تا بتونی با قطعات ساده، چیزهای خفن بسازی. پس وقت رو تلف نکنیم و بریم سراغ ساخت این تقویم دیواری جذاب!
- برد Raspberry Pi 2 (یا مدلهای جدیدتر)
- دانگل وایفای USB
- صفحه نمایش السیدی لپتاپ قدیمی
- برد درایور کنترلر السیدی (متناسب با مدل مانیتور لپتاپ)
- چند عدد دکمه فشاری (Push Button)
- سرور وب محلی برای اجرای صفحه تقویم
- تخته چوبی (با عمق حداقل 30 میلیمتر برای جا دادن قطعات)
- ورق چوبپنبهای برای روکش کار
- کابل HDMI کوتاه
- منبع تغذیه برای برد رسپبریپای و درایور مانیتور
- فومبرد
- چسب
- پیچ برای نصب قطعات
قطعات موردنیاز
- برد Raspberry Pi 2 (یا مدلهای جدیدتر)
- دانگل وایفای USB
- صفحه نمایش السیدی لپتاپ قدیمی
- برد درایور کنترلر السیدی (متناسب با مدل مانیتور لپتاپ)
- چند عدد دکمه فشاری (Push Button)
- سرور وب محلی برای اجرای صفحه تقویم
- تخته چوبی (با عمق حداقل 30 میلیمتر برای جا دادن قطعات)
- ورق چوبپنبهای برای روکش کار
- کابل HDMI کوتاه
- منبع تغذیه برای برد رسپبریپای و درایور مانیتور
- فومبرد
- چسب
- پیچ برای نصب قطعات
آمادهسازی سختافزار و قاب دیواری
بریم سراغ بخش سختافزاری و ساخت قاب برای این تقویم هوشمند.
- اول یه مانیتور لپتاپ قدیمی پیدا کن و برد کنترلر متناسب با شماره سریال اون رو تهیه کن.
- حالا باید یه قاب چوبی بسازی. عمق قاب باید حداقل 30 میلیمتر باشه تا قطعات الکترونیکی راحت توش جا بشن. ابعاد طول و عرض رو هم بر اساس سایز مانیتورت در نظر بگیر و حدود 10 میلیمتر حاشیه براش بذار. پشت قاب هم فضایی برای سیمها و مدارها خالی کن. سوراخهای مربوط به دکمهها و سیمها رو هم دریل کن.
- صفحه نمایش رو سر جاش محکم کن. میتونی از فریم اصلی خود لپتاپ برای این کار استفاده کنی.
- یه تیکه فومبرد به ضخامت خود صفحه نمایش ببر و روی لبههای قاب چوبی بچسبون.
- تمام کنارههای قاب رو با ورق چوبپنبه بپوشون. برای برش زدن میتونی از کاتر استفاده کنی و با اسپری چسب، اونا رو محکم بچسبونی.
- وقتشه که دکمههای فشاری رو نصب کنی. با یه مته مناسب، جای دکمهها رو با دقت و آروم سوراخ کن.
- در نهایت بریم سراغ سیمکشی! سه تا از دکمهها رو به پینهای GPIO شماره 19، 20 و 21 رسپبریپای و البته پایههای GND وصل کن. دکمه چهارم رو هم برای روشن و خاموش کردن برد کنترلر در نظر بگیر. کابل HDMI رو بین Raspberry Pi و برد درایور وصل کن و در آخر مانیتور رو به برد کنترلر متصل کن.
تنظیمات نرمافزاری رسپبریپای
تو این مرحله میخوایم رسپبریپای رو تبدیل به یه کیوسک هوشمند کنیم. سیستمعامل قراره یه صفحه وب رو به صورت تمامصفحه باز کنه و با دکمههایی که نصب کردیم، بین اطلاعات جابهجا بشیم. این مراحل رو دنبال کن:
- سیستمعامل Raspbian رو روی برد رسپبریپای نصب کن.
- یه تقویم گوگل بساز و رویدادهای مدنظرت رو بهش اضافه کن. میتونی تقویم رو با بقیه اعضای خانواده به اشتراک بذاری. حتی برای جذابتر شدن کار، تقویمهای دیگهای مثل تعطیلات رسمی یا رویدادهای خاص رو هم بهش متصل کن.
- یه سرور وب راهاندازی کن و صفحه اختصاصی خودت رو بساز.
- یه مرورگر نصب کن و ظاهر تقویم رو با سلیقه خودت شخصیسازی کن.
- در نهایت کدهای مربوط به دکمههای فشاری رو تنظیم کن.
تو قدمهای بعدی، مراحل راهاندازی وبسرور و تنظیمات دکمهها رو خیلی کاملتر برات توضیح میدم.
ساخت صفحه وب و راهاندازی سرور محلی
صفحه وب در واقع همون بوم نقاشی ماست که رسپبریپای قراره نمایشش بده. تو میتونی هر اطلاعاتی رو تو این صفحه قرار بدی، اما اینجا میخوایم تقویم گوگل رو روی اون پیاده کنیم. کد مخصوص برای قرار دادن تقویم تو سایت (Embed Code) رو میتونی مستقیما از تنظیمات خود گوگل کلندر کپی کنی.
تقویم گوگل خودش کلیدهای میانبر داره. مثلا با زدن کلید N ماه بعدی و با کلید P ماه قبلی نمایش داده میشه. البته این قابلیت در صورتی کار میکنه که فریم تقویم (تگ iframe) تو حالت انتخاب یا فوکوس (Focus) باشه.
برای اینکه مطمئن بشیم صفحه تقویم همیشه تو حالت فوکوس هست، باید از یه اسکریپت جاوا اسکریپت ساده برای این کار استفاده کنیم.
کافیه یه فایل HTML بسازی و کدهای تقویم خودت رو داخلش قرار بدی. یادت نره کدی که گوگل بهت داده رو جایگزین بخشهای پیشفرض کنی. حالا میتونی این فایل index.html رو روی یه هاست شخصی آپلود کنی، یا اینکه خود رسپبریپای رو به یه وبسرور محلی تبدیل کنی و فایل رو همونجا قرار بدی. اگه هاست داری که عالیه، وگرنه باید یه سرور محلی مثل آپاچی روی برد نصب کنی.
در آخر فایل نهایی رو تو مسیر سرور محلی (یعنی var/www/html) ذخیره کن تا همیشه در دسترس باشه.
نصب مرورگر و زیباسازی ظاهر تقویم
مرورگرهای زیادی وجود دارن، اما ما به یکی نیاز داریم که هم تقویم جدید گوگل رو ساپورت کنه، هم حالت تمامصفحه داشته باشه و هم بتونه فایلهای CSS محلی رو اجرا کنه. این فایل CSS قراره ظاهر و رنگبندی تقویم رو حسابی خوشگل کنه. از اونجایی که استایلهای تقویم مستقیما از سرورهای گوگل لود میشن، نمیتونی اونا رو از داخل همون صفحه وب اصلی ویرایش کنی.
برای این کار مرورگر Iceweasel (نسخه لینوکسی فایرفاکس) رو نصب کن و بعدش افزونه Stylish رو هم روی اون فعال کن. تب افزونه Stylish رو باز کن و کدهای CSS دلخواهت رو برای تغییر ظاهر تقویم بنویس. حالا باید کاری کنیم که مرورگر به محض روشن شدن دستگاه، به صورت خودکار باز بشه.
ترمینال لینوکس رو باز کن و تنظیمات استارتآپ رو ویرایش کن. آدرس سرور محلی (Localhost) یا همون فایل تقویمت رو بهش بده تا دقیقا بوم نقاشی ما رو باز کنه، بعد تغییرات رو ذخیره کن.
برنامهنویسی و راهاندازی دکمههای فشاری
دکمههای فشاری قراره کار همون کلیدهای کیبورد رو انجام بدن و ما رو بین ماههای تقویم جابهجا کنن. پس باید این دکمهها رو طوری تنظیم کنیم که فشار دادنشون، دقیقا همون حروف N و P کیبورد رو شبیهسازی کنه. اول از همه به یه اسکریپت پایتون نیاز داریم تا دکمهها رو فعال کنیم.
کتابخونه python-uinput رو که مخصوص شبیهسازی کیبورد مجازیه، دانلود و نصب کن. حواست باشه که نسخه متناسب با پایتون نصبشده روی سیستمت (نسخه 2 یا 3) رو انتخاب کنی. حالا کدهای دکمهها و این کتابخونه رو با هم ترکیب کن. وقتی اسکریپت پایتون نهایی شد، باید تنظیمش کنی که با هر بار روشن شدن دستگاه، به صورت خودکار اجرا بشه.
فایل اجرای خودکار به اسم launcher.sh رو بساز و مسیر دقیق فایل پایتونی که ذخیره کردی رو داخلش قرار بده. کار برنامهنویسی تمومه! اما یه آپدیت جذاب هم برات دارم:
با اضافه کردن چند تا شرط ساده (مثل if-else) به کد پایتون، میتونی قابلیتهای دکمهها رو خیلی بیشتر کنی. مثلا میتونی این دستورات رو به سیستم معرفی کنی:
- فشار دادن دکمه اول <- شبیهسازی کلید P <- رفتن به ماه قبلی
- فشار دادن دکمه دوم <- شبیهسازی کلید N <- رفتن به ماه بعدی
- فشار دادن دکمه سوم <- شبیهسازی حروف M یا A <- جابهجایی بین حالتهای مختلف نمایش تقویم
- نگه داشتن طولانی دکمه سوم <- شبیهسازی کلید F5 <- رفرش کردن صفحه وب
- فشار دادن همزمان دکمههای 1 و 2 و 3 <- اجرای دستور ریاستارت برد رسپبریپای
فایلهای پیوست
تو میتونی اولین سازنده باشی!
اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر
این آموزش با استانداردهای اختصاصی آیسیمدار بازنویسی و بهینهسازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.








































گفتگوهای کاربران
هنوز نظری ثبت نشده؛ تو شروع کن!
هنوز نظری ثبت نشده؛ تو شروع کن!