USB-RS232 어댑터를 사용하여 RS232 포트에 연결된 장치에 직렬 명령을 보내려고 합니다. 로그인 화면을 사용한 screen /dev/cu.usbserial 9600
다음 화면 프로그램에서 명령을 입력하면 예상한 응답을 얻습니다.
지금 하려는 것은 명령줄을 통해 단일 직렬 명령을 보내지만 구문을 제대로 얻을 수 없는 것입니다.
내가 시도하는 것의 예는 다음과 같습니다.
screen -dmS -p 0 /dev/cu.usbserial 9600 "MVUP"
...보내야 할 것은 운송업체 반품과 함께 MVUP뿐입니다. 답장을 읽을 필요는 없습니다. 환경은 OS X 10.7이며 기본 bash 쉘을 사용합니다.
답변1
바로 공간 때문이에요!
screen -dmS -p 0 /dev/cu.usbserial 9600 "MVUP"
하지만
screen -dmS -p0 /dev/cu.usbserial 9600 "MVUP"
내 BBB에서 잘 작동해요
그런 다음 추가
screen -rmS -p0 /dev/cu.usbserial 9600 "MVUP"
aurelien@snowball:~$ sudo screen -rmS -p0 /dev/ttyUSB0 115200
[remote detached from 2845.-p0]
aurelien@snowball:~$ sudo screen -dmS -p0 /dev/ttyUSB0 115200
aurelien@snowball:~$ sudo screen -rmS -p0 /dev/ttyUSB0 115200
There are several suitable screens on:
2861.-p0 (04/02/2016 04:10:25 PM) (Detached)
2845.-p0 (04/02/2016 04:10:07 PM) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
aurelien@snowball:~$ sudo screen -dmS -p0 /dev/ttyUSB0 115200
aurelien@snowball:~$ sudo screen -rmS -p0 /dev/ttyUSB0 115200
There are several suitable screens on:
2971.-p0 (04/02/2016 04:13:09 PM) (Detached)
2861.-p0 (04/02/2016 04:10:25 PM) (Detached)
2845.-p0 (04/02/2016 04:10:07 PM) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
추가하려면 번호를 지정해야 합니다.
sudo screen -rmS **2845** -p0 /dev/ttyUSB0 115200
또는 -p 옵션 -p0 -1을 사용하여 서로 다른 이름을 지정하면 예제에서 서로 다른 화면의 이름을 모두 0으로 지정하는 데 어려움을 겪지 않아도 됩니다! 이렇게 하면 쉽게 다시 연결할 수 있습니다.
sudo screen -dmS -p0 /dev/ttyUSB0 115200
sudo screen -rmS -p0 /dev/ttyUSB0 115200
sudo screen -dmS -p1 /dev/ttyUSB0 115200
sudo screen -rmS -p1 /dev/ttyUSB0 115200
sudo screen -dmS -p2 /dev/ttyUSB0 115200
sudo screen -rmS -p2 /dev/ttyUSB0 115200
...
답변2
과거에는 세션을 시작한 다음 stuff
with를 사용하여 새 줄 \n
에 데이터를 보냈습니다 .
screen -d -m -S myscreen /dev/cu.usbserial 9600
screen -S myscreen -X stuff 'MVUP\n'