[DEBUG NOTE] 디버깅 노트 2023.02.08 - 2023.03.21



■■■■■■■■■■

<문제>
OSError : [Errno 113] No route to host

<ChatGPT>
how to solve this error? oserror errno 113
오류 번호 113, "No route to host"는 네트워크 요청이 실패할 때
리눅스와 윈도우를 포함한 다양한 운영 체제에서 발생할 수 있는 오류입니다.
이 오류는 다음과 같은 다양한 이유로 인해 발생할 수 있습니다:
1.호스트에 연결할 수 없음: 연결하려는 호스트가 중단되었거나
컴퓨터와 호스트 사이의 네트워크에 문제가 있습니다.
2.방화벽 제한: 방화벽은 특정 포트 또는 IP 주소에 대한 액세스를 차단할 수 있습니다.
방화벽이 연결하려는 호스트에 대한 액세스를 차단하는 경우
"호스트에 대한 경로 없음" 오류가 표시됩니다.
3.잘못된 네트워크 구성: 컴퓨터의 네트워크 구성이 올바르지 않으면
연결하려는 호스트에 연결하지 못할 수 있습니다.
이 문제를 해결하려면 다음 단계를 수행하십시오:
1. 호스트 확인: 호스트에 ping을 실행하여 호스트가 실행 중인지 확인합니다.
그렇지 않으면 호스트 자체에 문제가 있을 수 있습니다.
2. 방화벽 설정 확인: 방화벽이 호스트에 대한 액세스를 차단하고 있지 않은지 확인합니다.
방화벽을 일시적으로 사용하지 않도록 설정하여 문제가 해결되는지 확인할 수 있습니다.
3. 네트워크 구성 확인: 컴퓨터의 IP 주소, 서브넷 마스크, 기본 게이트웨이
및 DNS 설정이 올바른지 확인합니다.
4. 다른 네트워크 사용: 다른 네트워크에서 호스트에 연결할 수 있는 경우 네트워크 구성에
문제가 있을 수 있습니다. 다른 네트워크에서 연결하여 문제가 해결되었는지 확인하십시오.
5. 라우터 구성 확인: 라우터를 사용하는 경우 라우터의 구성을 확인하여
라우터가 호스트에 대한 액세스를 차단하지 않는지 확인합니다.
위의 단계에서 문제가 해결되지 않으면 네트워크 관리자 또는
호스트 관리자에게 문의하여 추가 지원을 요청해야 할 수 있습니다.

<해결>
운영PC의 IP 주소를 잘못 입력했다.

■■■■■■■■■■

<문제>
바이너리 파일 만들 때 에러 발생
raspberry pi -bash: pyinstaller: command not found

<해결>
pip install --upgrade pip
sudo pip3 install pyinstaller
pyinstaller --onefile 0000.py
실행하고 나면 dist 폴더에 생성된 파일 있음

■■■■■■■■■■

<문제>
작업한 코드에서 변수명을 갑작스레 바꾸게 되었다.
이미 다 짠 코드인데 말이지.
하나만 바꾸는게 아니라서 여러개 바꾸면 정신이 없을거다.

<해결>
VScode 에서는 변수명 일괄변경 기능을 제공한다. (다른에디터도 있겠지?)
수정할 변수 블록잡고 ctrl shift L을 누르면 된다.

■■■■■■■■■■

<문제>
dronekit.APIexception heartbeat
dronekit.mavlink: exception in mavlink input loop

<ChatGPT>
"dronekit.mavlink: mavlink 입력 루프에서 예외" 오류는
DroneKit-Python 라이브러리를 사용하여 드론과 통신할 때 발생할 수 있습니다.
이 오류는 일반적으로 드론과의 연결 또는 드론에서 수신되는 데이터에 문제가
있음을 나타냅니다.
다음은 문제를 해결하기 위해 시도할 수 있는 몇 가지 방법입니다:
1. 연결을 확인합니다: 드론에 대한 연결이 안정적인지, 연결 코드에 올바른 포트
및 보드 속도 설정이 사용되는지 확인합니다.
2. 원격 측정 확인: 연결이 안정적인 경우 드론에서 수신 중인 원격 측정 데이터를 확인합니다.
드론 키트-파이썬 라이브러리가 예상하지 못하거나 처리할 수 없는 데이터를
드론이 보내고 있을 가능성이 있습니다.
3. 라이브러리 업데이트: 최신 버전의 DronKit-Python 라이브러리를 사용하고 있는지
확인합니다. "pip install --upgrade dronekit" 명령을 실행하여 pip 패키지 관리자를
사용하여 라이브러리를 업데이트할 수 있습니다.
4. 디버깅: 오류의 근본 원인을 파악하려면 디버그 메시지를 인쇄하거나 디버거를
사용하는 등의 디버깅 기술을 사용합니다.
이러한 솔루션 중 어느 것도 작동하지 않는 경우, 드론 키트-파이썬 커뮤니티
또는 드론 제조업체에 문의하여 추가 지원을 받을 수도 있습니다.

DroneKit에 "Heartbeat timeout" 메시지가 포함된 API 예외는
일반적으로 자동 조종 장치와 GCS(지상 제어 스테이션) 간의 통신이 끊길 때 발생합니다.
이 문제는 두 장치 간의 통신 링크에 간섭이나 중단이 있을 때 발생할 수 있습니다.
"Heartbeat"은 자동 조종 장치가 여전히 작동하고 연결되어 있음을 나타내기 위해
정기적으로 GCS로 전송되는 신호입니다. GCS가 특정 시간 내에 이 신호를
수신하지 않으면 자동 조종 장치가 더 이상 연결되지 않은 것으로 가정하고
"Heartbeat timeout" 메시지와 함께 API 예외를 발생시킵니다.
이 문제를 해결하려면 다음 단계를 수행하십시오:
1. auto pilot과 GCS의 연결 상태를 확인하고, 두 장치가 모두 올바르게 연결되고
구성되었는지 확인합니다.
2. 두 장치 사이의 통신 링크에 간섭이나 장애물이 있는지 확인합니다.
가능한 경우 장치를 시야가 확실한 위치로 이동합니다.
3. GCS와 오토파일럿을 다시 시작하고 다시 시도합니다.
4. 문제가 지속되면 자동 파일럿과 GCS 모두에서 펌웨어를 업데이트합니다.
5. 위의 단계 중 아무 것도 작동하지 않는 경우 제조업체에 문의하거나
DronKit 커뮤니티에 추가 지원을 요청해야 할 수 있습니다.

■■■■■■■■■■

<문제>
listener 파일에 video 송출 문제가 생김.
/dev/video invalid argument 에러가 뜬다.

<가정>
송출자체에 문제가 없다면
rtmp로 들어가면 비디오 볼 수 있어.

<결과>
rtmp에도 안 뜸

Posted by ssanatos
,