2012-01-29 1 views
2

Lasersaur 오픈 소스 레이저 커터/조각사 프로젝트의 일부인 레이저 커터/조각사에서 작업하고 있습니다. 필자는 일부 소프트웨어 프로그래밍이 있었다는 것을 깨닫지 못하고 하드웨어 빌드를 완료했습니다.이 경우에는 Python이 필요합니다. 나는 파이썬에 대해 전혀 몰랐으며 내가 가지고있는 코딩 경험은 C#을 사용하여 사용자 정의 CMS를 처음부터 작성했습니다. Arduino Uno와 함께 작동하도록 Python 2.7.2의 포트 설정

내 설정이다

컴퓨터 : 도시바 위성 A-105

OS : 윈도우 XP, SP3

코드 : 파이썬 2.7

데브 보드 : 아두 이노 우노

Arduino 클라이언트는 Uno 보드와 대화를 나누며 모든 테스트와 업로드가 가능합니다. Arduino 웹 사이트에서 시작 안내서를 사용하여이 경우 COM7을 사용할 수있는 COM 포트를 설정할 수있었습니다. Lasersaur에서

Traceback (most recent call last): 
    File "C:\LASERSAUR\lasersaur_Grbl\stefanix-LasaurGrbl-dac1a86\flash.py", line 128, in <module> 
    devices = os.listdir("/dev") 
WindowsError: [Error 3] The system cannot find the path specified: '/dev/*.*' 

녀석은 내가 코드에서 COM 포트를 설정해야합니다 말 : 내가 파이썬 GUI를 실행하고 나는이 오류가 Lasersaur에 의해 제공되는 코드를 컴파일 할 때 문제입니다. 나는 그걸 스스로 할 수 있을지 모르거나 올바른 질문을하기에 충분하지 않다. 그러나 내 화면을 쳐다 보면서 많은 독서 후 나는 여기에 포트를 설정해야한다는 것을 상당히 확신 :

## define serial port 
## 
if len(sys.argv) == 2: 
    # (1) get the serial device from the argument list 
    SERIAL_PORT = sys.argv[1] 
    print "Using serial device '"+ SERIAL_PORT +"' from command line." 
else:  
    if os.path.isfile(CONFIG_FILE): 
     # (2) get the serial device from the config file 
     fp = open(CONFIG_FILE) 
     line = fp.readline().strip() 
     if len(line) > 3: 
      SERIAL_PORT = line 
      print "Using serial device '"+ SERIAL_PORT +"' from '" + CONFIG_FILE + "'." 



if not SERIAL_PORT: 
    # (3) try best guess the serial device if on linux or osx 
    devices = os.listdir("/dev") 
    for device in devices: 
     if device[:len(GUESS_PPREFIX)] == GUESS_PPREFIX: 
      SERIAL_PORT = "/dev/" + device 
      print "Using serial device '"+ SERIAL_PORT +"' by best guess." 
      break 

나는 이것이 내가 그것을 볼 때 답을 두드림 이마 될 것입니다 매우 확신합니다. 그러나 어떤 도움을 주시면 감사하겠습니다. 더 자세한 정보가 필요하면 알려주세요.

V/R
K.하기 Aud

명령 행에서이 스크립트를 실행할 때
+0

"WindowsError : [오류 3] 시스템에서 '/ dev /*.*''"경로를 찾을 수 없습니다. '/ dev'는 유닉스 경로입니다. Windows에서 실행 중입니다. – Johnsyweb

+0

이 스크립트를 시작하기 위해 사용하는 명령 줄 인수는 무엇입니까? 스크립트에 전달하는 인수 (있는 경우)가 읽히지 않고 파이썬이 더 낮은 코드 블록으로 점프하는 것처럼 보입니다. –

답변

0

어떤 인수를 전달하고 있는가? 당신이 그렇지 않은 것처럼 보입니다. 그런 다음에 모든 라인의 앞에 #'s을두고 떨어져 아마 더 좋을 것 같아, 그 여전히 작동하지 않으면

C:\>python flash.py COM7 

를 (또는 모두 함께하고있다 그 무엇이다) : 명령 줄에서이 시도 위에 게시 한 코드 및 바꾸기 코드 :

SERIAL_PORT = "COM7" 
+0

감사합니다. 나는 SERIAL_PORT = "COM3" 코드 상단에 import os, sys 아래에 코드를 추가하고 오류가 발생했습니다. ... 이제 새 것이 있습니다. 하지만 파일 호출 때문에 문제를 해결할 수 있다고 생각합니다. – user1175917

관련 문제