Làm cách nào để làm cho Raspberry Pi của tôi hoạt động như một bộ điều khiển USB không dây?


7

Tôi đang cố gắng điều khiển Canon 550D của mình bằng Tiện ích EOS (trên máy Mac). Về lý thuyết, đây là những gì tôi đang tìm kiếm:

RPi cắm vào 550D và được kết nối với mạng LAN. Máy Mac của tôi nằm trên cùng một mạng LAN và đang chạy Tiện ích EOS. Tôi muốn làm cho nó để Mac phát hiện 550D như thể nó được kết nối vật lý với Mac. Sau đó, tôi có thể sử dụng tiện ích EOS để kiểm soát tất cả các cài đặt máy ảnh (như cân bằng trắng, tốc độ màn trập, lấy nét, bắt đầu / dừng ghi, v.v.).

Điều này có thể không? Nếu vậy thì thế nào?


Bạn có thể sử dụng gphoto2 để điều khiển máy ảnh từ Raspberry Pi, nhưng bạn sẽ cần một số cách để điều khiển gphoto2 từ xa từ Mac.
Craig

@Craig Có, nhưng theo tôi biết, gphoto2 không hỗ trợ đầy đủ 550D; tốc độ màn trập, khẩu độ, v.v ...
daviesgeek

Câu trả lời:


10

Bạn có thể chia sẻ thiết bị USB qua mạng bằng cách cài đặt usbiptrên RPi của mình. Tôi tìm thấy một hướng dẫn nhanh trên diễn đàn Raspberry Pi chính thức (tất cả các khoản tín dụng cho Secretagent, OP). Tôi đã không tự mình thử nghiệm giải pháp.

Trên Raspberry Pi (máy chủ)

  1. Trên Raspbian / Debian Wheezy, cài đặt usbip:

    $ sudo apt-get install usbip
    
  2. Từ giờ trở đi, usbipddaemon sẽ chạy khi bạn khởi động RPi của bạn. Tải trình điều khiển máy chủ:

    $ sudo modprobe usbip-host
    
  3. Liệt kê các thiết bị USB được kết nối với RPi và lưu ý thiết bị bận rộn mà bạn muốn chia sẻ:

    $ sudo usbip list -l
    
  4. Thêm thiết bị bạn muốn chia sẻ trên mạng:

    $ sudo usbip bind --busid <busid>
    

    Bạn sẽ thấy thông báo này:

    bind device on busid <busid>: complete
    

Trên máy Mac (máy khách)

Tôi không biết nếu bạn có thể cài đặt usbiptrên máy Mac.

  1. Tải trình điều khiển:

    $ sudo modprobe vhci-hcd
    
  2. Liệt kê các thiết bị được chia sẻ bởi RPi của bạn. Bạn sẽ thấy thiết bị tương tự như trong bước tiếp theo của phần máy chủ. Lưu ý busid.

    $ usbip --list <the RPi IP address>
    
  3. Đính kèm thiết bị:

    $ sudo usbip --attach <the RPi IP address> <busid>
    
  4. Bây giờ, bạn sẽ có thể thấy trên máy Mac của mình, thiết bị được chia sẻ trên RPi:

    $ lsusb
    

Để liệt kê trạng thái cổng USB ảo:

 $ usbip --port

Để tháo thiết bị:

$ sudo usbip --detach <the port in the previous step>

Vì vậy, theo lý thuyết, điều này sẽ giống như máy ảnh được cắm thẳng vào máy Mac của tôi?
daviesgeek

@daviesgeek Có
Morgan Courbet

Được rồi ... Tôi vẫn đang tìm kiếm một phiên bản / nhị phân Mac mặc dù ... không có vẻ như có một: - /
daviesgeek

0

Để tạo modprobevĩnh viễn ở phía "máy chủ" HOST

chạy lệnh sau trong ssh (hoặc cục bộ)

echo "usbip-host" | sudo tee -a /etc/modules

Để làm cho modprobe vĩnh viễn về phía Client

chạy lệnh sau trong ssh (hoặc cục bộ)

echo "vhci-hcd" | sudo tee -a /etc/modules

Điều này sẽ làm cho các mô-đun cần thiết được tải khi khởi động lại


2
Tại sao trả lời chính xác câu hỏi này?
Ingo

beause không thêm nó vào các mô-đun được tải sẽ khiến mọi nỗ lực trở nên vô ích khi khởi động lại rpi (muốn hoặc không mong muốn (powerloss)). Sử dụng kỹ thuật này để chuyển tiếp thiết bị đọc sẽ gây bất ngờ nếu thiết bị khởi động lại và bạn không thể đọc dữ liệu ngoài nữa.
Dutch2005
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.