4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerコンテナ上でUSBモジュールを使う方法

Last updated at Posted at 2021-03-02

Dockerコンテナ上でBWT901CL(IMUセンサ)を使おうとして,調べたことをまとめる.

やらないといけないことは以下の2点.

  1. docker runでホストとコンテナ間でUSBデバイスのフォルダを共有する.
  2. chmodで実行権限を与える.

1. ホストとコンテナ間でUSBデバイスの共有

そのときのdocker run用のシェルスクリプトは以下のとおり

run.sh
USER_NAME=dorebom
WORKSPACE=workspace/ros2docker/ros2_ws

docker run --rm -it --privileged \
        --gpus all \
        --device=/dev/ttyUSB0:/dev/ttyUSB0 \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -v /etc/localtime:/etc/localtime \
        -v /home/$USER_NAME/$WORKSPACE:/home/developer/ros2_ws \
        -e DISPLAY=$DISPLAY \
        --name ros2test \
        ros2docker:foxy

ここで,今回のUSBデバイスのアドレスは/dev/ttyUSB0であったので,--deviceオプションで共有.

[NOTE]その他のオプションは,Dockerコンテナ上でGPUを使うためと,ROSのGazeboなどのGUIをホスト側で利用するためのものであり,また後日解説する.

2. 実行権限を与える

このままでは,コンテナ内でUSBデバイスを認識できても実行できないので権限を与える.

$ sudo chmod 777 /dev/ttyUSB0

ここで,私の環境ではDockerコンテナ内でユーザアカウントを利用しているため,sudoを使用している.

参考にしたページ

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?