2013-08-15 2 views
3

저는 Arduino를 설정 했으므로 시리얼 모니터를 통해 "0"을 보내면 스테퍼 모터가 주어진 양만큼 회전합니다.Bash를 통해 Arduino에 시리얼 연결을 엽니 다.

나는 이것을 bash 스크립트에 포함시키고 싶지만 arduino 시리얼 모니터가 열려 있고 bash에 echo 0 > /dev/tty.usbserial641을 입력하면 작동하도록 할 수 있습니다. 직렬 모니터가 저를 위해 연결을 여는 것이기 때문에 이것이라고 가정합니다.

bash (직렬 모니터가 열려 있지 않은 상태)에서 연결을 열려고 애 쓰지만 나는 모든 옵션을 stty -f /dev/tty.usbserial641으로 시도했으며 10uF 커패시터로 접지에 다시 연결하려고 시도했습니다.

arduino 직렬 모니터를 사용하지 않고도 bash에서 연결을 열 수 있습니까?

시스템 : 아두 이노 우노 rev3 OS X 10.8.4

많은 감사, hcaw

답변

5

당신을 위해 작업 아래의 명령어를 수행합니다.

# stty -F /dev/ttyUSB0 9600 cs8 -cstopb 
# sleep 0.1 
# echo "0" > /dev/ttyUSB0 

값 0과 ascii char 0 (48) 사이에 차이가 있습니다. 어느 쪽을 보내려고하고 어떤 쪽을 받으려고합니까? 당신은 터미널에서 포트를 읽고 싶다면

당신이 마지막 참고로이

head -n 1 /dev/ttyUSB0 //the number after n is how many lines you want to read 

같이 할 수있는, 내가 pySerial의 팬이다. 파이썬에서 쉘 스크립트보다 인터페이스를 작성하는 편이 낫다.

2

나는 Arduino-serial이라는 내 문제를 해결하는 C로 작성된 훌륭한 바이너리를 발견했다. 여기에있다 the link. 나는 이것이 유사한 문제를 가진 사람들을 돕기를 희망한다!

+0

직렬로 문자열을 보낼 때마다 Arduino 자동 재설정을 중지하려면 재설정 및 접지 사이에 10uF 캡이 필요합니다. – hcaw

관련 문제