통신 3

SLAM map 정보 송수신(.pgm, .yaml)

오늘은 MQTT로 SLAM 2D map을 송수신하는 pub/sub 파일을 제작해보려고 합니다.제작 언어는 python이며, 혹시 틀린점이나 더 좋은 아이디어가 있다면 공유해주시면 감사하겠습니다 1. file_pubisher.py 만들기 1-1. 전체 코드import rclpyfrom rclpy.node import Nodeimport paho.mqtt.client as mqttimport osclass FilePublisher(Node): def __init__(self): super().__init__('file_publisher') self.client = mqtt.Client() self.client.connect("broker_IP_address", po..

통신/mqtt 2024.04.26

MQTT Client 연결 확인 (코드 추가)

2024.04.09 - [STUDY/mqtt] - turtlebot4 cmd_vel, amcl_pose 값 publish 최종 코드를 실행하면 test_mqtt.py 실행 시 연결이 됐는지를 시각적으로 확인할 수 없었다. 따라서 MQTT 클라이언트의 연결 상태를 확인하고 연결이 성공했는지 실패했는지에 따라 적절한 메시지를 출력하는 코드를 추가하였다. 1. on_connect callback 함수 : 'on_connect' 콜백은 MQTT 클라이언트의 연결 상태를 확인한다. # ... 동일 # MQTT 클라이언트 초기화 self.mqtt_client = mqtt.Client() self.mqtt_client.on_connect = self.on_connect # 연결 시 콜백 설정 self.mqtt_cli..

통신/mqtt 2024.04.22

mqtt yaml 구성

broker: host: # [localhost] MQTT 브로커를 실행하는 머신의 IP 주소 또는 호스트 이름 port: # [1883] MQTT 브로커가 수신 대기 중인 포트 user: # 브로커 인증에 사용되는 사용자 이름(비어 있으면 익명으로 연결을 시도합니다) pass: # 브로커 인증에 사용되는 비밀번호 tls: enabled: # [false] SSL/TLS를 통해 연결할지 여부 ca_certificate: # [/etc/ssl/certs/ca-certificates.crt] 클라이언트가 신뢰하는 CA 인증서 파일(ROS_HOME 기준)​ client: id: # 클라이언트를 식별하는 데 사용되는 고유 ID 문자열(브로커는 빈 ID를 허용하고 자동으로 생성할 수 있음) buffer: size..

통신/mqtt 2024.04.04