표준 Pi 배포판을 실행하는 RaspberryPi와 동일한 로컬 네트워크에서 Linux 16.04를 실행하는 고정 IP 주소를 가진 컴퓨터가 있습니다. Pi는 Wake-on-LAN 패킷을 전송하여 컴퓨터를 깨운 다음 SSH 터널을 통해 컴퓨터에 연결하는 데 사용됩니다.
컴퓨터가 Pi에 메시지를 보내고 Pi가 이를 컴퓨터가 성공적으로 부팅되어 액세스할 수 있는 것으로 해석하도록 하는 쉬운 방법이 있습니까?
나는 Pi가 응답을 받을 때까지 컴퓨터에 지속적으로 ping을 보내는 시스템을 설정했지만 특히 Pi가 컴퓨터에서 확인하도록 하는 대신 컴퓨터가 Pi에 메시지를 보내도록 하고 싶습니다.
답변1
사용 nc
- 가장 쉬운 방법입니다.
컴퓨터에서(*nix 시스템이라고 가정): 컴퓨터가 시작될 때 rc.local 스크립트가 다른 항목의 실행을 차단하는 것을 방지하기 위해 ( echo "computer is up" | nc 192.168.0.123 6677 ) &
. 192.68.0.123이 컴퓨터와 동일한 네트워크에 있는 Pi의 IP 주소라고 가정합니다./etc/rc.local
(...) &
Pi에서 nc -l 6677
wake-on-LAN 신호를 보내는 데 사용하는 명령을 사용하여 포트 6677에서 프로세스가 수신 대기하도록 하세요. 기본적으로 nc
연결은 보낸 사람이 연결을 닫자마자 종료됩니다(이는 "컴퓨터 작동 중" 문자열의 모든 바이트가 전송된 후에 발생해야 합니다). 그래서 당신은 다음과 같은 것을 할 수 있습니다
netreply=$( nc -l 6677)
case $netreply in
"computer is up") echo "All good" ;;
*) echo some boo-boo happened ;;
esac