تصویر شاخص نمایش مقدار روی LCD کاراکتری

جلسه 15: تبادل داده با SPI Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ثبت دقیق آزمایش تبادل داده با SPI

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

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

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

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

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

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

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

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

جلسه 14: حسگر I2C و فعال‌سازی رابط Raspberry Pi

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

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

عکس قطعه مرتبط با حسگر I2C و فعال‌سازی رابط
عکس قطعه مرتبط با درس؛ منبع: Wikimedia Commons — Raspberry Pi Sense HAT.jpg. این تصویر نقشه اتصال نیست.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ثبت دقیق آزمایش حسگر I2C و فعال‌سازی رابط

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

جلسه 12: خواندن دکمه و حذف جهش Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ثبت دقیق آزمایش خواندن دکمه و حذف جهش

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

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

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

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

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

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

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

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

جلسه 11: روشن‌کردن LED با GPIO در پایتون Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ادامه مطلب
تصویر شاخص ماشین حالت برای چند کار هم‌زمان

جلسه 10: شناخت هدر GPIO و ایمنی ۳٫۳ ولت Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ثبت دقیق آزمایش شناخت هدر GPIO و ایمنی ۳٫۳ ولت

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

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

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

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

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

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

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

ادامه مطلب
تصویر شاخص زمان‌بندی با millis بدون توقف برنامه

جلسه 9: پایتون روی رزبری‌پای و محیط مجازی Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ادامه مطلب
تصویر شاخص نمایش پیام در Serial Monitor

جلسه 7: شبکه محلی و اتصال امن SSH Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ادامه مطلب
تصویر شاخص متغیرها، نوع داده و ساختار کد

جلسه 8: انتقال فایل و تهیه نسخه پشتیبان Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ثبت دقیق آزمایش انتقال فایل و تهیه نسخه پشتیبان

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

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

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

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

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

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

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

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

جلسه 6: کاربر، مجوز فایل و نصب بسته‌ها Raspberry Pi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ثبت دقیق آزمایش کاربر، مجوز فایل و نصب بسته‌ها

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

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

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

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

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

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

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

ادامه مطلب