Skip to content

Latest commit

 

History

History
64 lines (51 loc) · 5.21 KB

AllarmBattery_ٍPersian.md

File metadata and controls

64 lines (51 loc) · 5.21 KB

نظارت بر وضعیت باتری و پخش هشدار صوتی در صورت قطع شدن برق

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

  1. وارد کردن کتابخانه‌ها:
    • کتابخانه psutil: این کتابخانه برای دسترسی به اطلاعات سیستم از جمله وضعیت باتری دستگاه استفاده می‌شود.
    • کتابخانه time: این کتابخانه برای ایجاد تاخیر در اجرای برنامه (در اینجا هر یک ثانیه) استفاده می‌شود.
    • کتابخانه pygame: کتابخانه‌ای برای پردازش و پخش صدا در پایتون است.
  2. تنظیمات pygame برای پخش صدا:
    • تابع pygame.mixer.init() برای پیکربندی بخش پخش صدا در pygame استفاده می‌شود.
  3. تعریف تابع battery_alert:
    • در این تابع، وضعیت باتری دستگاه به طور پیوسته بررسی می‌شود.
    • متغیر alert_playing برای پیگیری وضعیت هشدار صوتی استفاده می‌شود. اگر هشدار در حال پخش باشد، از پخش دوباره آن جلوگیری می‌شود.
  4. بررسی وضعیت باتری:
    • تابع psutil.sensors_battery() اطلاعات باتری دستگاه را برمی‌گرداند، از جمله وضعیت شارژ و وضعیت اتصال به برق.
    • متغیر plugged بررسی می‌کند که آیا دستگاه به برق متصل است یا خیر.
  5. پخش هشدار صوتی:
    • اگر دستگاه از برق جدا شده باشد و هشدار صوتی هنوز پخش نشده باشد (alert_playing برابر False باشد)، پیام "Power is disconnected! Running on battery." در کنسول چاپ شده و فایل صوتی sg.mp3 بارگذاری و به صورت مداوم پخش می‌شود.
    • اگر دستگاه به برق متصل باشد و هشدار در حال پخش باشد، پیام "Battery is plugged in. Alarm stopped." چاپ شده و پخش صدا متوقف می‌شود.
  6. استراحت بین بررسی‌ها:
    • با استفاده از time.sleep(1)، برنامه هر یک ثانیه یکبار وضعیت باتری را بررسی می‌کند.
  7. اجرای تابع battery_alert:
    • در پایان، این تابع به طور پیوسته اجرا می‌شود و وضعیت باتری را نظارت می‌کند.

ویژگی‌های کد:

  1. هشدار صوتی: در صورتی که دستگاه از برق جدا شود، یک هشدار صوتی پخش می‌شود که با استفاده از کتابخانه pygame انجام می‌شود.
  2. نظارت پیوسته: وضعیت باتری هر یک ثانیه یکبار بررسی می‌شود و در صورت تغییر وضعیت، به صورت خودکار واکنش نشان داده می‌شود.
  3. استفاده از کتابخانه psutil: برای دسترسی به اطلاعات باتری و وضعیت شارژ دستگاه.
  4. کنترل وضعیت هشدار: با استفاده از متغیر alert_playing از پخش مکرر هشدار صوتی جلوگیری می‌شود.

این برنامه می‌تواند به عنوان یک ابزار برای نظارت بر وضعیت شارژ باتری و اطلاع‌رسانی به کاربر در صورت نیاز به شارژ دستگاه مفید باشد.

کد پایتون

import psutil
import time
import pygame

# پیکربندی pygame برای پخش صدا
pygame.mixer.init()

def battery_alert():
    alert_playing = False  # بررسی اینکه آیا هشدار در حال پخش است یا خیر
    
    while True:
        battery = psutil.sensors_battery()
        plugged = battery.power_plugged  # وضعیت اتصال به برق

        if not plugged and not alert_playing:  # اگر برق قطع شده باشد و صدای هشدار هنوز پخش نشده باشد
            print("برق قطع شده است! از باتری استفاده می‌شود.")
            pygame.mixer.music.load("sg.mp3")  # بارگذاری فایل صدا
            pygame.mixer.music.play(-1)  # پخش مداوم صدا
            alert_playing = True  # وضعیت هشدار به پخش تنظیم شود

        elif plugged and alert_playing:  # اگر باتری به برق متصل شده باشد و صدا در حال پخش باشد
            print("باتری به برق متصل شد. آلارم متوقف شد.")
            pygame.mixer.music.stop()  # توقف پخش صدا
            alert_playing = False  # وضعیت هشدار به غیرفعال تنظیم شود
        
        time.sleep(1)  # هر ۱ ثانیه وضعیت چک شود

battery_alert()