2012-07-04 22 views
37

Bây giờ, Android APIs support working directly with USB devices (kể từ 3.1), tôi tò mò nếu có bất kỳ công việc nào để tạo trình điều khiển "chế độ mềm" cho một số các thiết bị tương thích với lớp phổ biến hơn (chẳng hạn như âm thanh hoặc HID).Trình điều khiển chế độ USB "chế độ mềm" của Android cho các thiết bị USB tuân thủ tiêu chuẩn

Nói cách khác, có bất kỳ dự án nguồn mở nào kết nối giao tiếp hữu ích hơn với các lớp thiết bị cụ thể vào một lớp Java có thể được thêm vào dự án Android không? Đối với mục đích của tôi, tôi đặc biệt quan tâm đến âm thanh USB, nhưng có vẻ như là một nhóm cộng đồng xây dựng các lớp học có nguồn gốc từ các nguồn mô-đun hạt nhân Linux có thể mang lại lợi ích cho nhiều dự án. Hy vọng của tôi là những người khác đã nghĩ về cùng một điều và đã bắt đầu công việc. Bất kỳ con trỏ nào theo hướng này sẽ được đánh giá cao nhất.


Một vài chi tiết các nguồn lực mà tôi đã vấp vào:

+5

USB Âm thanh: Nếu bạn quan tâm đến phát trực tuyến dữ liệu âm thanh, điều này là không thể với android, vì điểm cuối isochronous không được API hỗ trợ. Tuy nhiên, phần MIDI của Audio Class sẽ hoạt động (chỉ sử dụng điểm cuối số lượng lớn). Không thấy bất kỳ dự án nào cho đến nay. – Alexander

+0

Cảm ơn Alexander, đây là * rất tốt để biết. – Brad

+0

Đây là một ý tưởng thú vị. Tuy nhiên, có thể khó xử lý số lượng lớn các gói dữ liệu nhỏ với lớp API 'dày'. Ngoài ra, nó là vấn đề nếu truy cập USB phổ quát sẽ làm suy yếu an ninh cân nhắc. Trên Linux vanilla, mỗi thiết bị USB được cấu hình theo các quy tắc do hệ thống xác định và cũng quyết định ai có thể truy cập thiết bị. Mặt khác, thiết bị Android thường là thiết bị 'người dùng đơn lẻ' và các ứng dụng được sandboxed trên lớp API, vì vậy điều đó sẽ ổn. Tuy nhiên, để bắt đầu nó sẽ được tốt đẹp nếu Android chỉ incoorperates một bộ lựa chọn tốt các trình điều khiển chế độ hạt nhân. – dronus

Trả lời

1

Tôi đã bắt đầu trên một IRDA ngăn xếp trình điều khiển qua USB trong không gian người dùng. Tôi đang làm việc với hệ thống ống nước cơ bản nhưng tôi có thể xem liệu tôi có thể tạo trình điều khiển không gian người dùng tương đương với trình điều khiển hạt nhân Linux như trình điều khiển STIR4200 sau đó tôi có thể chuyển qua ngăn xếp giao thức IRDA hiện có hay không chẳng hạn như JIR.

Chúng ta sẽ thấy ...