تصویر شاخص پروژه نهایی پایش محیط با آردوینو

جلسه 25: پروژه نهایی پایش محیط با Raspberry Pi

در جلسهٔ 25 دورهٔ آموزش رزبری پای به سراغ «پروژه نهایی پایش محیط با Raspberry Pi» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: ترکیب حسگر I2C، CSV، نمودار، سرویس systemd و دسترسی محلی. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با پروژه نهایی پایش محیط با Raspberry Pi
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 3 B+ installed and running (47859182711).jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید ترکیب حسگر I2C، CSV، نمودار، سرویس systemd و دسترسی محلی را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «پروژه نهایی پایش محیط با Raspberry Pi» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

ترکیب حسگر I2C، CSV، نمودار، سرویس systemd و دسترسی محلی. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با پروژه نهایی پایش محیط با Raspberry Pi
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry-Pi 5.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «زیرسامانه‌ها را جدا تست و سپس دما، زمان و وضعیت خطا را در یک داشبورد محلی جمع کنید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

زیرسامانه‌ها را جدا تست و سپس دما، زمان و وضعیت خطا را در یک داشبورد محلی جمع کنید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

پس از بوت، سامانه داده معتبر و خطا را جدا نشان می‌دهد. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با پروژه نهایی پایش محیط با Raspberry Pi
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi with Sense HAT.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

قبل از استفاده دائمی، تغذیه و پشتیبان‌گیری و دسترسی شبکه را آزمایش کنید. برای عیب‌یابی، ابتدا برق، رسانه بوت، وضعیت شبکه و گزارش سیستم را بررسی کنید. در درس‌های GPIO، زمین و سطح ولتاژ را نیز بسنجید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی همان مدل تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «پروژه نهایی پایش محیط با Raspberry Pi» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «پروژه نهایی پایش محیط با Raspberry Pi» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل .

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش پروژه نهایی پایش محیط با Raspberry Pi

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «پروژه نهایی پایش محیط با Raspberry Pi» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی ترکیب حسگر I2C، CSV، نمودار، سرویس systemd و دسترسی محلی مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص ساعت واقعی RTC و زمان‌دار کردن داده

جلسه 23: اتصال به شبکه و انتشار داده در LAN – Raspberry Pi

در جلسهٔ 23 دورهٔ آموزش رزبری پای به سراغ «اتصال به شبکه و انتشار داده در LAN» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: درخواست HTTP محلی، ساخت API ساده و تفاوت شبکه محلی با اینترنت عمومی. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با اتصال به شبکه و انتشار داده در LAN
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi LCD – 7″ Touchscreen 13733-04.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید درخواست HTTP محلی، ساخت API ساده و تفاوت شبکه محلی با اینترنت عمومی را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «اتصال به شبکه و انتشار داده در LAN» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

درخواست HTTP محلی، ساخت API ساده و تفاوت شبکه محلی با اینترنت عمومی. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با اتصال به شبکه و انتشار داده در LAN
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 SBC Backside.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «خروجی حسگر را روی شبکه محلی با دسترسی محدود نمایش دهید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

خروجی حسگر را روی شبکه محلی با دسترسی محدود نمایش دهید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

داده از دستگاه دیگری در همان شبکه قابل دریافت است. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با اتصال به شبکه و انتشار داده در LAN
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — GPIO board with Raspberry Pi.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «اتصال به شبکه و انتشار داده در LAN» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «اتصال به شبکه و انتشار داده در LAN» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش اتصال به شبکه و انتشار داده در LAN

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «اتصال به شبکه و انتشار داده در LAN» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی درخواست HTTP محلی، ساخت API ساده و تفاوت شبکه محلی با اینترنت عمومی مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص عیب‌یابی، کتابخانه‌ها و آماده‌سازی پروژه

جلسه 24: پایداری، عیب‌یابی و نسخه پشتیبان پروژه Raspberry Pi

در جلسهٔ 24 دورهٔ آموزش رزبری پای به سراغ «پایداری، عیب‌یابی و نسخه پشتیبان پروژه» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: ثبت لاگ، پایش دما و تغذیه، فضای دیسک و بازیابی پس از خطا. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با پایداری، عیب‌یابی و نسخه پشتیبان پروژه
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Official Raspberry Pi case.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید ثبت لاگ، پایش دما و تغذیه، فضای دیسک و بازیابی پس از خطا را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «پایداری، عیب‌یابی و نسخه پشتیبان پروژه» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

ثبت لاگ، پایش دما و تغذیه، فضای دیسک و بازیابی پس از خطا. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با پایداری، عیب‌یابی و نسخه پشتیبان پروژه
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 Computer.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «خرابی شبکه یا قطع حسگر را شبیه‌سازی و رفتار برنامه را ثبت کنید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

خرابی شبکه یا قطع حسگر را شبیه‌سازی و رفتار برنامه را ثبت کنید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

برنامه خطا را گزارش می‌کند و پس از رفع مشکل بازیابی می‌شود. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با پایداری، عیب‌یابی و نسخه پشتیبان پروژه
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — First LED circuit (48433844026).jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «پایداری، عیب‌یابی و نسخه پشتیبان پروژه» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «پایداری، عیب‌یابی و نسخه پشتیبان پروژه» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش پایداری، عیب‌یابی و نسخه پشتیبان پروژه

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «پایداری، عیب‌یابی و نسخه پشتیبان پروژه» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی ثبت لاگ، پایش دما و تغذیه، فضای دیسک و بازیابی پس از خطا مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص کنترل موتور DC با درایور

جلسه 22: امنیت پایه، به‌روزرسانی و دسترسی Raspberry Pi

در جلسهٔ 22 دورهٔ آموزش رزبری پای به سراغ «امنیت پایه، به‌روزرسانی و دسترسی» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: به‌روزرسانی سیستم، حساب اختصاصی، کلید SSH و محدودکردن سرویس‌ها. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با امنیت پایه، به‌روزرسانی و دسترسی
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi LCD – 7″ Touchscreen 13733-03.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید به‌روزرسانی سیستم، حساب اختصاصی، کلید SSH و محدودکردن سرویس‌ها را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «امنیت پایه، به‌روزرسانی و دسترسی» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

به‌روزرسانی سیستم، حساب اختصاصی، کلید SSH و محدودکردن سرویس‌ها. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با امنیت پایه، به‌روزرسانی و دسترسی
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 SBC.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «فهرست سرویس‌های فعال را مرور و دسترسی‌های غیرلازم را حذف کنید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

فهرست سرویس‌های فعال را مرور و دسترسی‌های غیرلازم را حذف کنید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

تنها خدمات مورد نیاز از شبکه در دسترس‌اند. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با امنیت پایه، به‌روزرسانی و دسترسی
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi board.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «امنیت پایه، به‌روزرسانی و دسترسی» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «امنیت پایه، به‌روزرسانی و دسترسی» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش امنیت پایه، به‌روزرسانی و دسترسی

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «امنیت پایه، به‌روزرسانی و دسترسی» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی به‌روزرسانی سیستم، حساب اختصاصی، کلید SSH و محدودکردن سرویس‌ها مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص ذخیره تنظیمات در EEPROM

جلسه 21: سرویس systemd و اجرای خودکار Raspberry Pi

در جلسهٔ 21 دورهٔ آموزش رزبری پای به سراغ «سرویس systemd و اجرای خودکار» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: واحد سرویس، وابستگی شبکه، گزارش journal و راه‌اندازی دوباره. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با سرویس systemd و اجرای خودکار
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi LCD – 7″ Touchscreen 13733-02.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید واحد سرویس، وابستگی شبکه، گزارش journal و راه‌اندازی دوباره را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «سرویس systemd و اجرای خودکار» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

واحد سرویس، وابستگی شبکه، گزارش journal و راه‌اندازی دوباره. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با سرویس systemd و اجرای خودکار
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 Backside.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «برنامه ثبت داده را به سرویس کاربر یا سیستم تبدیل و وضعیت آن را بررسی کنید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

برنامه ثبت داده را به سرویس کاربر یا سیستم تبدیل و وضعیت آن را بررسی کنید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

پس از راه‌اندازی مجدد، برنامه با شرایط تعریف‌شده اجرا می‌شود. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با سرویس systemd و اجرای خودکار
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 — 2025 — 0009-16.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «سرویس systemd و اجرای خودکار» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «سرویس systemd و اجرای خودکار» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش سرویس systemd و اجرای خودکار

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «سرویس systemd و اجرای خودکار» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی واحد سرویس، وابستگی شبکه، گزارش journal و راه‌اندازی دوباره مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص ثبت داده روی کارت microSD

جلسه 20: نمایشگر و رابط کاربر ساده Raspberry Pi

در جلسهٔ 20 دورهٔ آموزش رزبری پای به سراغ «نمایشگر و رابط کاربر ساده» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: تفاوت HDMI، نمایشگر لمسی و رابط وب سبک برای نشان دادن داده. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با نمایشگر و رابط کاربر ساده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi LCD – 7″ Touchscreen 13733-01.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید تفاوت HDMI، نمایشگر لمسی و رابط وب سبک برای نشان دادن داده را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «نمایشگر و رابط کاربر ساده» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

تفاوت HDMI، نمایشگر لمسی و رابط وب سبک برای نشان دادن داده. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با نمایشگر و رابط کاربر ساده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «داده حسگر را با زمان و وضعیت خطا در یک صفحه ساده نمایش دهید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

داده حسگر را با زمان و وضعیت خطا در یک صفحه ساده نمایش دهید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

متن خوانا و مقدار تازه قابل تشخیص است. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با نمایشگر و رابط کاربر ساده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 (vertical).jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «نمایشگر و رابط کاربر ساده» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «نمایشگر و رابط کاربر ساده» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش نمایشگر و رابط کاربر ساده

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «نمایشگر و رابط کاربر ساده» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی تفاوت HDMI، نمایشگر لمسی و رابط وب سبک برای نشان دادن داده مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص ارتباط SPI و تبادل با ماژول

جلسه 19: کار با دوربین رزبری‌پای Raspberry Pi

در جلسهٔ 19 دورهٔ آموزش رزبری پای به سراغ «کار با دوربین رزبری‌پای» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: اتصال درست فلت دوربین، سازگاری مدل و ابزارهای rpicam. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با کار با دوربین رزبری‌پای
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Camera Module v2 with ribbon.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید اتصال درست فلت دوربین، سازگاری مدل و ابزارهای rpicam را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «کار با دوربین رزبری‌پای» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

اتصال درست فلت دوربین، سازگاری مدل و ابزارهای rpicam. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با کار با دوربین رزبری‌پای
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 Board.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «با ابزار رسمی موجود روی سیستم تصویر آزمایشی بگیرید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

با ابزار رسمی موجود روی سیستم تصویر آزمایشی بگیرید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

فایل تصویر با اندازه و زمان مورد انتظار ایجاد می‌شود. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با کار با دوربین رزبری‌پای
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry-Pi 5.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «کار با دوربین رزبری‌پای» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «کار با دوربین رزبری‌پای» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش کار با دوربین رزبری‌پای

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «کار با دوربین رزبری‌پای» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی اتصال درست فلت دوربین، سازگاری مدل و ابزارهای rpicam مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص ارتباط I2C و یافتن نشانی ماژول

جلسه 18: نمودار و تحلیل داده‌های ثبت‌ شده Raspberry Pi

در جلسهٔ 18 دورهٔ آموزش رزبری پای به سراغ «نمودار و تحلیل داده‌های ثبت‌شده» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: میانگین، مقدار پرت، نمودار زمانی و تفسیر واحد داده. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با نمودار و تحلیل داده‌های ثبت‌شده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi with Camera Module.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید میانگین، مقدار پرت، نمودار زمانی و تفسیر واحد داده را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «نمودار و تحلیل داده‌های ثبت‌شده» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

میانگین، مقدار پرت، نمودار زمانی و تفسیر واحد داده. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با نمودار و تحلیل داده‌های ثبت‌شده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 3 B+ installed and running (47859182711).jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «یک روز داده نمونه را رسم و تغییرات غیرمعمول را علامت بزنید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

یک روز داده نمونه را رسم و تغییرات غیرمعمول را علامت بزنید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

هر نقطه نمودار به رکورد قابل پیگیری وصل است. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با نمودار و تحلیل داده‌های ثبت‌شده
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 Computer.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

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

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

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

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «نمودار و تحلیل داده‌های ثبت‌شده» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش نمودار و تحلیل داده‌های ثبت‌شده

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «نمودار و تحلیل داده‌های ثبت‌شده» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی میانگین، مقدار پرت، نمودار زمانی و تفسیر واحد داده مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص وقفه خارجی و شمارش رویداد

جلسه 17: ثبت داده حسگر در CSV Raspberry Pi

در جلسهٔ 17 دورهٔ آموزش رزبری پای به سراغ «ثبت داده حسگر در CSV» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: سرستون، زمان ثبت، واحد اندازه‌گیری و مدیریت خطای خواندن. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با ثبت داده حسگر در CSV
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Sense HAT – 50997474555.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید سرستون، زمان ثبت، واحد اندازه‌گیری و مدیریت خطای خواندن را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «ثبت داده حسگر در CSV» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

سرستون، زمان ثبت، واحد اندازه‌گیری و مدیریت خطای خواندن. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با ثبت داده حسگر در CSV
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Official Raspberry Pi case.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «چند نمونه حسگر را با زمان در فایل CSV ذخیره و دوباره بخوانید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

چند نمونه حسگر را با زمان در فایل CSV ذخیره و دوباره بخوانید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

فایل به‌صورت جدولی و با واحد روشن قابل تحلیل است. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با ثبت داده حسگر در CSV
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 SBC Backside.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

قطع برق و پر شدن رسانه ذخیره باید در برنامه دیده شود. برای عیب‌یابی، ابتدا برق، رسانه بوت، وضعیت شبکه و گزارش سیستم را بررسی کنید. در درس‌های GPIO، زمین و سطح ولتاژ را نیز بسنجید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی همان مدل تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

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

نکته طراحی برای پروژه واقعی

در محصول واقعی، «ثبت داده حسگر در CSV» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «ثبت داده حسگر در CSV» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش ثبت داده حسگر در CSV

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «ثبت داده حسگر در CSV» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی سرستون، زمان ثبت، واحد اندازه‌گیری و مدیریت خطای خواندن مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب
تصویر شاخص خواندن حسگر دما و رطوبت

جلسه 16: خواندن داده سریال UART و USB Raspberry Pi

در جلسهٔ 16 دورهٔ آموزش رزبری پای به سراغ «خواندن داده سریال UART و USB» می‌رویم. هدف این است که مفهوم را از مشاهدهٔ واقعی جدا نکنیم: تفاوت UART روی هدر با مبدل USB-Serial، نرخ انتقال و سطح TTL. این مسیر برای کسی طراحی شده که می‌خواهد با رزبری‌پای یک پروژه قابل توضیح و قابل آزمایش بسازد، نه اینکه فقط چند فرمان را حفظ کند. هر بار مدل دقیق برد و ابزار خود را ثبت کنید؛ نمونهٔ Raspberry Pi 5 و مدل‌های دیگر ممکن است تفاوت سخت‌افزاری داشته باشند.

هدف یادگیری و پیش‌نیاز

عکس قطعه مرتبط با خواندن داده سریال UART و USB
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Sense HAT – 51065957303.jpg. این تصویر نقشه اتصال نیست.

پس از این جلسه باید بتوانید تفاوت UART روی هدر با مبدل USB-Serial، نرخ انتقال و سطح TTL را با زبان خود توضیح دهید، یک آزمون کوچک طراحی کنید و نتیجه را با انتظار مقایسه کنید. پیش‌نیاز شما شناخت روش خاموش‌کردن امن سیستم، تشخیص سطح ۳٫۳ ولت GPIO و خواندن نقشه پایه‌های مدل خود است. اگر یکی از این موارد را هنوز انجام نداده‌اید، ابتدا جلسه‌های پیش‌نیاز را مرور کنید. نام مدل، نسخه سیستم‌عامل و نوع ابزار را کنار یادداشت آزمایش بنویسید؛ این سه داده در عیب‌یابی بعدی بسیار کمک می‌کنند.

وسایل و آماده‌سازی

رزبری‌پای مدل سازگار، منبع تغذیه و رسانه بوت مناسب، کابل‌های مورد نیاز و مولتی‌متر و قطعه مرتبط با «خواندن داده سریال UART و USB» را آماده کنید. پیش از جابه‌جایی سیم GPIO، سیستم را خاموش و تغذیه را قطع کنید. شماره پایه فیزیکی و BCM و سطح ۳٫۳ ولت را با راهنمای رسمی همان مدل بررسی کنید. عکس‌های این مقاله برای شناخت ظاهری‌اند و نقشه اتصال نیستند.

اصل فنی به زبان ساده

تفاوت UART روی هدر با مبدل USB-Serial، نرخ انتقال و سطح TTL. رزبری‌پای یک رایانهٔ دارای سیستم‌عامل است؛ نتیجهٔ برنامه به تنظیم سیستم، مجوزها و سخت‌افزار وابسته است. اگر نسخه سیستم‌عامل و کتابخانه با مدل برد هماهنگ نباشد، رابط‌های سخت‌افزاری ممکن است درست کار نکنند. اگر یک رابط یا پایه برای چند کار انتخاب شود، باید تداخل‌ها را پیش از اتصال مشخص کرد. محدودهٔ ولتاژ و جریان را از جدول الکتریکی راهنمای سازنده بخوانید و هیچ GPIO را جای منبع تغذیه بار پرمصرف به کار نبرید. یک فرض را در هر مرحله تغییر دهید تا علت هر نتیجه معلوم بماند.

عکس قطعه مرتبط با خواندن داده سریال UART و USB
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi LCD – 7″ Touchscreen 13733-04.jpg. این تصویر نقشه اتصال نیست.

اجرای آزمایش مرحله به مرحله

  1. سؤال آزمون را بنویسید: «یک پیام کوتاه از دستگاه سازگار دریافت و در ترمینال ثبت کنید».
  2. محیط نرم‌افزاری و در صورت نیاز قطعات را مطابق راهنمای همان مدل آماده کنید.
  3. اگر آزمایش سخت‌افزاری است، سطح ۳٫۳ ولت GPIO و سازگاری ماژول را پیش از اتصال بررسی کنید.
  4. دستور، برنامه پایتون یا تنظیم لازم را فقط برای همین مرحله اجرا کنید و یک شرط را تغییر دهید.
  5. نتیجه را در جدول «ورودی، انتظار، مشاهده، توضیح» ثبت کنید.

یک پیام کوتاه از دستگاه سازگار دریافت و در ترمینال ثبت کنید. بار اول از یک وضعیت ساده و بدون سرویس یا قطعات اضافی شروع کنید. بار دوم مقدار ورودی یا شرط آزمایش را تغییر دهید تا تفاوت نتیجه را ببینید. بار سوم همان آزمایش را پس از راه‌اندازی مجدد امن تکرار کنید؛ پایداری رفتار از یک مشاهده تصادفی ارزشمندتر است. هنگام تغییر تنظیمات برنامه، نام فایل و تاریخ آزمایش را ثبت کنید تا نسخه‌های مختلف با هم اشتباه نشوند.

چه نتیجه‌ای درست است؟

پیام بدون نویسه‌های خراب دیده می‌شود. انتظار خود را پیش از اجرای آزمایش بنویسید و بعد داده واقعی را کنار آن قرار دهید. اگر مشاهده و انتظار تفاوت دارند، ابتدا ورودی، نسخه سیستم‌عامل و گزارش خطا را بررسی کنید، سپس سراغ برنامه بروید. صرف اجرای بدون خطای یک دستور یا نمایش یک عدد نشانه صحت کامل سیستم نیست؛ برای هر ورودی دست‌کم دو حالت متفاوت را امتحان کنید و مقدارهای مرزی را نیز در نظر بگیرید.

عکس قطعه مرتبط با خواندن داده سریال UART و USB
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi 5 SBC.jpg. این تصویر نقشه اتصال نیست.

خطاهای رایج و روش پیدا کردن علت

سطح RS-232 یا ۵ ولت را مستقیم به GPIO وصل نکنید. برای عیب‌یابی، ابتدا برق، رسانه بوت، وضعیت شبکه و گزارش سیستم را بررسی کنید. در درس‌های GPIO، زمین و سطح ولتاژ را نیز بسنجید. پس از آن اتصالات رابط و نام پایه‌ها را با راهنمای رسمی همان مدل تطبیق دهید. اگر پیام خطای ابزار دارید، متن دقیق پیام و تنظیمات پروژه را نگه دارید. تغییر هم‌زمان چند سیم یا چند سطر برنامه باعث می‌شود نفهمید کدام تغییر مشکل را حل کرده است.

تمرین تکمیلی و معیار ارزیابی

تمرین این جلسه آن است که آزمایش «خواندن داده سریال UART و USB» را یک بار با شرایط اولیه و یک بار با یک تغییر کنترل‌شده اجرا کنید. در گزارش کوتاه خود هدف، قطعات، نسخه برد، پیش‌بینی، نتیجه و علت تفاوت احتمالی را بنویسید. معیار موفقیت فقط گرفتن خروجی نیست: باید بتوانید توضیح دهید چرا نتیجه به دست آمد، کدام بخش آن را اندازه گرفتید و برای تکرار آزمون چه تنظیماتی لازم است. اگر به نتیجه نرسیدید، گزارش خطا هنوز یک خروجی آموزشی مفید است.

نکته طراحی برای پروژه واقعی

در محصول واقعی، «خواندن داده سریال UART و USB» باید با دیگر بخش‌ها هماهنگ شود. مصرف حافظه، زمان پاسخ، خطای اندازه‌گیری، نویز و رفتار هنگام روشن شدن دوباره را جدا بررسی کنید. پایه‌هایی که نقش جایگزین دارند را روی نقشه پروژه علامت بزنید تا هنگام افزودن نمایشگر یا ارتباط سریال تداخل ایجاد نشود. قبل از اجرای دائمی سرویس، یک آزمایش کوچک با همان نسخه سیستم‌عامل، تغذیه و قطعات نهایی انجام دهید. عکس نمایشی قطعات جایگزین نقشه و راهنمای سازنده نیست.

پرسش‌های کوتاه

آیا همین مراحل برای همه نسخه‌ها یکسان است؟ خیر؛ نام دقیق مدل برد، نسخه سیستم‌عامل و راهنمای رسمی را ملاک بگیرید. آیا بدون ابزار اندازه‌گیری می‌توان نتیجه را تأیید کرد؟ برای بعضی رفتارها مشاهده اولیه ممکن است، اما برای ولتاژ، زمان‌بندی و خطاهای متناوب اندازه‌گیری لازم است. اگر آزمایش کار نکرد از کجا شروع کنم؟ از برق و رسانه بوت و پیام خطا شروع کنید؛ سپس شبکه، مجوزها و برنامه را بررسی کنید.

جمع‌بندی و ادامه مسیر

در این درس، «خواندن داده سریال UART و USB» را به یک پرسش قابل آزمون تبدیل کردیم و معیار مشاهده را مشخص کردیم. نتیجهٔ خود را با یک عکس از چیدمان قطعات، فایل کد یا تنظیمات و جدول اندازه‌گیری نگه دارید. جلسه بعد بر همین نتیجه تکیه می‌کند؛ اگر خروجی هنوز پایدار نیست، قبل از رفتن به بخش بعدی علت را پیدا کنید. پیوندهای دوره: جلسه قبل جلسه بعد.

منبع فنی: راهنمای رسمی Raspberry Pi. دستورهای سیستم‌عامل را با نسخه نصب‌شده تطبیق دهید.

ثبت دقیق آزمایش خواندن داده سریال UART و USB

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

آزمون مرزی و بازبینی

بعد از آزمون اصلی، حالت بدون داده و حالت خطا را نیز بررسی کنید. در آزمون GPIO از حدود الکتریکی راهنمای سازنده فراتر نروید. سیستم را یک بار بدون ورودی اختیاری و یک بار با ورودی معتبر راه‌اندازی کنید. در هر دو حالت، خروجی باید تعریف‌شده باشد. اگر مقدار ناپایدار می‌بینید، پیش از افزودن تأخیر نرم‌افزاری، گزارش سیستم، کیفیت اتصال و تغذیه را بسنجید. برای «خواندن داده سریال UART و USB» این روش باعث می‌شود یک نتیجه اتفاقی را با عملکرد قابل اعتماد اشتباه نگیرید.

ارتباط این جلسه با کل دوره

کار روی تفاوت UART روی هدر با مبدل USB-Serial، نرخ انتقال و سطح TTL مستقل از بقیه سیستم نیست. هر تصمیم درباره پایه‌ها، سیستم‌عامل و زمان پاسخ روی ارتباط با نمایشگر، حسگر، شبکه و رسانه ذخیره اثر می‌گذارد. هنگام توسعه، فهرستی از پایه‌ها، سرویس‌ها، فایل‌ها و درگاه‌های شبکه مورد استفاده تهیه کنید. اگر یک منبع بعداً برای قابلیت دیگری لازم شد، پیش از تغییر، کاربرد آن را در همه بخش‌های پروژه جست‌وجو کنید. این عادت از خطاهای دشوار در پروژه نهایی جلوگیری می‌کند.

چک‌لیست پایان جلسه

آیا مدل برد و نسخه سیستم‌عامل مشخص است؟ آیا تغذیه و رسانه بوت پایدارند؟ اگر GPIO به کار می‌رود، آیا سطح سیگنال سازگار است؟ آیا انتظار قبل از مشاهده ثبت شده؟ آیا حالت موفق و حالت خطا آزموده شده؟ آیا نتیجه و خطاها قابل تکرارند؟ اگر پاسخی نامشخص است، همان مورد را به تمرین بعدی تبدیل کنید. با این روش هر جلسه یک خروجی مستند به پروژه اضافه می‌کند و محتوای آموزش از یک توضیح صرف به راهنمای آزمایش تبدیل می‌شود.

ادامه مطلب