ฉันจะเขียนแบบร่าง Arduino และแอปพลิเคชัน Android เพื่อพูดคุยกันผ่านสาย USB มาตรฐานได้อย่างไร


คำตอบ:


6

อุปกรณ์ Android มักจะไม่มีโฮสต์ USB: พวกเขาคาดว่าจะเชื่อมต่อกับอุปกรณ์ที่ชาญฉลาดเช่นคอมพิวเตอร์ของคุณ กันไปกับ Arduino ด้วยเหตุนี้ Arduino จึงสร้างMega ADK (นั่นหมายถึงชุดอุปกรณ์เสริมสำหรับการพัฒนา )

Mega ADK และ Due ทำหน้าที่เป็นโฮสต์ USB และสามารถเชื่อมต่อโดยตรงกับโทรศัพท์ Android ของคุณ หากคุณมีบอร์ดอยู่แล้วตัวเลือกอื่นคือการได้รับตัวป้องกันโฮสต์ USB เพื่อเพิ่มความสามารถโฮสต์ USB

ร่างของคุณจะบอกโทรศัพท์ว่าแอปพลิเคชั่นเสริมประเภทใดและโทรศัพท์ของคุณจะดาวน์โหลดแอปพลิเคชันที่เหมาะสมจากร้านค้า

มีหนังสือเกี่ยวกับการเชื่อมต่อเป็นArduino เพื่อ Android


มีตัวแปลงจาก mini USB เป็นโฮสต์ USB-A
apnorton

@anorton ใช่: นั่นคือสาย OTG ... ดูโพสต์ของฉัน
เพนกวินไม่ระบุชื่อ

หลักฐานของคำตอบนี้ล้าสมัยไปแล้วหลายปีก่อนที่จะโพสต์ - อุปกรณ์ Android ร่วมสมัยส่วนใหญ่ตั้งใจที่จะมีโฮสต์ USB รองรับแม้ว่าจะมีบางกรณีที่การออกแบบที่แปลกประหลาดบางอย่างทำให้มันพัง
Chris Stratton

3

คุณไม่เคยพูดถึงรุ่นแท็บเล็ตของคุณ ... หรือรุ่น Arduino

มีแท็บเล็ตบางตัวที่ออกแบบมาเพื่อทำงานกับ USB แฟลชไดรฟ์และเครื่องพิมพ์ สิ่งนี้เรียกว่า OTG (ระหว่างเดินทาง

คุณต้องการ:

  • แท็บเล็ตที่รองรับ OTG
  • อะแดปเตอร์ OTG ที่เหมาะกับช่องเสียบ USB ของแท็บเล็ตและสามารถใช้งานร่วมกัน
  • แอพ Arduino Uno Communicator
  • Arduino Uno (หรือโคลน) [หมายเหตุ: มันบอกว่าใช้งานได้กับ Atmega16U2 หรือ Atmega8U2 ที่ตั้งโปรแกรมเป็นตัวแปลง USB เป็นอนุกรมดังนั้นฉันคิดว่ามันจะครอบคลุมบอร์ดมากกว่า Uno สองสามแผ่น)

ทางเลือกหนึ่งคือมองหาบลูทู ธ (หมายเหตุ: ฉันเพิ่งเลือกลิงค์แบบสุ่ม แต่มีอะแดปเตอร์ BT ที่คล้ายกันนับร้อย)


โปรดทราบว่าโหมดโฮสต์ USB Android มาตรฐานไม่สนับสนุนแฟลชไดรฟ์ที่มีฟังก์ชั่นระบบปฏิบัติการใด ๆ (แม้ว่าผู้ผลิตบางรายจะสร้าง) - แต่จะทำให้ API โฮสต์ USB ดิบค่อนข้างเป็นรหัสแอปพลิเคชัน
Chris Stratton

2

โปรโตคอล USB ต้องการให้ปลายด้านหนึ่งเป็น "โฮสต์" และปลายอีกด้านเป็น "อุปกรณ์ต่อพ่วง" และจะไม่ทำงานหากอุปกรณ์ที่ปลายทั้งสองของสายเคเบิลเป็น "อุปกรณ์ต่อพ่วง" อนิจจา Arduinos ส่วนใหญ่และอุปกรณ์ Android รุ่นแรก ๆ เป็น "อุปกรณ์ต่อพ่วง" ดังนั้นการเชื่อมต่ออุปกรณ์ดังกล่าวด้วยสาย USB มาตรฐานจึงไม่สามารถใช้งานได้

อุปกรณ์ Android ที่ทันสมัยบางรุ่นรองรับ "OTG" ดังนั้นในทางทฤษฎีแล้วสามารถทำให้ Android เป็นสาย "โฮสต์" ได้ มีใครได้รับสิ่งนี้ในการทำงาน?

อีกวิธีคือทำให้ Arduino เป็นสายเคเบิล "โฮสต์" และปลาย Android ของสายเคเบิลเป็น "อุปกรณ์ต่อพ่วง" นั่นเป็นวิธีที่ดำเนินการโดย

  • Microbridge (a) (b)
  • บอร์ด IOIO (a) (b)
  • ชุดพัฒนาอุปกรณ์เสริม Android (ADK) (a) (b) (c)

(The Amarino (a)และ Cellbots (a) (b)ใช้วิธีอื่นที่แตกต่างอย่างสิ้นเชิง)


1

การประมวลผลเป็นจุดเริ่มต้นที่ยอดเยี่ยมสำหรับการสื่อสารแบบอุปกรณ์ต่ออุปกรณ์

ส่วนต่อประสานและภาษานั้นคล้ายกับ Arduino และมีตัวอย่างมากมายให้คุณเริ่มต้น

http://playground.arduino.cc/Interfacing/Processing


2
นั่นทำงานบน Android หรือไม่?
เพนกวินที่ไม่เปิดเผยตัว

@AnnonomusPerson ใช่แล้วกำลังประมวลผลสำหรับ android
Faux_Clef

@Faux_Clef อืมไม่รู้เช่นนั้น ฉันยังไม่รู้ว่ามันดีที่สุดสำหรับ Android ลิงก์ที่คุณโพสต์นั้นดูเหมือนจะไม่เสถียรหรือไม่ ... ฉันรู้ว่าการประมวลผลมีการรองรับ USB แต่ไม่รู้ว่าคุณสามารถทำได้บน Android หรือไม่ ...
เพนกวินนิรนาม

-1

คุณสามารถเชื่อมต่อ Android และ Arduino ด้วย usb และใช้เครื่องมือง่าย App Inventor 2 สำหรับ android

คุณลองใช้แอปพลิเคชันใหม่นี้: https://play.google.com/store/apps/details?id=bp.usbbridge.appinvDemoและเวอร์ชันเต็ม: https://play.google.com/store/apps/details หรือไม่ id = bp.usbbridge.appinv

ค้นหาวิดีโอเกี่ยวกับ Explications: USB OTG Bridge Serial UART สำหรับ APP Inventor 2 และ ARDUBLOCK บน youtube

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