2013-08-12 4 views
0

나는 OBD-II 리더와 통신하기 위해 Python과 pyserial과 함께 Beaglebone Black (BBB)을 사용하고 있습니다. 필자는 기본적으로 사용자 정의 가능한 디지털 게이지 패널을 구축하려고합니다. 이상적으로는 GUI 용으로 Flash를 사용하고 싶습니다. 안타깝게도 Flash에 대한 Linux 지원은 매우 약합니다. 파이썬을 사용하여 BBB에서 OSX 호스트 컴퓨터로 데이터를 보내고 싶습니다.Pyserial 마이크로 컨트롤러와 호스트 통신

현재 터미널을 사용하여 코드를 실행하는 BBB에 터미널을 사용하고 있습니다. USB를 통한 BBB에서 직렬 인터페이스를 통해 Flash를 실행하는 OSX 컴퓨터로 데이터를 전송할 수 있어야합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

답변

2

나는 비글 본을 사용하지 않았습니다. arduino의 직렬 I/O로 작업했습니다. 그러나이 post에는 BBB에 여러 직렬 I/O 포트가 있다고합니다. Serial to USB 용 커넥터/변환기를 찾으십시오.

그런 다음 pyserial python 모듈을 사용하십시오. OSX에서/dev/ttyo1과 같은 경로에 장치를 연결하면 dev는 내 시스템 이름이고 ttyo1 또는 유사한 장치가 사용자의 장치가됩니다.

import serial as s 
device = "/dev/tty01" 
bbb = s.Serial(device, 4800) #the second param is baudrate 

while(True): 
    bbb.readline() 
    # do what you want with the output. 
    bbb.write('input') 

이렇게하면 줄 끝까지 읽히고 문자열이 생깁니다. bbb의 직렬 IO에 "input"을 씁니다. BBB에서 실행되는 유사한 프로그램이이 입력을 읽고 원하는 작업을 수행해야합니다.

그래서 두 개의 파이썬 프로그램이 있습니다. OSX와 BBB 중 하나

그런 식으로 OSX.py에서 명령을 내릴 수 있습니다. BBB.py가 처리하고 응답을 보냅니다. OSX.py가 읽고 수행 할 작업.

입력/출력주기를 올바르게 디자인해야합니다.

또한 플래시가 실제로 필요하지 않은 경우 pyside를 확인할 수 있습니다.

관련 문제