Tôi có thể sử dụng Raspberry Pi làm thiết bị ngoại vi USB không?


44

Raspberry Pi có cổng Micro USB để cung cấp năng lượng. Câu hỏi của tôi là nếu cổng này chỉ dành cho mục đích năng lượng hoặc nó có thể được sử dụng cho dữ liệu không? Tôi muốn có thể gắn Raspberry Pi của mình dưới dạng thiết bị ngoại vi USB vào một máy tính khác. Đây có phải là một cổng năng lượng? Nếu không, điều này có thể được thực hiện theo cách khác?


Tôi biết câu hỏi này đã đóng từ lâu, nhưng một điều bạn có thể làm nếu bạn thực sự muốn là lập trình một Arduino với hai cổng nối tiếp để đơn giản truyền thông điệp. Một chút hackish, nhưng bạn sẽ có thể có được một cái gì đó hoạt động theo cách đó.
Ryan Kennedy

Bảng IO mới được cung cấp với Bộ công cụ phát triển mô đun tính toán dường như có đầu nối nô lệ USB ... làm thế nào để một thiết bị có thể hoạt động?
Kozuch

Cổng trên Pi chỉ dành cho mục đích cấp nguồn, nhưng thông qua bộ chuyển đổi, có thể kết nối với Pi thông qua kết nối nối tiếp để có quyền truy cập cơ bản vào Pi
Wilf

Câu trả lời:


29

Tôi đã có một cái nhìn vào sơ đồ ; các chân dữ liệu cho kết nối micro USB không được kết nối với bất cứ thứ gì. Do đó, không có cách nào để gắn RPi như một thiết bị bên ngoài.

Có thể gắn ổ cứng của RPi hoặc đăng nhập qua mạng bằng cách sử dụng SSH.

Các chân GPIO bao gồm một tập hợp các dòng dữ liệu UART, có thể được sử dụng để tạo kết nối nối tiếp với RPi từ PC của bạn.

USB đập

USB đập đã được thực hiện ( AVR V-USB ), tuy nhiên, bạn sẽ cần thiết kế bảng mở rộng của riêng mình có thêm một cổng USB khác. Có thể hình dung cổng này có thể cung cấp năng lượng cho RPi. Làm xong việc này, bạn sẽ cần phải viết một số loại trình điều khiển. Chúc may mắn.

Nếu bạn chuẩn bị đi đến tất cả những rắc rối này, có thể đáng để xem xét một Chip FTDI thay thế. Bạn sẽ kết nối nó với các chân UART của RPi. Từ góc độ phần mềm, bạn sẽ giao tiếp với máy tính như thể nó là một thiết bị nối tiếp.


Ngoại trừ có thể thực hiện lại USB với GPIO?

2
Không có hy vọng ở đó. Bạn không thể đập USB.
Alex Chamberlain

Sơ đồ đó là những gì tôi đang tìm kiếm. Câu trả lời tốt đẹp.
Jivings

1
@Alex, USB đập vào đã được thực hiện. PIC 40 MHz có thể làm USB tốc độ thấp. Có lẽ một ARM 700 MHz có thể làm tốc độ bình thường?
vây

3
xia.home.xs4all.nl/avr/usbtiny - một USB đập khác cho AVR 12Mhz. Lưu ý rằng điều đó chỉ có thể bởi vì trong vi điều khiển, bạn có toàn quyền kiểm soát đồng hồ và ngắt. Bạn cần chạy RTLinux ít nhất để có được quyền kiểm soát đó. Ngoài ra, bạn nên sử dụng SPI chứ không phải GPIO để làm điều này.
Alistair Buxton

8

Vì các chân dữ liệu của cổng micro USB không được kết nối với USB PHY của SoC, bạn không thể sử dụng cổng này cho dữ liệu (ở chế độ máy chủ hoặc chế độ phụ).

Tuy nhiên, có thể sử dụng cổng USB Loại A trên Model A ở chế độ phụ.

Một số chi tiết khác;

Model B sử dụng Hub USB 2.0 SMSC LAN9512 và IC điều khiển Ethernet 10/100 để cung cấp nhiều cổng máy chủ USB vật lý từ cổng USB OTG duy nhất có sẵn trên Broadcom SoC. (Xem sơ đồ tại đây: http://www.raspberrypi.org/wp-content/uploads/2012/04/Raspberry-Pi-Schapes-R1.0.pdf )

Sự hiện diện của IC trung tâm này ngăn các cổng USB được sử dụng trong chế độ phụ. Tuy nhiên, do Model A không có IC này và thay vào đó chỉ có một cổng USB duy nhất được kết nối trực tiếp với cổng OTG của SoC, nên có thể định cấu hình nó hoạt động ở chế độ phụ thông qua phần mềm.

Vì Model A có cổng USB máy chủ nữ, nên sẽ cần cáp chuyển đổi HOST sang HOST.

Vui lòng xem chủ đề Diễn đàn Raspberry Pi này để biết thêm chi tiết: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=15696


5

Model A sẽ có thể sử dụng giao diện tiện ích tiêu chuẩn vì USB trên PI là OTG, sau đó bạn có thể buộc nó vào chế độ thiết bị.

Nhưng điều này có nghĩa là bạn mất ethernet và bất kỳ USB nào khác


5

Các mô hình Rasberry PI A / A + / B / B + có chế độ OTG bị vô hiệu hóa vì nhiều lý do:

  • Cổng USB bị chiếm dụng với cổng USB (ethernet),
  • thiếu pin thứ 5 OTG (nối đất) hoặc
  • chân dữ liệu không được kết nối (cổng nguồn).

Bạn sẽ cần Raspberry PI Zero cho OTG hay còn gọi là Chế độ tiện ích. Cổng USB dữ liệu có thể được sử dụng cho OTG và Power power. Vào thời điểm viết bài này, Nối tiếp và Ethernet đã được thử nghiệm, nhưng những người khác nên làm việc với lượng nỗ lực thích hợp (bàn phím, đĩa, máy ảnh, v.v.) Các thiết bị composite cũng hoạt động tốt. Xem thêm thông tin tại

Công việc dự kiến ​​sẽ được hợp nhất vào phiên bản kernel rpy-4.4 cho chức năng OTG để có sẵn OOTB để hack đơn giản hơn.

Phần lớn các dịch chuyển nặng được thực hiện trong Số phát hành Github raspberrypi / linux # 1212 .


Xin chào và chào mừng. Cảm ơn về thông tin bạn vừa nhập. Bạn cũng có thể muốn đóng góp ở đây: raspberrypi.stackexchange.com/questions/38576/iêu
Ghanima


Tôi có thể sử dụng cổng nguồn làm Thiết bị khách và cổng khác làm Cổng máy chủ không? Sẽ thật tuyệt khi sử dụng cổng nguồn như ethernet ảo để kết nối với máy tính và cổng khác để kết nối các thiết bị usb với pi.
allo

Câu trả lời này bị nhầm lẫn, đặc biệt là vì các liên kết không cung cấp bất kỳ bằng chứng hỗ trợ nào cho tuyên bố rằng giắc cắm điện có thể được sử dụng cho dữ liệu. Hầu hết chúng chỉ đơn giản là về việc thực hiện chế độ tiện ích OTG trong kernel, hiện là tiêu chuẩn và có thể được thực hiện nhưng không thông qua giắc cắm nguồn. Chỉ có một jack có thể được sử dụng cho cả sức mạnh và dữ liệu, không phải là hai.
goldilocks

Tôi đã sửa câu trả lời. Thực tế là cổng dữ liệu có thể được sử dụng để cấp nguồn cho Raspberry PI Zero và như cổng OTG
myroslav

4

Thật không may, các cổng cung cấp điện thường không hoạt động theo cách này vì vậy bạn sẽ không thể sử dụng cổng micro USB cho bất kỳ thứ gì ngoài nguồn điện.

Hiện tại tôi không thể nghĩ ra cách bạn có thể sử dụng Pi làm thiết bị ngoại vi, tuy nhiên có một số cách khác bạn có thể truy cập Pi bao gồm SSH, FTP hoặc chia sẻ samba.

Nếu bạn giải thích những gì bạn đang cố gắng đạt được thì chúng tôi có thể tư vấn phương pháp tốt nhất để thực hiện nó.


Chỉ là một ví dụ giả thuyết, tôi muốn sử dụng Raspberry Pi làm card âm thanh. Tất nhiên tôi sẽ viết trình điều khiển cho cả hai đầu, nhưng tôi cần kết nối nó với PC bằng cách nào đó.

1
Một giải pháp tinh tế cho điều đó sẽ là truyền âm thanh qua SSH. Tất nhiên bạn cũng có thể thử sử dụng GPIO!
Jivings


1

Có, bạn có thể nếu bạn sử dụng một số Bộ điều khiển ngoại vi USB với Giao diện SPI như MAX3420E và trình điều khiển ghi cho nó nếu nó chưa được hỗ trợ trong Linux và xử lý lớp USB cụ thể mà bạn muốn triển khai.


1

Rất nhiều công việc đã được thực hiện kể từ thời điểm câu hỏi được đặt ra. Hiện tại có thể sử dụng một số mô hình Rasberry Pi làm thiết bị ngoại vi USB (ví dụ: bộ nhớ lớn, nối tiếp, ethernet, bàn phím, chuột). Xem ý chính nàyhướng dẫn này .


0

Pi có thể mô phỏng thiết bị HID bằng USB không?

Điều này có thể được thực hiện với BẤT K kind loại Pi nào

Giải pháp ít tốn kém nhất là sử dụng Pi Zero.

Văn bản của liên kết này quá dài để đăng ở đây, nhưng Zero có thể là bất kỳ loại HID nào. Bàn phím, chuột, ổ đĩa flash, máy ảnh, bất cứ điều gì bạn có thể nghĩ đến.

Biến Raspberry PI Zero của bạn thành tiện ích USB

nhập mô tả hình ảnh ở đây

Làm cho nó một bàn phím hoặc chuột là dễ dàng.


-2

Bạn có thể thực hiện kết nối mạng đơn giản từ PC sang Raspberry Pi và sử dụng Pulse Audio để truyền âm thanh qua mạng. Pulse Audio là một Máy chủ âm thanh cung cấp độ trong suốt của mạng. Vì vậy, bạn có thể phát các tệp âm thanh trên PC và nghe chúng bằng loa được kết nối với Raspberry Pi.

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.