[ROS - rosserial] socket.error: [Errno 111] Connection refused 오류
rosserial을 통해 라즈베리파이와 pc 간의 통신을 하면서 위와 같은 오류가 두번 정도 났다.
첫번째 경우는 2주전이라 기억이 잘 안나는데ㅠ아마 라즈베리파이가 (pc와) 다른 router의 wifi를 잡고 있어서 그랬던 것 같다.확실치 않다.....이 경우에서는 아마 별 문제 없었고, 껐다가 키니까 잘 작동했던 것 같다.
구글링을 해보면 roscore가 제대로 작동되지 않아 master가 켜지지 않은 상태일 때 위와 같은 오류가 뜬다고 한다.
두번째 경우가 바로 위와 같이 master가 제대로 작동하지 않았었던 경우이다.
분명 roscore를 켰음에도 master 주소를 제대로 입력하지 않으면 machine 간의 연결이 잘 되지 않는다.master가 제대로 작동하지 않는 것도 여러 경우가 있을지인데,만약 roscore를 켰을 때
ROS_MASTER_URI=http://localhost:11311/
로 뜨는 경우에 대한 해결책은 다음과 같다.
이 경우에서는 ROS_MASTER_URI 주소가 localhost 였는데,이게 설치하면 default로 저렇게 설정되는 걸로 안다.근데 localhost로 master를 설정하면 하나의 pc(machine) 내에서 통신밖에 안된다.
우리가 하고자 하는것은 다른 pc(machine)들 간의 통신이기 때문에 ROS_MASTER_URI를 해당 pc의 ip주소로 설정해주어야 한다.
이를 하기 위해서는
.bashrc 파일을 수정해주어야 한다.
$ nano .bashrc를 하면 .bashrc 파일을 수정할 수 있다.
이 파일의 맨 아래에 보면export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=190.160.1.33(IP 주소는 임의로 설정한 것.)
이렇게 있을 것이다.
이를
export ROS_MASTER_URI=http://190.160.1.33:11311
export ROS_HOSTNAME=190.160.1.33
이렇게 바꿔주면roscore를 켰을 때,ROS_MASTER_URI=http://190.160.1.33:11311/
이렇게 뜰 것이고
이제
각 기계에
export ROS_MASTER_URI ~~~
export ROS_IP ~~~~
치면 서로 연결될 거다
첫번째 경우는 2주전이라 기억이 잘 안나는데ㅠ아마 라즈베리파이가 (pc와) 다른 router의 wifi를 잡고 있어서 그랬던 것 같다.확실치 않다.....이 경우에서는 아마 별 문제 없었고, 껐다가 키니까 잘 작동했던 것 같다.
구글링을 해보면 roscore가 제대로 작동되지 않아 master가 켜지지 않은 상태일 때 위와 같은 오류가 뜬다고 한다.
두번째 경우가 바로 위와 같이 master가 제대로 작동하지 않았었던 경우이다.
분명 roscore를 켰음에도 master 주소를 제대로 입력하지 않으면 machine 간의 연결이 잘 되지 않는다.master가 제대로 작동하지 않는 것도 여러 경우가 있을지인데,만약 roscore를 켰을 때
ROS_MASTER_URI=http://localhost:11311/
로 뜨는 경우에 대한 해결책은 다음과 같다.
이 경우에서는 ROS_MASTER_URI 주소가 localhost 였는데,이게 설치하면 default로 저렇게 설정되는 걸로 안다.근데 localhost로 master를 설정하면 하나의 pc(machine) 내에서 통신밖에 안된다.
우리가 하고자 하는것은 다른 pc(machine)들 간의 통신이기 때문에 ROS_MASTER_URI를 해당 pc의 ip주소로 설정해주어야 한다.
이를 하기 위해서는
.bashrc 파일을 수정해주어야 한다.
$ nano .bashrc를 하면 .bashrc 파일을 수정할 수 있다.
이 파일의 맨 아래에 보면export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=190.160.1.33(IP 주소는 임의로 설정한 것.)
이렇게 있을 것이다.
이를
export ROS_MASTER_URI=http://190.160.1.33:11311
export ROS_HOSTNAME=190.160.1.33
이렇게 바꿔주면roscore를 켰을 때,ROS_MASTER_URI=http://190.160.1.33:11311/
이렇게 뜰 것이고
이제
각 기계에
export ROS_MASTER_URI ~~~
export ROS_IP ~~~~
치면 서로 연결될 거다
댓글
댓글 쓰기