Làm cách nào để tôi viết một bản phác thảo Arduino và một ứng dụng Android để nói chuyện với nhau qua cáp USB tiêu chuẩn?


Câu trả lời:


6

Các thiết bị Android thường không có máy chủ USB: chúng dự kiến ​​sẽ được kết nối với một số thiết bị thông minh hơn như máy tính của bạn. Cũng vậy với Arduino. Vì lý do này, Arduino đã tạo ra Mega ADK (có nghĩa là Bộ phát triển phụ kiện ).

Mega ADK và Do hoạt động như máy chủ USB và có thể được kết nối trực tiếp với điện thoại Android của bạn. Nếu bạn đã có bảng, một tùy chọn khác là lấy tấm chắn máy chủ USB để thêm khả năng lưu trữ của máy chủ USB.

Bản phác thảo của bạn sẽ cho điện thoại biết đó là loại ứng dụng phụ kiện nào và điện thoại của bạn sẽ tải xuống ứng dụng phù hợp từ cửa hàng.

Có một cuốn sách về kết nối Arduino với Android .


Có bộ chuyển đổi từ USB mini sang máy chủ USB-A.
apnorton

@anorton Có: đó là những cáp OTG ... xem bài viết của tôi.
Chim cánh cụt vô danh

Tiền đề của câu trả lời này đã lỗi thời nhiều năm trước khi nó được đăng - hầu hết các thiết bị Android hiện đại đều có ý định hỗ trợ máy chủ USB, mặc dù có một số trường hợp thiết kế khiến nó bị hỏng.
Chris Stratton

3

Bạn chưa bao giờ đề cập đến mô hình máy tính bảng của bạn ... hoặc mô hình Arduino

Có một số máy tính bảng được thiết kế để hoạt động với ổ đĩa flash và máy in USB. Điều này được gọi là OTG (trên đường đi.

Bạn cần:

  • Một máy tính bảng hỗ trợ OTG
  • Bộ chuyển đổi OTG vừa với khe cắm USB của máy tính bảng của bạn và tương thích
  • Ứng dụng giao tiếp Arduino Uno
  • Arduino Uno (hoặc bản sao) [Lưu ý: Nó nói rằng nó hoạt động với Atmega16U2 hoặc Atmega8U2 được lập trình như một bộ chuyển đổi nối tiếp USB nên tôi cho rằng nó sẽ bao phủ một vài bảng hơn Uno.)

Một cách khác là xem xét Bluetooth (Lưu ý: Tôi chỉ chọn một liên kết ngẫu nhiên nhưng có hàng trăm bộ điều hợp BT tương tự)


Lưu ý rằng chế độ máy chủ USB tiêu chuẩn của Android không hỗ trợ ổ đĩa flash với bất kỳ chức năng nào của hệ điều hành (mặc dù một số nhà cung cấp xây dựng làm) - thay vào đó, nó hiển thị API máy chủ USB khá thô cho mã ứng dụng.
Chris Stratton

2

Giao thức USB yêu cầu một đầu là "máy chủ" và đầu còn lại là "thiết bị ngoại vi" và nó không hoạt động nếu các thiết bị ở cả hai đầu cáp là "thiết bị ngoại vi". Than ôi, hầu hết Arduinos và nhiều thiết bị Android đầu tiên là "thiết bị ngoại vi", vì vậy kết nối các thiết bị đó bằng cáp USB tiêu chuẩn không hoạt động.

Một số thiết bị Android hiện đại hỗ trợ "OTG", vì vậy về mặt lý thuyết, người ta có thể biến đầu cuối của cáp thành "máy chủ". Có ai từng nhận làm công việc này chưa?

Một cách tiếp cận khác là làm cho đầu Arduino của cáp trở thành "máy chủ" và đầu cuối của cáp là "thiết bị ngoại vi". Đó là cách tiếp cận được thực hiện bởi

  • Cầu siêu nhỏ (a) (b)
  • Bảng IOIO (a) (b)
  • Bộ công cụ phát triển phụ kiện Android (ADK) (a) (b) (c)

(Amarino (a) và Cellbots (a) (b) có một cách tiếp cận hoàn toàn khác).


1

Xử lý là một nơi tuyệt vời để bắt đầu với giao tiếp từ thiết bị đến thiết bị.

Giao diện và ngôn ngữ rất giống với Arduino và có nhiều ví dụ để bạn bắt đầu.

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


2
Điều đó có chạy trên Android không?
Chim cánh cụt ẩn danh

@AnnonomusPerson Có, xử lý cho Android
Faux_Clef

@Faux_Clef Hmm không biết điều đó. Tôi vẫn không biết liệu nó có tốt nhất cho Android không, liên kết mà bạn đã đăng có vẻ không ổn định lắm ... Tôi biết rằng việc xử lý có hỗ trợ USB nhưng tôi không biết liệu bạn có thể làm điều đó trên Android không ...
Chim cánh cụt vô danh

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.