저는 Raspberry Pi(이 요소로 인해 다른 Linux 시스템과 다르지 않지만 응용 프로그램을 더 의미 있게 만들 수 있음)를 사용하여 웹 사이트를 원격으로 보려면 노력하고 있습니다. 예를 들어, 브라우저 UI를 호스팅하고 USB를 통해 출력하는 프린터와 상호 작용하려는 경우 모바일 브라우저의 휴대폰에서 해당 프린터에 무선으로 연결할 수 있기를 원합니다. 현재 저는 Pi-3를 사용하여 프린터에 연결하고 ightvnc를 사용하여 Pi의 온보드 Wi-Fi를 사용하여 원격으로 Pi GUI를 보고 있습니다. (분명히 말하면 Pi는 인터넷에 연결되어 있지 않으며 내 휴대폰은 Pi의 로컬 네트워크(hostapd 사용) . VNC를 통해 Pi에 연결되면 Pi의 웹 브라우저를 열고 프린터 주소를 입력했습니다(예:http://192.xxx.x.xxx) 브라우저 인터페이스에 액세스합니다. 여기에서 필요한 모든 작업을 수행할 수 있습니다(파일을 프린터로 보내기, 인쇄하는 동안 프린터에서 피드백 받기 등). 제가 원하는 것보다 조금 더 부피가 크며 휴대폰에서 브라우저를 열고 프린터에 직접 연결할 수 있기를 바랍니다. 이를 수행할 수 있는 방법이 있습니까? 프린터에 명령을 보내고 피드백을 받겠습니다.
답변1
몇 가지가 있습니다.
첫째, 일부 프린터 제조업체에는 프린터를 제어하는 데 사용할 수 있는 앱이 있습니다. 아마도 이것이 당신에게 도움이 될 것입니다.
그런데 여기서 딜레마에 빠지게 됩니다. Pi의 브라우저에서 프린터를 실행하는 경우 http 트랜잭션을 수행할 때 클라이언트는 Pi입니다. 따라서 웹 페이지에 "인쇄할 파일 찾아보기"라고 표시되면 실제로 Pi의 파일 시스템을 탐색하고 있는 것입니다. 휴대폰의 브라우저에서 페이지가 열리면 휴대폰의 파일 시스템에서 파일을 찾습니다.
이것은 당신이 원하는 것이 아닐 수도 있습니다.
기본적으로 Pi가 전화 대신 프린터와 상호 작용하기를 원할 것입니다.
아마도 휴대폰에서 Pi의 파일을 Pi의 네트워크 파일 서버 드라이브나 다른 것으로 마운트하도록 한 다음 휴대폰의 파일 시스템에서 인쇄하는 방법이 있을 수 있습니다. 나는 모른다.
나 자신도 전화기에 ssh를 설치하고 pi에 연결되면 명령줄에서 stuff 명령을 인쇄할 수 있습니다. 나는 Pi가 CUPS
인쇄를 지원한다고 확신합니다. 하지만 더 이상 이런 일을 하려는 사람은 많지 않은 것 같습니다.
답변2
PI IP의 웹 포트를 프린터 IP로 NAT할 수 있습니다.
PI에서 다음 명령을 실행합니다.
iptables -t nat -A PREROUTING -d X.X.X.X -p tcp --dport 80 -j DNAT --to-destination Y.Y.Y.Y
여기서 XXXX는 PI의 IP 주소이고 YYYY는 프린터의 IP 주소입니다.
이 작업을 완료하면 PI의 IP 주소를 입력하여 휴대폰 브라우저에서 프린터 웹 인터페이스를 열 수 있습니다.
이 명령은 영구적이지 않으므로 재부팅할 때마다 실행해야 합니다. 영구적으로 만드는 것은 PI에서 실행 중인 배포판에 따라 다릅니다. 대부분의 경우 위의 iptables 줄을 /etc/rc.local에 추가하면 영구적으로 만들어야 합니다.