PDA

View Full Version : سوال: به دست آوردن دمای cpu بدون استفاده از WMI



sin 60
شنبه 07 فروردین 1389, 10:26 صبح
سلام

من میخوام دمای سنسور های مختلف سیستم رو به دست بیارم. طبیعتا راهش اینه که از wmi استفاده کنم. اما باز مشکلم در اینه که درایور مادربوردم ( گیگابایت ) wmi رو پیاده سازی نمیکنه. حالا میخواستم ببینم چه راههای دیگه ای وجود داره ?:متفکر: اصلا چجوری میشه سطح پایین این مسئله رو حل کرد ؟

mehdi.mousavi
شنبه 07 فروردین 1389, 15:24 عصر
سلام من میخوام دمای سنسور های مختلف سیستم رو به دست بیارم. طبیعتا راهش اینه که از wmi استفاده کنم. اما باز مشکلم در اینه که درایور مادربوردم ( گیگابایت ) wmi رو پیاده سازی نمیکنه. حالا میخواستم ببینم چه راههای دیگه ای وجود داره ?:متفکر: اصلا چجوری میشه سطح پایین این مسئله رو حل کرد ؟

سلام.
اگر Mainboard شما، WMI Driver ها رو نداره، قاعدتا باید این اطلاعات رو از BIOS استخراج کنید. این اطلاعات در جداول ACPI و SMBIOS در سیستم عاملهای ویندوز (قاعدتا، چون 100% مطمئن نیستم) در دسترسه. برای خوندن اطلاعات خام قرار گرفته در این جداول توی Win32، می تونید از دو تابع EnumSystemFirmwareTables و GetSystemFirmwareTable استفاده کنید. گفتم اطلاعات خام، چون خودتون باید اونها رو مورد بررسی قرار بدید (و در واقع بپزیدشون!). برای اطلاع از استانداردهای SMBIOS می تونید به این سایت رجوع کنید (http://www.dmtf.org/standards/smbios/).

موفق باشید.

sin 60
یک شنبه 08 فروردین 1389, 12:26 عصر
سلام.
اگر Mainboard شما، WMI Driver ها رو نداره، قاعدتا باید این اطلاعات رو از BIOS استخراج کنید. این اطلاعات در جداول ACPI و SMBIOS در سیستم عاملهای ویندوز (قاعدتا، چون 100% مطمئن نیستم) در دسترسه. برای خوندن اطلاعات خام قرار گرفته در این جداول توی Win32، می تونید از دو تابع EnumSystemFirmwareTables و GetSystemFirmwareTable استفاده کنید. گفتم اطلاعات خام، چون خودتون باید اونها رو مورد بررسی قرار بدید (و در واقع بپزیدشون!). برای اطلاع از استانداردهای SMBIOS می تونید به این سایت رجوع کنید (http://www.dmtf.org/standards/smbios/).

موفق باشید.


متشکر. دارم نگاه میکنم ببینم smbios دقیقا در کجاش این اطلاعات رو میزاره. اما یه سوال پیش میاد. در بایوس ما قسمت های متفاوتی داریم مثلا string هایی داریم که هیچوقت سایز از پیش تعیین شده ای ندارن. بر فرض که من بتونم این اطلاعات رو برای مادربورد خودم از تو جدول استخراج کنم , آیا تضمینی وجود داره که برنامه برای یک مادربورد دیگه هم اطلاعات رو در همون مکان فیزیکی به دست بیاره ؟ یا باید یک برنامه کوچیک برای parse کردن جدول هم بنویسم ؟

mohammad diba
یک شنبه 08 فروردین 1389, 12:58 عصر
سلام بر دوست عزیز می خواستم ببینم امکانش هست بعد اینکه مشکلت حل شد و کدت تکمیل شد بذاری بقیه همه استفاده کنن.

mehdi.mousavi
یک شنبه 08 فروردین 1389, 13:59 عصر
بر فرض که من بتونم این اطلاعات رو برای مادربورد خودم از تو جدول استخراج کنم , آیا تضمینی وجود داره که برنامه برای یک مادربورد دیگه هم اطلاعات رو در همون مکان فیزیکی به دست بیاره ؟ یا باید یک برنامه کوچیک برای parse کردن جدول هم بنویسم ؟

سلام.
حقیقتا اطلاع ندارم، اما قاعدتا توی اون استانداردی که گذاشتم باید به این مطلب اشاره شده باشه.

موفق باشید.

Salar Ashgi
یک شنبه 08 فروردین 1389, 14:17 عصر
سلام

من میخوام دمای سنسور های مختلف سیستم رو به دست بیارم. طبیعتا راهش اینه که از wmi استفاده کنم. اما باز مشکلم در اینه که درایور مادربوردم ( گیگابایت ) wmi رو پیاده سازی نمیکنه. حالا میخواستم ببینم چه راههای دیگه ای وجود داره ?:متفکر: اصلا چجوری میشه سطح پایین این مسئله رو حل کرد ؟

اگه خودتون میخواین برنامه شو بنویسین که قضیه فرق میکنه ولی اگه فقط میخواین از دمای

CPU اطلاع پیدا کنید ، نرم افزار Core Temp رو بهتون پیشنهاد می کنم ، که با اکثر

Main Board ها سازگاره و بیشتر هنگام OverClock کردن قطعات سخت افزاری ازش استفاده

میشه !


عکس برنامه :

http://salarcpp.persiangig.com/2/Core%20Temp.png

موفق باشید .

sin 60
سه شنبه 10 فروردین 1389, 00:45 صبح
اگه خودتون میخواین برنامه شو بنویسین که قضیه فرق میکنه ولی اگه فقط میخواین از دمای

CPU اطلاع پیدا کنید ، نرم افزار Core Temp رو بهتون پیشنهاد می کنم ، که با اکثر

Main Board ها سازگاره و بیشتر هنگام OverClock کردن قطعات سخت افزاری ازش استفاده

میشه !


عکس برنامه :

http://salarcpp.persiangig.com/2/Core%20Temp.png

موفق باشید .
نه مسئله مربوط به خودمه. وگرنه برنامه هایی هستن که این کارو بکنن. البته دلیل اصلی من اینه که بعد با script# میخوام gadget ش بکنم. الان یه سری چیز هایی هست که دما رو به صورت دما نشون میده اما اولا پولیه و بعدشم یه سری دردسرهایی داره ( نمونش اورست ه)


سلام بر دوست عزیز می خواستم ببینم امکانش هست بعد اینکه مشکلت حل شد و کدت تکمیل شد بذاری بقیه همه استفاده کنن.

باشه حتما.الان دارم روی smbus کار میکنم شاید ازش چیزی دراومد



سلام.
حقیقتا اطلاع ندارم، اما قاعدتا توی اون استانداردی که گذاشتم باید به این مطلب اشاره شده باشه.

موفق باشید.

جالبی اینجاست که اون هم به در بسته خورد. آخه انواع اطلاعات مختلف تو smbios تایپ های مختلفی داره. تایپ temprature probe شماره 48 ه. که اونم تو کل smbios م نگاه کردم , از ساختار شماره 48 یک دونه هم نداشتم

mehdi.mousavi
سه شنبه 10 فروردین 1389, 00:53 صبح
جالبی اینجاست که اون هم به در بسته خورد. آخه انواع اطلاعات مختلف تو smbios تایپ های مختلفی داره. تایپ temprature probe شماره 48 ه. که اونم تو کل smbios م نگاه کردم , از ساختار شماره 48 یک دونه هم نداشتم

اصلا Mainboard اتون همچین چیزی رو Support میکنه؟ تو BIOS، اطلاعاتی در مورد دمای CPU و ... یافت میشه؟ (منظورم هنگام بوت شدن سیستم هستش).

sin 60
سه شنبه 10 فروردین 1389, 01:00 صبح
اصلا Mainboard اتون همچین چیزی رو Support میکنه؟ تو BIOS، اطلاعاتی در مورد دمای CPU و ... یافت میشه؟ (منظورم هنگام بوت شدن سیستم هستش).
آره کاملا هستش. از دمای cpu تا دور فن ها ( همون چیزهایی که همه مینبرد ها دارن )

Salar Ashgi
سه شنبه 10 فروردین 1389, 18:11 عصر
این Core Temp با Main Board تون سازگار بود ؟

sin 60
سه شنبه 10 فروردین 1389, 23:08 عصر
این Core Temp با Main Board تون سازگار بود ؟
آره. نگاه کردم مشکلی نداره. نشون میده

Salar Ashgi
چهارشنبه 11 فروردین 1389, 00:01 صبح
آره. نگاه کردم مشکلی نداره. نشون میده


همونطور که گفته بودم ، با اکثر Main Board ها سازگاره !