Raspberry Pi 3 ROS で Webカメラをブラウザに表示する
mjpeg_serverを使って,ラズパイに接続したウェブカメラをブラウザで見られるようにしてみる.
作業ディレクトリを作っていなかったので,追加する.
例によってSSH接続.
$ ssh ubuntu@***.***.***.***
$ mkdir -p ~/ros_catkin_ws/src
$ cd ~/ros_catkin_ws/src
$ catkin_init_workspace
$ cd ..
$ catkin_make
環境変数の書き換え.
$ vi ~/.bashrc
コメントアウトして,
#source /opt/ros/kinetic/setup.bash
以下の行を追加する.
source ~/ros_catkin_ws/devel/setup.bash
反映させるのを忘れないように.
$ source ~/.bashrc
依存関係を入れる.
$ sudo -E apt-get update
$ sudo -E apt install ros-kinetic-cv-bridge
$ sudo -E apt install ros-kinetic-cv-camera
$ sudo -E apt install ros-kinetic-image-transport-plugins
$ cd ~/ros_catkin_ws/src
$ git clone https://github.com/RobotWebTools/mjpeg_server.git
$ cd ..
$ catkin_make
…gitの仕組みが未だにわかっていない
git@github.com:RobotWebTools/mjpeg_server.git では繋がらなかったので.
gitのプロキシ設定については前回あたりに書いていたはず.
これで使えるようになった.
$ roscore
別端末から
$ rosrun cv_camera cv_camera_node
別端末から動作確認コマンド.数字の羅列が表示されれば,動作成功.ctrl+cで止める.
$ rostopic echo /cv_camera/image_raw
再び別端末.
$ rosrun mjpeg_server mjpeg_server _port:=10000
portは任意
http://***.***.***.***:10000/stream?topic=/cv_camera/image_raw
をブラウザで見る.IPはラズパイの方.
これで監視カメラが作れた.
出先で見るようにするにはVPNが必要だったりとちょい面倒なので省略.
ちなみにこれでフレームレートを変更できる.下の例は10fps
$ rosparam set /cv_camera/rate 10
参考文献は前回と同じく「Raspberry Piで学ぶ ROSロボット入門」
みんな買おう!!
次回はカメラの映像をROSで共有する.
質問がありましたらコメントまたはTwitterにてお願いします.