ฉันควรซื้อ Netduino หรือ Arduino


17

ฉันกำลังมองหาซื้อ NetDuino เพื่อรับงานอดิเรกสนุก ๆ ที่บ้าน

มีผู้ใดบ้างที่ใช้มันและประสบการณ์ของคุณเป็นอย่างไรบ้าง

ฉันควรจะดูช่วง Arduino หรือ FreeDuino แทน (หรือบางอย่างที่แตกต่างกันอย่างสิ้นเชิง)?

ฉันตัดสินใจที่จะติดกับ NetDuino เนื่องจากความรู้ C # ของฉัน แต่นั่นไม่ใช่ข้อกำหนด

ขอบคุณ

PS ฉันไม่แน่ใจว่านี่เป็นของวิกิชุมชนหรือไม่


5
คุณต้องการทำอะไรกับบอร์ด ที่จะส่งผลต่อการเลือกของคุณ
Toby Jaffey

3
ไมโครคอนโทรลเลอร์ ARM7 ใน NetDuino และ AVR 8 บิตบน Arduino นั้นอยู่ในระดับที่แตกต่างอย่างสิ้นเชิง มันเหมือนกับว่าคุณกำลังถามว่าจะซื้อเซิร์ฟเวอร์หรือเน็ตบุ๊ก อย่างไรก็ตามคุณกำลังทำให้เซิร์ฟเวอร์ของคุณช้าลงโดยใช้ VM ที่ไม่เหมาะสม - ประสิทธิภาพจะคล้ายกันและคุณใช้ทั้งสองเครื่องมือสำหรับงานเดียวกัน คุณต้องการเลเยอร์สิ่งที่เป็นนามธรรมหรือไม่?
Kevin Vermeer

@reemrevnivek - "ไม่เหมาะ" uh ... มันเป็นเลเยอร์ของสิ่งที่เป็นนามธรรม แต่มันก็ไม่เหมาะอย่างแน่นอน (และไม่ใช่ vm จริง ๆ เช่นกัน)
Connor Wolf

2
@Fake Name ดูเหมือนว่า netduino (TinyCLR) ไม่มีคอมไพเลอร์ JIT ดังนั้นมันจึงเป็น VM / ล่าม tinyclr.com/faq/#13
Toby Jaffey

1
VM คือสิ่งที่ Smalltalk, Java, Python และอื่น ๆ ทำงาน ... มันหมายถึงเครื่องนามธรรมใด ๆ เรียกใช้ชุดคำสั่งที่แตกต่างจาก "โลหะเปลือย" ไม่ใช่แค่พีซีแบบเสมือนจริง
Joe Koberg

คำตอบ:


16

ฉันรัก C # และค้นหาประโยชน์การเพิ่มประสิทธิภาพของการพัฒนาใน C # กับ Visual Studio เพื่อเป็นปัจจัยที่แข็งแกร่งมากในความโปรดปรานของ Netduino ฉันจะไม่ pooh-pooh Netduino เพราะ "C # ไม่ได้สำหรับไมโครคอนโทรลเลอร์ / สภาพแวดล้อมแบบฝังตัว" ตามที่ระบุไว้ในคำตอบอื่น ๆ

คุณสามารถสร้างโครงการที่สนุกและเรียนรู้มากมายเกี่ยวกับการเชื่อมต่ออินพุตและอุปกรณ์ทางกายภาพที่แตกต่างกันโดยใช้ Netduino เช่นเดียวกับที่คุณทำกับ Arduino หรือไปที่ "โลหะเปลือย" และทำการจัดการ MCU โดยตรงของ AVR, PIC หรือไมโครคอนโทรลเลอร์

ด้วยที่กล่าวว่าฉันติดกับ Arduino ด้วยเหตุผลดังต่อไปนี้:

  • การสนับสนุนชุมชนที่ดีขึ้น Arduino มีตัวอย่างตัวอย่างและชุมชนที่ใหญ่กว่าที่คุณสามารถวาดได้
  • Netduino ไม่ได้มีเรื่องที่ต้องทำนอกเหนือไปจากวิธีการทดสอบแบบติดตั้ง / ต้นแบบที่มีราคาแพง กำลังจะใช้งานนิทรรศการแบบอินเทอร์แอคทีฟที่ต้องใช้ไมโครคอนโทรลเลอร์หลายสิบตัวเรียกใช้รหัสของคุณหรือไม่ เตรียมตัวให้พร้อมสำหรับจ่าย $ 35 สำหรับ Netduinos ด้วย Arduino คุณสามารถสร้างต้นแบบบน Arduino จากนั้นนำไปใช้กับโซลูชันเปลือยอย่างเดียวของ MCU กับไมโครคอนโทรลเลอร์ AVR ในราคาต่ำกว่า $ 10

ดังนั้นฉันจะบอกว่าถ้าทักษะ C ของคุณเต็มไปด้วยฝุ่นหรือไม่มีเลยคุณรัก C # และ Visual Studio และเพียงแค่ต้องการคนจรจัดในโปรเจ็กต์งานอดิเรกไม่กี่ชิ้นที่ไม่จำเป็นต้องขยายออกไปในที่ที่ต้นทุนกลายเป็นประเด็นใหญ่

ถ้าคุณรู้สึกสะดวกสบายใน C หรือสบายใจในการใช้มันด้วยความช่วยเหลือของตัวอย่างโค้ดและชุมชนและต้องการที่จะใกล้ชิดกับโลหะมากขึ้นและมองไปที่การหลบหลีกจาก "ต้นแบบ" ของ Netduino และ Arduino Arduino เพื่อเริ่มต้น


1
ฉันรู้ว่านี่เป็นคำตอบเก่า ๆ แต่ฉันต้องการที่จะเพิ่มว่าเนื่องจาก Net duino เป็นโอเพ่นซอร์สอย่างเต็มที่ (รวมถึงฮาร์ดแวร์) คุณสามารถซื้อ uC จากใครก็ได้และแฟลชเฟิร์มแวร์ Netduino ลงไป ดังนั้นคุณสามารถใช้แพลตฟอร์ม Netduino ในผลิตภัณฑ์ที่ผลิตได้
Unkwntech

"ความรู้ C # ของคุณนั้นใกล้เคียงกับไร้ประโยชน์บนแพลตฟอร์มที่ฝังตัวอยู่แล้วดังนั้นอย่าวางน้ำหนักมากเกินไป" - ช่างพูดอะไรโง่ ๆ Netduino ถูกฝังหินมันและมันก็เป็น C # ...
Jonesome คืนสถานะโมนิกา

11

ความรู้ C # ของคุณใกล้เคียงกับไร้ประโยชน์บนแพลตฟอร์มที่ฝังตัวอยู่แล้วดังนั้นอย่าวางน้ำหนักมากเกินไป

ฉันจะไปกับ Arduino หรือหนึ่งในโคลนนิ่งไม่ใช่เพราะ. Net เป็นปีศาจ แต่เพราะนั่นคือสิ่งที่ทุกคนใช้ดังนั้นคุณจะมีเวลามากขึ้นที่จะได้รับความช่วยเหลือและปิดบังรหัสของผู้คน

เมื่อคุณเปียกเท้าโดยวิธีการที่แตกต่างและลองสิ่งที่แตกต่างกัน


คุณกำลังสนับสนุนภาษา Wiring ที่ใช้ใน Arduino หรือไม่ก็ละทิ้ง (และสนับสนุน) รหัส C บนavrfreaks ?
Kevin Vermeer

1
@reemrevnivek Arduino เป็นเพียง C ++ ที่มีไลบรารีบางส่วน ฉันจะไม่จัดให้เป็น "ภาษา" - เป็นภาษา C ++ พร้อมส่วนหัวและส่วนท้าย
Toby Jaffey

อ๊ะการเดินสายเป็นสิ่งที่ฉันหมายถึง
Kevin Vermeer

ฉันพบว่าแปลกเล็กน้อยฉันเกือบจะใช้ "เมื่อคุณได้เท้าของคุณเปียกโดยทั้งหมดหมายความว่าสาขา" เป็นคำแนะนำให้ไปกับ Netduino เพื่อเริ่มต้นเพราะองค์ประกอบการเขียนโปรแกรมควรจะน้อยกว่าปัญหามาก - ช่วยให้หนึ่งเพื่อ พัฒนาทักษะ "อื่น ๆ " ที่จำเป็น
Murph

1
ความคิดเห็นที่ไม่ถูกต้อง dren.dk ผิดปกติ ฉันและคนอื่น ๆ ใช้เน็ตและ C # ตลอดทั้งวัน
Jonesome Reinstate Monica

7

ขณะนี้ฉันมี Arduino, mbed และในที่สุดก็เป็น Netduino ตามที่ฉันต้องการเพื่อการพัฒนา / ใช้งานอดิเรก ฉันไม่เคยชอบทำงานกับ Arduino บางทีอาจเป็นเพราะตัวแก้ไขไม่ดีมากและฉันก็นิสัยเสียในฐานะนักพัฒนา C # เมื่อฉันได้รับ mbed ของฉันฉันชอบการพัฒนามากกว่านั้นดีกว่ามาก แต่การดีบักยังคงเจ็บปวดเพราะคุณต้องใช้คำสั่งพิมพ์เพื่อหาว่าเกิดอะไรขึ้น

เมื่อคุณกำลังพัฒนาผลิตภัณฑ์หรือแค่ไขปัญหาเวลาส่วนใหญ่ของคุณในตอนแรกจะถูกใช้ในการดีบัก ... และเมื่อคุณทำการดีบั๊กคุณต้องการมีจุดพัก ฉันมีเวลาที่ยากลำบากมากที่จะกลับไปใช้ฮาร์ดแวร์แบบฝังที่ไม่ได้มีจุดพัก

ฉันยังไม่เคยมีประสบการณ์กับ JTAG แต่ทุก micro ที่ฉันเห็นมาจนถึงตอนนี้ (นอกเหนือจากโมดูล RabbitCore) ต้องการให้ debugging ผ่านเบรกพอยต์ ลองจินตนาการถึงความประหลาดใจของฉันเมื่อฉันติดตั้ง Netduino ของฉันในวันนี้และสามารถผ่านขั้นตอนเดียวในรหัสของฉันใน VS2010! ฉันรู้สึกยินดีอย่างยิ่งกับสิ่งนี้

ส่วนตัวผมจะไม่ต้องกังวลเกี่ยวกับขนาดรอย, ความชั่วร้ายของ NET และไมโครซอฟท์ ฯลฯ เป็นต้นฉันเพียงจะดูแลเกี่ยวกับความสามารถในการแก้ปัญหาได้อย่างรวดเร็วและมีประสิทธิภาพดังนั้นฉันก็สามารถได้รับสิ่งที่ทำ


การทำสิ่งต่าง ๆ ให้สำเร็จนั้นเป็นบทเรียนที่เรียนรู้ได้ยากที่สุด

@ kurtnelle ดูเหมือนว่าคุณกำลังเรียกร้องไม่ให้ใช้. NET MF?
เดฟ

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

@ kurtnelle แต่ด้วย. NET MF ฉันทำได้จริง ๆ ด้วยความพยายามน้อยมาก
เดฟ

2
@ เดฟขอโทษสำหรับการตอบสนองแบบอิเลคทริคก่อนหน้านี้; ฉันสนับสนุน. NET MF

5

ในฐานะผู้ใช้ BasicStamp เป็นเวลาเกือบ 20 ปีและผู้ใช้ NetDuino เพียง 2 สัปดาห์ (ฉันไม่เคยใช้ Arduino) ฉันจะบอกว่า NetDuino เป็นแพลตฟอร์มที่ยอดเยี่ยม คุณสมบัติหลักสองอย่างที่ฉันชอบ: ความง่ายในการเขียนโปรแกรม (และเบรกพอยต์!) ใน VisualStudio และ ADC ความละเอียดสูงบนกระดานเป็นเหตุผลสำคัญ เกราะ Arduino บางตัวที่ฉันได้ลองจาก SparkFun ทำงานได้อย่างสมบูรณ์แบบกับ NetDuino


4

โดยส่วนตัวแล้วฉันไม่ใช่แฟนตัวยงของ C # หรือ. NET ฉัน Luddite C ดังนั้นตัวเลือกแพลตฟอร์มของฉันจึงมีคุณสมบัติฮาร์ดแวร์ที่ต้องการ (แฟลช, RAM, ความเร็วสัญญาณนาฬิกา, จำนวน ADC, จำนวนตัวจับเวลา ฯลฯ )

ที่กล่าวว่าฉันสามารถจินตนาการ C # /. NET เป็นประโยชน์สำหรับการสร้างต้นแบบอย่างรวดเร็ว:

  • การจัดการสตริงน่าจะง่ายกว่ามาก
  • RPC และการทำให้เป็นอันดับวัตถุอาจเป็นเรื่องง่าย ฉันสงสัยว่าคุณสามารถกดวัตถุ C # บนลิงก์อนุกรมได้ RPC น่าจะเป็น "เพิ่งได้ผล"
  • พกพาได้ - .NET เป็นเครื่องเสมือนดังนั้นโค้ดควรรันบนบอร์ดอื่นหรือแม้กระทั่งบนพีซี
  • การรวบรวมขยะทำให้อัลกอริทึมมากมายง่ายต่อการใช้

แน่นอนว่าทั้งหมดนี้มีค่าใช้จ่าย:

  • การปล่อยรหัสนั้นใหญ่กว่า (โดยเฉพาะเมื่อคุณคำนึงถึงไลบรารีมาตรฐาน)
  • การใช้ RAM สูงกว่า (ทุกอย่างเป็นวัตถุทุกอย่างถูกพิมพ์หรือไม่)
  • ตัวรวบรวมขยะน่าจะยุ่งกับประสิทธิภาพแบบเรียลไทม์
  • หากคุณลักษณะฮาร์ดแวร์ไม่ได้รับการสนับสนุนโดยไลบรารี NET คุณจะไม่สามารถใช้งานได้ (เว้นแต่ว่าคุณจะใช้งานคุณสมบัติด้วยตนเองซึ่งคุณต้องใช้ C / C ++ ดูความคิดเห็น)

และที่สำคัญที่สุดคือการใช้ทักษะ C # ของคุณบนแพลตฟอร์มแบบฝังตัวคุณไม่ได้เรียนรู้อะไรเกี่ยวกับอุปกรณ์ฝังตัว

ใช่มันจะทำงานให้เสร็จ - แต่ความสนุกในนั้นอยู่ที่ไหน


ฉันสงสัยว่ามันยากแค่ไหนในการแพทช์ไลบรารี. NET ที่ใช้บน NetDuino ด้วยคุณสมบัติใหม่ ดูเหมือนว่าพวกเขากำลังใช้ C ++ ที่จะสร้างของพวกเขา .NET SDK, ทางลงใน SecretLabs.NETMF.Hardware / กุด - ไฟล์ที่มา ถอนหายใจ
Kevin Vermeer

@reemrevnivek ไม่ใช่ความคิดของฉันสนุก หากคุณกำลังแก้ไขรันไทม์คุณอาจเริ่มด้วย C / C ++
Toby Jaffey

1
@Joby - ฉันเป็น C luddite เหมือนตัวคุณ แต่ฉันแค่อยากจะชี้ให้เห็นว่ามันเป็นไปได้ - คุณพูดว่า "หากคุณสมบัติของฮาร์ดแวร์ไม่รองรับไลบรารี NET คุณไม่สามารถใช้งานได้" ซึ่ง ไม่เป็นความจริงเลย
Kevin Vermeer

1
คุณเคยเห็นมาตรฐานหรือไม่? มันยากสำหรับฉันที่จะจินตนาการว่า 16MHz 8 บิตทำงานด้วยความเร็วเท่ากับ 60MHz 32 บิตไมโคร โดยเฉพาะอย่างยิ่งเนื่องจากห้องสมุด Arduino ชะลอตัวเช่นกัน - มันไม่มีการปรับให้เหมาะกับความเร็วอย่างแท้จริง และมันก็มีวัตถุด้วย (ถ้าไม่มากเท่าที่ใช้ใน. NET) และแตกต่างจาก Arduino มากหรือไม่? หากไม่มีห้องสมุด Arduino ที่สนับสนุนคุณสมบัติ ... คุณต้องติดตั้งด้วยตัวเอง (โทรออกโดยตรงกับการลงทะเบียนฮาร์ดแวร์และอื่น ๆ )
davr

@davr แก้ไขคำตอบ
Toby Jaffey

3

ฉันพบว่าmbedเป็นตัวแทนที่ยอดเยี่ยมสำหรับ Arduino

ไลบรารีซอฟต์แวร์นั้นเน้นภาษา C ++ มากขึ้นพร้อมกับน้ำตาล syntactic ทั้งหมดของผู้ปฏิบัติงานที่ได้รับมอบหมายมากไป นอกจากนี้ยังมีการตั้งค่าระบบเพื่อให้ผู้ใช้สามารถเผยแพร่และไลบรารีรหัสเอกสารซึ่งสามารถค้นหาและนำเข้าสู่โครงการได้อย่างง่ายดาย

คุณสมบัติที่ดีอีกประการหนึ่งคือความสามารถในการจัดการอุปกรณ์เป็นแท่ง USB และเพียงวาง.binไฟล์ลงบนไดรฟ์โดยตรง

น่าเสียดายที่ IDE นั้นเปรียบได้กับของ arduino นอกจากนี้มันออนไลน์ นี่เป็นทั้งดีจริงๆ (สามารถใช้กับพีซีเครื่องใดก็ได้โดยไม่จำเป็นต้องติดตั้ง) และแย่มาก

ค่าใช้จ่ายของคณะกรรมการคือ $ 60 แต่พวกเขามีรูปแบบการสนับสนุนที่พวกเขาจะบริจาคบอร์ดให้กับโครงการที่น่าสนใจหากมีการบันทึกความคืบหน้าและรหัสที่มาเผยแพร่ต่อสาธารณะ


ฉันชอบความคิดของสปอนเซอร์ - ฉันจะต้องดูด้วยว่า
เดฟ

2

ฉันเป็นนักพัฒนา C # เป็นหลัก ฉันซื้อ Arduino แทน Netduino เพราะความพร้อมของซอร์สโค้ด มันจะไม่ง่ายที่จะรวม Netduino กับอิฐอิเล็กทรอนิกส์ Arduino เพราะคุณจะต้องเขียนตัวอย่างบางส่วนใหม่ตั้งแต่ต้น


2

เมื่ออ่าน 'C # ไม่เหมาะสำหรับแพลตฟอร์มที่ฝังตัว' โปรดจำไว้ว่าผู้ที่มีอายุมากกว่าอายุที่กำหนดเคยได้ยินที่กล่าวอย่างน้อยหนึ่งครั้งเกี่ยวกับ 'C' แล้วอีกครั้งเกี่ยวกับ C ++ ในช่วงชีวิตของพวกเขา ...

แน่นอนว่ามันเป็น 'สิ้นเปลือง' อย่างมหาศาลของความสามารถพื้นฐานของโปรเซสเซอร์ แต่ความสามารถในการรันลูปที่ไม่ได้ใช้งานของคุณเร็วกว่าที่คุณต้องการ 1000x มากกว่าที่คุณต้องการ 10 เท่าเร็วกว่าที่คุณไม่เคยทำให้ใครรวย


ลูปที่ไม่ได้ใช้งานไม่เกี่ยวข้อง มี MCU บางตัวที่ใช้วงจรที่มีความสำคัญเช่นการจับสัญญาณวิดีโอหรือการสร้างทำให้ออสซิลโลสโคปของคุณเองการวิเคราะห์ FFT แบบเรียลไทม์ของสัญญาณอินพุตและอื่น ๆ อีกมากมาย คุณสามารถลืม C # สำหรับสิ่งเหล่านี้ ในทางตรงกันข้ามถ้าความต้องการของคุณมีมากขึ้นต่อการทำ "เครื่องคอมพิวเตอร์เช่นซอฟต์แวร์เพียงในแพคเกจขนาดเล็ก" แล้ว C # และ .NET MF ไม่ได้เป็นทางเลือกที่ดีเลย ...
Avra

2
... สำหรับประสบการณ์ดังกล่าวฉันอยากจะเลือกบอร์ด ARM แบบฝังตัวของลินุกซ์ แต่นั่นเป็นหัวข้อสำหรับการสนทนาอื่น ประเด็นก็คือว่าสำหรับใครบางคนที่เพิ่งเข้าสู่โลกฝังตัวที่มีพื้นหลัง C #. NET MF ไม่ใช่ขั้นตอนแรกที่ไม่ดีเลย
avra

1

หากคุณต้องการสัมผัสกับโลหะเปลือยและสามารถสร้างหรือจับสัญญาณวิดีโอได้โดยตรงนั่นคือทุก ๆ รอบของวงจรและ AVR / Arduino จะช่วยให้คุณทำเช่นนั้นได้ หากคุณต้องการระดับที่สูงขึ้นของนามธรรมการเขียนโปรแกรมระดับสูงและความสะดวกสบายในการดีบักตัวรวบรวมขยะและสามารถอยู่กับความจริงที่ว่าใน Windows คุณไม่ได้ควบคุมทุกอย่างให้เลือก NetDuino หรือ FEZ Domino เนื่องจากทั้งคู่มี ARM อยู่ในเตาไฟฉันพนันได้เลยว่าหากจำเป็นคุณสามารถฆ่า. NET MF บนบอร์ดและโค้ด ARM GCC แฟลชโลหะเปลือยได้โดยตรงจาก Eclipse บางอย่างเช่น IDE ด้วยความช่วยเหลือของดีบักเกอร์ JTAG ขนาดเล็ก สอบสวนนิดหน่อย ปัญหาอาจเป็นได้ว่าถ้าส่วนหัว JTAG หายไปคุณจะต้องทำการบัดกรี


C และ C ++ ไม่ดีพอสำหรับวิดีโอ คุณจะต้องใช้ Verilog เพื่อสิ่งนั้น :)

มีโครงการอย่างน้อย 10 โครงการที่สร้างวิดีโอด้วยซอฟต์แวร์เพียงอย่างเดียว ส่วนใหญ่เป็น B / W หรือสีเทา แต่มีสีและระบบเกมที่มีเพียงซอฟต์แวร์ AVR สร้างวิดีโอ โครงการ OSD ก็มีอยู่เช่นกัน นอกจากนี้ยังมีตัวอย่างของการจับภาพวิดีโอความละเอียดต่ำด้วย AVR ที่ไม่มี FPGA เพียง google รอบ ...
avra

เมื่อฉันพูดวิดีโอฉันหมายถึงสี 1080p 24 บิต C ++ แบบฝังสามารถทำเช่นนั้นได้หรือไม่?

0

หลังจากที่หายไปนานมากจากอุปกรณ์อิเล็กทรอนิกส์และการเขียนโปรแกรมฉันได้รับมันกลับมาเพราะโครงการหนึ่งที่ลูกชายของฉันกำลังทำอยู่ที่มหาวิทยาลัย ฉันเรียนรู้อุปกรณ์อิเล็กทรอนิคส์เมื่อหลอดเป็นบรรทัดฐานและการเขียนโปรแกรมด้วยสวิตช์สลับ (ชุดที่อยู่ชุดข้อมูลโหลดจัดเก็บในรูปแบบไบนารี) และการ์ดเจาะ ในช่วงหลายปีที่ผ่านมาฉันได้เรียนรู้และใช้ความก้าวหน้าทางภาษาอิเล็กทรอนิกส์และการเขียนโปรแกรมซึ่งใช้เวลาและความพยายามอย่างมาก ดังนั้นฉันรู้สึกขอบคุณสำหรับความก้าวหน้าในไมโครคอนโทรลเลอร์และราคาถูกอย่างไม่น่าเชื่อรวมถึงบอร์ดการพัฒนาเช่น Arduino, Netduino ฯลฯ ข้อโต้แย้งเกี่ยวกับ Arduino vs Netduino ฯลฯ ทำให้ฉันนึกถึงการต่อสู้ของ Microsoft กับ Apple เช่น เป็นบรรทัดคำสั่ง vs GUI ไม่สำคัญว่าจะใช้แพลตฟอร์มภาษาโปรแกรมใดตราบใดที่เหมาะสมกับผลลัพธ์


-1

ถ้า. net MF ให้ไลบรารีที่มีความสามารถในสิ่งที่รหัสเครื่อง / โลหะบริสุทธิ์สามารถทำได้ ... ดังนั้นสิ่งที่เป็นนามธรรม (. Net MF) กลายเป็นสิ่งที่ดี นอกเหนือจากการใช้พื้นที่มากขึ้นและเรียกใช้ GC (ซึ่งควรทำให้มีประสิทธิภาพ ??)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.