پیدا کنید Raspberry Pi Pico W شما به طور منظم قطع شبکه دارد؟ در اینجا نحوه رفع آن آورده شده است.
اگر Raspberry Pi Pico W خود را برای مدت طولانی اجرا می کردید، این احتمال وجود دارد که در نهایت متوجه شوید که برنامه شما دیگر اجرا نمی شود.
یکی از دلایلی که باعث میشود برنامهها در مدت زمان طولانی شکست بخورند، قابلیت اطمینان Wi-Fi است. اگر Wi-Fi شما غیرقابل اعتماد شود، اولین غریزه Pico W این است که خراب شود.
بیایید ببینیم چگونه می توانیم Pico W را در MicroPython انعطاف پذیرتر کنیم.
چه چیزی باعث قابلیت اطمینان Wi-Fi در Pico W می شود؟
وای فای شما چندین بار در روز قطع می شود. درک این موضوع در تلفن یا رایانه شخصی شما سخت است زیرا سیستم عامل ها و نرم افزارها این نقص تضمین شده شبکه های Wi-Fi را به حساب آورده اند.
با Pico W، یک اسکریپت ساده که متصل میشود و دادهها را واکشی میکند، اگر Pico W شما اتصال خود را قطع کند، از کار میافتد. تنها راه حل این است که با کشیدن پاور آن را سخت ریست کنید.
اگر پروژه شما نیاز به ثبت اطلاعات برای ساعتها در یک زمان دارد، نمیخواهید دائماً بر قطعها نظارت داشته باشید.
مدیریت خطا کلید تضمین این است که برنامه شما می تواند از طریق اتصالات ضعیف زنده بماند.
آیا بهبود قدرت سیگنال Wi-Fi کمکی خواهد کرد؟
ممکن است در نظر داشته باشید که آیا باید از شبکه مش برای افزایش قدرت سیگنال استفاده کنید یا خیر. بله، کمک خواهد کرد، اما نه در حدی که بتوانید از سناریوهایی که در آن اتصال افت می کند اجتناب کنید.
در یک آزمایش، Pico W را در مکانی در طبقه دوم یک خانه قرار دادیم و Pico W دیگری را در کنار روتر Wi-Fi قرار دادیم. تفاوت در نتیجه این است که دستگاه در طبقه دوم زودتر از Pico W که نزدیکتر به روتر قرار داشت قطع شد. دومی در نهایت یک اتصال نیز قطع شد، که توسط شکاف در جمع آوری داده منعکس شد.
متاسفانه، در حالی که بهبود قدرت سیگنال مشکل را کاهش می دهد، آن را حل نمی کند. بنابراین بیایید به چند روش برای نوشتن کد انعطاف پذیرتر نگاه کنیم.
روش نرم افزار اتصال و قطع اتصال
اگر پروژه شما فقط به ارتباط یک طرفه نیاز دارد، این روش برای آن عالی خواهد بود. برخی از نمونهها، ثبتکنندههای دما هستند که باید در مدت زمان طولانی اجرا شوند، اما فقط هر چند وقت یکبار دادهها را ثبت میکنند.
با این کار مشکل خرابی زمانی که Pico W شما فکر میکند متصل است، حل میکند، اما وقتی میخواهد دادهها را به نقطه پایانی ارسال کند، متوجه میشود که آفلاین است، سپس به خرابی ادامه میدهد.
کلید این روش شامل رویه ای است که در آن برنامه شما در یک حلقه بی نهایت اجرا می شود. در این حلقه تابعی وجود دارد که پس از سپری شدن مدت زمان مشخصی اجرا می شود. این عملکرد Pico W را به Wi-Fi متصل می کند، کار خود را انجام می دهد (به عنوان مثال، داده ها را به سرور ارسال می کند)، سپس اتصال را قطع می کند.
هارد ریست نرم افزار
استفاده از کد بازنشانی سخت MicroPython می تواند به شما کمک کند تا مطمئن شوید که Pico W شما حتی در صورت عدم مداخله اجرا می شود. اگر به کمک نیاز دارید، به معرفی ما به MicroPython مراجعه کنید، سپس این دستور را اجرا کنید:
import machine
machine.reset()
فرض کنید در نیمه شب در حالی که خواب هستید ارتباط خود را از دست می دهید. اگر هارد ریست نرم افزاری نداشتید، باید صبح برنامه را به صورت دستی ریست کنید. این ممکن است باعث از بین رفتن ثبت اطلاعات هشت ساعته شود.
اگر یک هارد ریست نرم افزاری دارید که در بلوک کد مدیریت خطا قرار داده اید، Pico W خودش را بازنشانی می کند.
نقطه ضعف این کار این است که با هارد ریست، وضعیت برنامه شما از بین می رود و اگر برنامه شما خراب شود، هارد ریست نرم افزار راه اندازی نمی شود.
از تایمر Watchdog داخلی Pico W استفاده کنید
تایمر نگهبان سخت افزاری اساساً دستگاهی است که در صورت خرابی Pico W شما را بازنشانی می کند. تایمرهای Watchdog تایمرهای شمارش معکوس هستند. اگر قبل از اینکه شمارش معکوس به صفر برسد، سیگنال دریافت کنند، شمارش معکوس دوباره تنظیم می شود. با این حال، اگر شمارش معکوس به صفر برسد، Pico W را بازنشانی می کند.
در MicroPython، کد اصلی به این صورت است:
from machine import WDT
wdt = WDT(timeout=1000) #timeout is in ms
wdt.feed() #resets countdown
برای کسب اطلاعات بیشتر میتوانید از مستندات WDT MicroPython و همچنین اسناد رسمی SDK Pico برای راهنمایی C++ دیدن کنید.
اتصال Pico W خود را ضد بمب بسازید
برای اینکه Pico W خود بهترین فرصت را برای اجرای نامحدود در اتصال Wi-Fi داشته باشید، باید چندین کار را انجام دهید.
ابتدا مطمئن شوید که اتصال Wi-Fi به طور معقولی قوی است. در حالی که کد می تواند برخی از چالش های Wi-Fi را کاهش دهد، بسته به روش مورد استفاده، گاهی اوقات می تواند منجر به از دست رفتن وضعیت برنامه یا از دست رفتن نقاط داده شود.
ثانیاً، برنامه باید روشی برای بازیابی اتصالات Wi-Fi قطع شده داشته باشد تا بتوانید ادامه خدمات را دریافت کنید.
با انجام این مراحل، میتوانید از اتصال مطمئنتر Pico W خود مطمئن باشید.