PDA

View Full Version : پروژۀ کوچک روشن و خاموش کردن Wifi



eshpilen
چهارشنبه 11 تیر 1393, 09:02 صبح
من یجایی کار میکنم و مسئول کامپیوترش هستم که بروبچ دیگه با گوشی هاشون از اینترنت استفاده میکنن. خیلی وقتا پیش میاد که کار مهمی داریم و بنابراین Wifi مودم ADSL رو خاموش میکنم تا دیگران از پهنای باند استفاده نکنن و سرعت و اطمینان اینترنت بالا بره (با وجودی که از تنظیمات QoS در مودم و اولویت دهی به ترافیک LAN هم استفاده کردم).
من تاحالا این کار رو با وارد کردن IP مودم (192.168.1.1) در مرورگر و لاگین کردن در کنترل پنل مودم و رفتن به صفحه و گزینهء مربوطه و سرانجام فعال یا غیرفعال کردن Wifi انجام میدادم. خب این کار یک مقدار زمانبر و پرزحمت بود و یوزر و پسورد باید وارد میکردی و بعد از مدتی اکسپایر میشد دوباره باید وارد میکردی و همچنین رفتن به گزینه و مراحل مربوطه توی مرورگر زحمت داشت و کند بود. دیدم حالا که به این کار زیاد نیاز میشه، یک بهانه و تمرین و یادآوری برنامه نویسی هم هست، پس بیام و یک برنامه بنویسم که بتونم با یکی دو کلیک و سریعتر این کار رو بصورت مستقیم انجام بدم.
طبیعتا زبان پایتون رو برای این کار انتخاب کردم، چون برای اینطور کارها واقعا از نظر راحتی و سرعت برنامه نویسی عالیه. از قدیم و ندیم هم گفتن که یکی از کاربردهای اصلی و عمدهء اینطور زبانها همین برنامه های یوتیلیتی و مدیریت ادمین ها و سیستم عامل و خلاصه زبان برنامه نویس همه کاره دم دستی است.
این یک برنامهء ساده و مختصر است که عملا هم با موفقیت تست کردم. البته مدل مودم رو یادم نیست (مارکش TP-Link) ولی اگر خواستید بعدا نگاه میکنم براتون میذارم. طبیعتا انتظار نمیره این برنامه با مودم های دیگر کار کنه!

دربارهء طرز کارش، کدنویسی، و هر مسئله ای سوال یا پیشنهاد/انتقادی داشتید مطرح کنید.
البته این بهرحال یک برنامهء موردی و سردستی ساده و کوچک بیش نیست!

eshpilen
چهارشنبه 11 تیر 1393, 09:05 صبح
راستی اون همه تاپیک و مطالب این تالار چی شده؟ :متفکر:

کامروا
چهارشنبه 11 تیر 1393, 12:35 عصر
سلام

برنامه خوبیه. خوبه که کم کم مدل های مختلف مودم رو بهش اضافه کنید و گسترش بدید.
کاربر بتونه مدل مودم خودش رو انتخاب کنه و بتونه این عملیت رو انجام بده.

موفق باشید

Bahmany
چهارشنبه 11 تیر 1393, 17:02 عصر
راستی اون همه تاپیک و مطالب این تالار چی شده؟ :متفکر:


این تالار جدیدا افتتاح شده و ایشالله اون مطالب منتقل میشن

eshpilen
شنبه 14 تیر 1393, 07:57 صبح
فایل ضمیمه آپدیت شد.
نسخهء قبلی یخورده مشکل داشت که در این نسخه برطرف کردم.
ضمنا چون محل کارم وقت نداشتم برنامه نویسی کنم، با استفاده از PHP عملکرد مودم رو تاحدی شبیه سازی کردم و بیشتر برنامه رو توی خونه به این شکل تست کردم. الان اون فایلهای PHP رو هم توی فایل زیپ گذاشتم و توی فایل پایتون یک متغییر بنام localTest هست که اگر مقدارش رو برابر True قرار بدید برنامه بصورت تست لوکال با اون فایلهای PHP در میاد. فایلهای PHP در یک پوشه بنام wlan هستن که این پوشه رو باید در ریشهء www قرار بدید.

ضمنا مودمی که این برنامه براش نوشته شده اینه: TP-LINK TD-W8901G ADSL modem

eshpilen
یک شنبه 15 تیر 1393, 07:08 صبح
راستی یه چیزی یادم نره بگم!
در داخل فایل پایتون نام کاربری و رمز عبور کنترل پنل مودم در هدر Authorization انکد شده (Base64)؛ پس اگر رمز کنترل پنل مودم عوض بشه یا با یک مودم دیگر (همین مارک و مدل) بخوایم استفاده کنیم، باید مقدار این هدر رو مجددا تنظیم کنیم.

ali sorury
یک شنبه 15 تیر 1393, 13:00 عصر
سلام یک سری ماژول را ایراد میگیره
مثلا ماژول http.client و یا urllib.parse

با تشکر

eshpilen
دوشنبه 16 تیر 1393, 08:30 صبح
از چه نسخهء پایتون استفاده کردید؟
این برنامه با نسخهء 3 نوشته شده (ضمنا پایتون تحت ویندوز).
ضمنا در نهایت برای استفاده باید نام کاربری و پسورد کنترل پنل مودم خود را (با پسورد wifi تفاوت میکند) با فرمت مشخصی تنظیم و انکد کرده و در هدر Authorization قرار دهید تا برنامه روی مودم شما کار کند. البته نام کاربری که بصورت پیشفرض admin است و به گمانم قابل تغییر هم نیست، پس فقط پسورد تفاوت میکند.