วิธีการดึงข้อมูลวัตต์ปัจจุบันใน OS X


21

มีวิธีการดึงข้อมูลการใช้วัตต์ในปัจจุบันบน OS X Snow Leopard หรือไม่? ฉันใช้ iMac กลางปี ​​2010 ดังนั้นฉันไม่ได้มองหาแอพที่เกี่ยวข้องกับแบตเตอรี่

OS X ใช้การตรวจสอบพลังงานหรือไม่ ฉันต้องใช้เครื่องอ่านภายนอกระหว่างสายไฟและเต้าเสียบหรือไม่

ผมส่วนใหญ่สนใจในบรรทัดคำสั่ง / applescript โซลูชั่นที่ใช้สำหรับการเข้าสู่ระบบที่สะดวกมากขึ้นและสถิติ แต่ผมเปิดหาทางเลือก


คำตอบของทั้งคู่ (@ bmike & @ michaelmichael ) นั้นถูกต้องอย่างไม่ต้องสงสัย meta-คำถามในที่นี่ก็คือว่ามีผู้ใดเซ็นเซอร์ / เครื่องอ่านที่มีอยู่แล้วในมหาวิทยาลัยสงขลานครินทร์ที่จะทำงานชนิดเช่นวิธีการ "ฆ่า-a-วัตต์" ผลงาน ฉันรู้สึกถึงคำตอบสำหรับสิ่งนั้นคือ "ไม่"

ฉันรู้ว่ามันอาจจะเป็นแค่ความฝันอันเปียกโชก แต่เครื่องวัดกำลังไฟบนบอร์ดจะเหมาะสำหรับคอมพิวเตอร์ที่จะตะโกน: "ดูสิว่าฉันเป็นมิตรกับสิ่งแวดล้อมเพียงใช้วัตต์เหล่านี้!"


Ah!

@ เคอร์รี่ช็อต 'ปัญหาiStat เมนู 3 ทำจะได้รับการอ่านวัตต์จากเซ็นเซอร์บางส่วนพร้อมกับโวลต์และแอมป์สถิติ มีเมตรอยู่แล้ว แต่ฉันจะเข้าถึงมันแบบเขียนโปรแกรมได้อย่างไร?


เงินรางวัล! จะได้รับสำหรับของแข็งบรรทัดคำสั่งเซ็นเซอร์อ่านวิธีการแก้ปัญหาหรือแนะนำ 3 ดีเด่นซอฟต์แวร์ของบุคคล (เช่นเดียวกับเครื่องมือข้อมูลทางสถิติและประวัติศาสตร์อย่างน้อย)

เพียงแค่แจ้งให้ทราบ: iStat Menus 3 ดังกล่าวแสดงรายการเซ็นเซอร์ที่เกี่ยวข้องกับพลังงาน

  • เซ็นเซอร์แรงดันไฟฟ้า (โวลต์)
    • AC / DC
    • AC / DC
    • AC / DC Shunt
    • ซีพียู
    • CPU 1.8V S0
    • CPU CTT
    • โมดูลกราฟิก
    • หน่วยความจำ
  • เซ็นเซอร์ปัจจุบัน (แอมป์)
    • AC / DC
    • ซีพียู
    • CPU VTT
    • โมดูลกราฟิก
  • เซ็นเซอร์พลังงาน (วัตต์)
    • AC / DC
    • ซีพียู
    • โมดูลกราฟิก

มันระบุว่า "เซ็นเซอร์" แต่อาจมีการคำนวณตามที่ @msanford แสดงความคิดเห็น ฉันจะจัดการกับข้อมูลนั้นโดยทางโปรแกรมได้อย่างไร


Mac นั้นเป็นมิตรกับสิ่งแวดล้อมมากและการทดสอบหน่วยนั้นทำโดย Apple รวมถึงห้องปฏิบัติการที่มีแท่นทดสอบที่ปรับเทียบแล้ว โชคดีที่เราสามารถใช้การตั้งค่าเพื่อเพิ่มแม็คที่เรามีในขณะที่พวกเขามากับรุ่นที่มีประสิทธิภาพมากขึ้นในวันพรุ่งนี้
bmike

1
PSU ไม่รายงานการโหลดปัจจุบันหรือไม่ (เนื่องจากฉันค่อนข้างแน่ใจว่ารายงานแรงดันไฟฟ้าของมัน) ถ้าเป็นเช่นนั้น P = IV หรือวัตต์ = กระแส (เป็นแอมแปร์) •แรงดันไฟฟ้า (เป็นโวลต์) วัตต์ไม่ใช่สิ่งที่วัดได้โดยตรง แต่คำนวณจากกระแสไฟฟ้าและแรงดันไฟฟ้าดังนั้นฉันจะไม่คาดหวังว่าเซ็นเซอร์จะรายงานวัตต์หากมีรายงานเกี่ยวกับแรงดันและกระแสไฟฟ้าอยู่แล้ว ถ้านั่นช่วย…
msanford

@ msanford มันอาจช่วยได้ - ถ้ามีคนบอกเราว่าจะอ่านการอ่านจาก PSU ได้อย่างไร
Jari Keinänen

คำตอบ:


21

system_profiler SPPowerDataTypeดูเหมือนว่าจะให้ข้อมูลที่เกี่ยวข้องมากที่สุด ในแล็ปท็อปจะรายงานแรงดันไฟฟ้าและกระแสไฟฟ้าซึ่งสามารถให้การใช้พลังงาน (mVolts × mAmperes × 10 ^ -6 = วัตต์) นอกจากนี้ยังรายงาน Wattage แต่จริง ๆ แล้วเป็นส่วนหนึ่งของข้อมูลเมตาที่รายงานโดยอะแดปเตอร์ไฟฟ้าของ Apple อะแดปเตอร์พลังงานของ บริษัท อื่นสามารถแสดงช่องว่างได้ที่นี่ เนื่องจากเดสก์ท็อปไม่มีแบตเตอรี่แบบชาร์จไฟได้จึงไม่มีวิธีในการคำนวณการใช้พลังงานโดยการวัดการชาร์จและการคายประจุของแบตเตอรี่

แต่เดี๋ยวก่อนยังมีความหวังอยู่! Apple เผยแพร่ซอร์สโค้ดจำนวนมากและ googling สำหรับWattageหรือPower + mVบอกเป็นนัย ๆ ว่าส่วนขยายเคอร์เนลบางตัวสามารถสอบถามเกี่ยวกับการใช้พลังงานได้ น่าเสียดายที่ฉันไม่สามารถเขียนสคริปต์ทำงานได้ในตอนนี้ แต่ดูเหมือนว่าเป็นไปได้


1
System Profiler.appฉันเห็นมันคืออินเตอร์เฟซบรรทัดคำสั่งสำหรับ น่าเศร้าที่เดสก์ท็อปเพียงแสดงการตั้งค่าจากEnergySaver.prefpaneและหากมีการติดตั้งยูพีเอส
Jari Keinänen

ใน rMBP ของฉัน 15 15 "จำนวนแอมแปร์และแรงดันไฟฟ้าจากส่วนข้อมูลแบตเตอรี่มีค่าคงที่มากหรือน้อยอย่างน้อยเมื่อเทียบกับค่า" ผลรวมของระบบ "จาก iStat ซึ่งอัปเดตทุกวินาทีนอกจากนี้ฉันยังสังเกตเห็นว่า0แอมเพอเรจ
Johannes Bittner

รักสิ่งนี้; สั้นและเรียบง่าย ไม่มีอะไรให้ดาวน์โหลดหรือติดตั้ง หากผู้คนสนใจฉัน (หรือคนอื่น ๆ ) สามารถชักสคริปต์ / คำสั่งเพื่อดึงฟิลด์ที่จำเป็นจากคำสั่งนี้และคายวัตต์จริงที่ใช้
rinogo

อัปเดต: คำสั่งที่ระบุทำงานได้สำหรับฉันเมื่อฉันต้องการมันเป็นครั้งแรก แต่เมื่อฉันต้องการมันอีกครั้งมันไม่ทำงาน มันแสดงค่าแปลก ๆ สำหรับแอมแปร์ บางทีฉันแค่มองไม่ถูกที่ ใครจะรู้ว่า ... ymmv
rinogo

11

นี้ไม่ได้ตอบสนองความต้องการบรรทัดคำสั่ง แต่ให้ลองไปiStat เมนู 3 มันช่วยให้คุณอ่านทุกเซ็นเซอร์ในเครื่องของคุณ (สำหรับฉันรวมถึง AC / DC Watts, CPU Watts และ GPU Watts) ฉันแน่ใจว่ามันไม่ถูกต้อง 100% แต่มันแม่นยำมากกว่าที่จะปรับเครื่องของฉันให้ทำงานภายใต้ข้อ จำกัด ที่ จำกัด ของแบตเตอรี่ APC ของฉัน

ทั้งหมดที่กล่าวมาเครื่องของฉันคือ iMac 2010 ดังนั้นขึ้นอยู่กับเครื่องของคุณมันอาจทำงานได้หรือไม่ก็ได้ นอกจากนี้ฉันไม่เห็นการอ่านพลังงานโดยเฉพาะสำหรับ HDD (ซึ่งควรจะน้อยที่สุด) หรือสิ่งที่เฉพาะเจาะจงกับจอแสดงผล (ที่กล่าวว่าการลดความสว่างของจอ LCD ลดวัตต์ได้ค่อนข้างน้อยดังนั้นจึงนับรวม)

ลองอย่างน้อยก็คุ้มค่า IIRC มีรุ่นฟรี แต่มันคุ้มค่ามากที่ฉันไปข้างหน้าและจ่ายให้ ฉันเป็นคนที่คลั่งไคล้การควบคุมดังนั้นฉันจึงมีหน่วยความจำอุณหภูมิกิจกรรมดิสก์กิจกรรมเครือข่าย ฯลฯ ในแถบเมนูของฉันและชอบมัน :-)


2
ความเป็นเลิศ! ตอนนี้คำถามคือ: iStat Menus จะอ่านค่าเซ็นเซอร์ได้อย่างไร…
Jari Keinänen

8

มีแอพพลิเคชั่นที่เรียกว่า Hardware Monitor ที่ให้การเข้าถึงเซ็นเซอร์ทุกตัวที่มีใน mac รวมถึงแรงดันไฟฟ้ากระแสไฟและวัตต์ซึ่งฉันเชื่อว่าคุณกำลังมองหาอยู่ มันรวมถึงอรรถประโยชน์บรรทัดคำสั่งเพื่ออ่านข้อมูลนี้

ฉันใช้สิ่งนี้เพื่อติดตามบอร์ดตรรกะที่ผิดพลาดใน iMac เมื่อปีที่แล้วและพบว่าคุ้มค่ากับ€ 7 มันมีความสามารถในการส่งออกค่าเซ็นเซอร์ไปยัง CSV ซึ่งจะเป็นประโยชน์สำหรับการบันทึกและการแสดงผลภาพของข้อมูล ฉันไม่แน่ใจว่ามันอ่านค่า PSU หรือไม่ (เพราะฉันไม่มีแอพในเครื่องที่ฉันใช้อยู่) แต่มันก็มีทั้ง pci, slot, cpu และอื่น ๆ อีกมากมาย

คุณสามารถค้นหาซอฟต์แวร์ได้ที่นี่: http://www.bresink.com/osx/HardwareMonitor.html

ฉันไม่ได้เกี่ยวข้องกับ บริษัท นี้เลยเพิ่งพบเครื่องมือที่มีประโยชน์มากในคลังแสงการวินิจฉัยของฉัน


Lyken ชนะรางวัลด้วยคำตอบนี้ เป็นซอฟต์แวร์ที่น่าทึ่ง เครื่องมือบรรทัดคำสั่งแถบเมนูและแอพแบบเต็ม เว้นแต่ตัวจ่ายไฟจะถูกตรวจสอบใน macs ใหม่มันจะไม่ให้คะแนนพลังงานทั้งหมด แต่นี่เป็นงานที่ยอดเยี่ยมในการเข้าถึงข้อมูลทั้งหมดที่มีอยู่
bmike

ขออภัยที่มีการอัปเดตล่าช้า แต่ @Lyken คุณสมควรได้รับ +100: ฉันลังเลที่จะให้เต็ม 200 เนื่องจากการตรวจสอบฮาร์ดแวร์ดูเหมือนจะไม่ให้วัตต์ PSU เหมือน iStat Menus 3; ด้วยเหตุผลบางอย่างเซ็นเซอร์รายการ HWM อำนาจเฉพาะสำหรับCPU A4 และCPU High Side MXM Graphics Moduleapp ที่ดี แต่อย่างไรก็ตามและฉันจะได้รับรางวัลคำตอบของคุณในสายลมถ้าบางคำตอบรางวัลอื่น ๆ จะได้พบกับกฎครึ่งรางวัลรางวัลอัตโนมัติ อย่างที่ฉันพูดไว้สมควรได้รับ +100 ดี
Jari Keinänen

ใช่ฉันเชื่อว่า HWM อ่านเซ็นเซอร์ตามรุ่นต่อรุ่นดังนั้นจึงขึ้นอยู่กับรุ่นของคุณ iStat Menu 3 อ่านวัตต์ PSU ในรุ่นของคุณด้วยหรือไม่
Digitalchild

1
แต่น่าเสียดายที่การตรวจสอบฮาร์ดแวร์ประกาศ EOL เมื่อวันที่ 19 มิถุนายน 2017 bresink.com/osx/216202/eol.html
walterra

7

IANAEE (ฉันไม่ใช่วิศวกรไฟฟ้า) แต่ฉันเข้าใจว่ามันเป็นไปไม่ได้ที่จะวัดการใช้พลังงานของคอมพิวเตอร์ผ่านซอฟต์แวร์ ทางออกที่ดีที่สุดคือเชื่อมต่อ Mac ของคุณกับอุปกรณ์อย่างKill-a-Watt

หากคุณกำลังมองหาวิธีแก้ปัญหาสคริปต์ - และโครงการที่น่าสนใจ - นี่คือคำแนะนำในการสร้างระบบตรวจสอบกำลังไฟไร้สายหรือ " ทวีต - วัตต์ "


7

ข้อมูลทั้งหมดใน iStat นั้นมาจากคีย์ใน ioregistry คุณสามารถดึงดัมพ์ของมันจากบรรทัดคำสั่งโดยใช้ ioreg:

ioreg -w 0 -l

นั่นจะเป็นข้อมูลจำนวนมากที่จะมองผ่านคุณสามารถแกะสลักได้หลายวิธี ฉันไม่เชื่อว่าข้อมูลจริงที่คุณต้องการมีให้ใน iMac ระบบจะตรวจสอบอุณหภูมิในหลาย ๆ สถานที่ แต่เนื่องจากมันไม่ได้ทำงานบนแบตเตอรี่จึงมีความสำคัญน้อยกว่าที่จะรู้ว่าระบบถูกดึงกระแสโดยทันทีดังนั้น อาจไม่คุ้มกับต้นทุนของเซ็นเซอร์


5

ไม่มีเซ็นเซอร์มิเตอร์อยู่ในแหล่งจ่ายไฟ

บอร์ดตรรกะวัดอุณหภูมิในหลาย ๆ สถานที่เพื่อควบคุมเครื่องเป่าลมและ CPU ตรวจสอบอุณหภูมิเพื่อลดอัตรานาฬิกาเมื่อมันอุ่นขึ้นกว่าเครื่องเป่าลมที่สามารถทำให้เย็นลงได้

ฉันคิดว่าบางวิทยานิพนธ์ปริญญาเอกอาจจะทำในการรวมความเร็วพัดลมและเซ็นเซอร์วัดอุณหภูมิต่าง ๆ เพื่อคำนวณการใช้พลังงานที่คาดหวัง เป็นไปได้ที่จะได้รับการคำนวณและด้วยการสอบเทียบบางอย่างมันอาจจะค่อนข้างแม่นยำ

ในความเป็นจริงเนื่องจากข้อมูลนั้นไม่ถูกเปิดเผยหรือบันทึกคุณอาจต้องทำการวัดจากภายนอก ตัวนับพลังงานในบ้านที่มีคุณค่าอยู่ระหว่าง $ 150 ถึง $ 300 w

คุณสามารถเช่าหรือซื้อหน่วยที่วัดพลังงานผ่านเต้าเสียบจากนั้นเรียกใช้การทดสอบบางอย่างเพื่อดูว่าไฟฟ้าใช้เวลาเท่าใดในหนึ่งชั่วโมงในสภาพที่แน่นอน

  • ปิด
  • นอน
  • ว่าง
  • โหลดซีพียูต่างๆ
  • CPU สูงสุดทุกอย่างดำเนินไปได้

จากนั้นคุณสามารถเชื่อมโยงสิ่งเหล่านี้กับการตรวจสอบการใช้งาน CPU ที่ไม่สำคัญเมื่อเวลาผ่านไปtopและสามารถเพิ่มสิ่งต่างๆได้

ทุกอย่างขึ้นอยู่กับสิ่งที่คุณต้องการทำกับข้อมูลอื่น ๆ นอกเหนือจากเรียนรู้วิธีการทำงานของฮาร์ดแวร์และมีกราฟเจ๋ง ๆ


2
+ คุณต้องเพิ่มจำนวนinfinitum ของโฆษณาลงในรายการ อาจเป็นไปตามเวลาที่ฉันมีเงื่อนไขทั้งหมดที่ปรับเทียบฉันจะต้องแทนที่ iMac ปัจจุบัน :-D อาจจะแค่บางเมตร W & kWh พื้นฐานภายนอกจะทำเคล็ดลับถ้าไม่มีออนบอร์ดเมตร
Jari Keinänen

2
:-) ดีใจที่คุณมีอารมณ์ขัน ประสบการณ์ของฉันคือแม็คดึง 20-25% น้อยกว่าข้อกำหนดที่เผยแพร่โดย Apple แม้ภายใต้การทดสอบอย่างเข้มงวดเพื่อให้ได้ทุกสิ่งที่กำลังสูงสุด
bmike

1
@ เช่นฉันฉันจะไม่แน่ใจเกี่ยวกับเรื่องนั้น rMBP เป็นที่รู้จักกันเพื่อระบายแบตเตอรี่เมื่อโหลดอย่างเพียงพอใน CPU + GPU เนื่องจากอะแดปเตอร์ 85W ให้กระแสไม่เพียงพอ
Steven Lu

1
@stevenlu ฉันจะไม่แปลกใจหากฮาร์ดแวร์ยุค 2013 ล่าสุดผลักดันได้ยากกว่ายุคเทคโนโลยียุคกลางปี ​​2010 ที่กำลังพูดถึงที่นี่ ในทำนองเดียวกันการจัดการพลังงานบน 10.8 นั้นซับซ้อนกว่า 10.6 คือ นอกจากนี้ - พวกเขาวาดอย่างหนักบนแบตเตอรี่ภายใน - ไม่มากจากอะแดปเตอร์ AC ในประสบการณ์ของฉัน แม้แต่รุ่น USB-C PD รุ่นใหม่ยังเป็นไปตามรูปแบบของการบริโภคภายใน / บัฟเฟอร์ที่มาก + การใช้ภายนอกที่มีน้ำหนักเบา
bmike

3

ฉันสร้างสคริปต์เล็กน้อยตามเอาต์พุตของ system_profiler มันจะคำนวณวัตต์โดยใช้แรงดันไฟฟ้าและแอมแปร์ที่กำหนด

powerstat() {
    b=$(system_profiler SPPowerDataType)
    amp=$(echo "$b" | grep 'Amperage (mA):' | cut -d ':' -f 2 | xargs)
    volt=$(echo "$b" | grep 'Voltage (mV):' | cut -d ':' -f 2 | xargs)
    power=$(($amp * $volt / 1000))
    echo "$b" | grep --color=never -A 1 'Battery Information:'
    echo "$b" | grep --color=never -A 1 'Amperage (mA)'
    echo "      Total Power (mW): $power"
    echo ""
    echo "$b" | grep --color=never -A 99 'AC Charger Information:'
}

แสดงผลดังนี้:

$ powerstat
    Battery Information:

      Amperage (mA): -552
      Voltage (mV): 12794
      Total Power (mW): -7062

    AC Charger Information:

      Connected: No
      Charging: No

เมื่อชาร์จ:

$ powerstat
    Battery Information:

      Amperage (mA): 1545
      Voltage (mV): 12850
      Total Power (mW): 19853

    AC Charger Information:

      Connected: Yes
      Wattage (W): 60
      Charging: No

2
// Build with: gcc psudata.cc -o psudata -framework IOKit
#include <stdio.h>
#include <string.h>
#include <IOKit/IOKitLib.h>

typedef struct {
  uint32_t key;
  char ignored[24];
  uint32_t size;
  char ignored2[10];
  char cmd;
  char ignored3[5];
  float val;
  char ignored4[28];
} smc_t;

int main(void) {
  mach_port_t mp;
  CFMutableDictionaryRef d;
  io_iterator_t it;
  io_object_t svc;
  io_connect_t ioc;
  smc_t req, resp;
  size_t sz = sizeof(resp);
  uint32_t vk  = ('V' << 24) + ('D' << 16) + ('0' << 8) + 'R';
  uint32_t ik  = ('I' << 24) + ('D' << 16) + ('0' << 8) + 'R';
  float v, i;

  IOMasterPort(MACH_PORT_NULL, &mp);
  d = IOServiceMatching("AppleSMC");
  IOServiceGetMatchingServices(mp, d, &it);
  svc = IOIteratorNext(it);
  IOObjectRelease(it);
  IOServiceOpen(svc, mach_task_self(), 0, &ioc);
  IOObjectRelease(svc);
  memset(&req, 0, sizeof(smc_t));
  memset(&resp, 0, sizeof(smc_t));
  req.cmd = 5;
  req.size = 4;
  req.key = vk;
  IOConnectCallStructMethod(ioc, 2, &req, sizeof(req), &resp, &sz);
  v = resp.val;
  req.key = ik;
  IOConnectCallStructMethod(ioc, 2, &req, sizeof(req), &resp, &sz);
  i = resp.val;
  IOServiceClose(ioc);

  printf("%fV %fA %fW\n", v, i, v*i);
  return 0;
}

ตอบคำถามที่ผิดจริงขออภัย ... ฉันมาที่นี่อันเป็นผลมาจากการค้นหาแรงดันไฟฟ้าและกระแสไฟจากเครื่องชาร์จ USB-C ... และเนื่องจากฉันไม่พบมันให้หาข้างต้นแล้วโพสต์ ที่นี่. แต่มันไม่ใช่สิ่งที่คุณต้องการ คุณอาจรวมข้อมูลอินพุต DC (นี่) เข้ากับข้อมูลแบตเตอรี่ (คำตอบอื่น ๆ ) เพื่อสรุปข้อมูลการใช้งาน
Luyer

2
system_profiler SPPowerDataType | grep Wattage

เคล็ดลับสำหรับฉันใน MacBook Pro (15- นิ้ว, 2559) หรือไม่!


2
สิ่งนี้รายงานวัตต์ของอะแดปเตอร์ AC ไม่ใช่การสิ้นเปลืองพลังงานในปัจจุบัน สำหรับบริบท:system_profiler SPPowerDataType | grep -C4 Wattage
Edward Anderson

2

ต่อไปนี้เป็นioregคำสั่งที่พิมพ์ข้อมูลพลังงานส่วนใหญ่โดยไม่มี 'grep' มันส่งคืนได้เร็วกว่า system_profiler บนเครื่องของฉันดังนั้นอาจเหมาะกว่าสำหรับสคริปต์หรือทำงานในพื้นหลัง

ioreg -w 0 -f -r -c AppleSmartBattery

1

ฉันใช้ MacBook 10.6.8 และioreg -l | grep LegacyBatteryInfoทำงานให้ฉัน

ก่อนหน้านี้ฉันพยายาม

ioreg -l | grep LegacyBatteryInfo | \
    cut -d '{' -f 2 | tr -d \} | tr ',' '=' | \
    awk -F'=' '{print ($2*$10/10^22)}' 

และมันกลับเป็น 0

มีวิธีแก้ไขปัญหาจากห้องสมุด Dev ของ Apple หรือไม่

ทำไมไม่มองออกไปข้างนอกบน power มิเตอร์? บันทึกการอ่านของคุณแล้วเชื่อมโยงกับการใช้งาน% CPU อย่างต่อเนื่อง จากนั้นคุณสามารถได้รับการประมาณ


0

ฉันคิดว่าสำหรับ 10.7 นี้ควรทำงานจาก terminal:

ioreg -l | grep LegacyBatteryInfo | cut -d '{' -f 2 | tr -d \} | tr ',' '=' | awk -F'=' '{print ($2*$10/10^22)}'


2
ioreg -l | grep LegacyBatteryInfoส่งคืนอะไรสำหรับฉันใน iMac
Jari Keinänen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.