2009-02-26 3 views
5

현재 4 포트 A/V 스위치와 관련된 프로젝트를 진행 중입니다. 이 스위치는 RS-232를 통해 제어 할 수 있습니다.RS-232 직렬 포트가있는 Javascript 인터페이스

스위치와 인터페이스 할 컴퓨터는 Vista를 실행합니다. 스위치의 각 포트에 4 개의 버튼 (1)이있는 사이드 바 가젯을 만들고 싶습니다. 사용자가 버튼을 누르면 해당 포트로 전환됩니다.

나는 약간의 인터넷 검색을했는데 JavaScript와 rs-232 사이의 인터페이스에 아주 좋은 방법은없는 것 같습니다.

나에게 어떤 제안이 있으십니까?

감사합니다.

+0

스위치의 지침을 확인하십시오. 포트 중 하나를 선택하는 키 조합이있는 경우가 있습니다. (예 : <1-4>) 그 외의 경우에는 다른 것들이 옳다고 생각합니다. JS는 기계 고유 항목과 분리되어 있습니다. – Tim

+0

브라우저에서 실행되는 JavaScript에 대해 이야기하고 있습니까? –

답변

6

사이에 Java 또는 Active-X 레이어를 추가해야한다고 생각합니다. 자바 스크립트는 운영체제와 (의도적으로) 잘 분리되어있다.

1

V8과 같은 것을보고 C 라이브러리의 작은 래퍼를 작성하여 VM에 표시 할 수 있습니다.

+0

V8은 매우 훌륭합니다. –

1

시스템에 설치 한 RS-232 ActiveX 구성 요소가 필요하며 사이드 바 위젯의 자바 스크립트 코드에서 개체를 생성해야합니다. ActiveX 구성 요소에서 개체를 만들 수있는 표준이 없다는 점에 유의하십시오.이 구성 요소는 JScript에서만 사용할 수 있습니다. Microsoft는 Javascript로 알고있는 언어를 구현합니다.

8

당신은 복잡한 해킹을 좋아합니까?

웹 서버를 설치하십시오. CGI, Python, PHP, Perl 또는 다른 방법을 사용하여 웹 서버의 페이지에서 직렬 포트를 제어하십시오.

웹 페이지에서 컨트롤을 가리 킵니다.

+2

그것은 복잡하지 않습니다. 누구든지 "-1"이 사람은 어리 석다. 정크 포트를 직렬 포트로 보내려면 ActiveX 또는 XPCOM 코드를 작성하는 것보다 훨씬 간단합니다. –

+0

+1 박스 외부 (또는 내부). 좋은 대답입니다! – Moose

+0

+1; 그것은 반드시 완전한 웹 서버가 될 필요는 없으며, 단지 C 데몬 일 수 있습니다 (나는 C가 직렬 포트에 접근하는 가장 쉬운 방법이라고 생각합니다). 소켓에서 청취하고 HTTP에 충분히 근접한 것을 말합니다 브라우저 ;-) – Kieron

2

해결책이 없지만 여기에 하나가 될 수 있습니다.

  1. 서명 자바 애플릿은 애플릿이 JRE/내선 폴더에 파일을 설치해야 직렬 포트
  2. 에 연결하는 시스템
  3. 사용 RXTX (자바 시리얼 COM의 API)에 대한 액세스를 제공합니다. 앱을 다시 시작한 후 다시 시작하십시오.

이제 자신의 컴퓨터에서 자바 스크립트를 실행하는 경우 HTA을 사용하여 시스템에 액세스 할 수 있습니다.

+0

당신은 '나는 해결책이 없지만 여기서 하나의 시작이 될 수 있습니다.'라는 대답을 게시합니다. – Mawg

3

자바 스크립트를 사용하거나 브라우저에서 특정 방법을 사용 하시겠습니까? 그리고 어떤 브라우저? (IE 또는 Firefox?) XUL + javascript를 사용하는 Firefox 플러그인은 RS232를 사용하기 위해 XPCOM (Mozilla ActiveX/COM과 동등한 버전)에서 구현해야하지만 쉽습니다.

또는 JSDB을 (로컬 컴퓨터의 대체 포트에있는) 즉석 웹 서버로 사용할 수 있습니다. JSDB의 RS232 포트를 사용하는 말도 안되게 쉽게 :

c:\>jsdb 
js>S=new Stream('com1://115200'); 
com1 
js>S.write('\x00'); // send ASCII character 0 to the serial port 
1 
js> 

그래서 브라우저 측 구현은 당신의 마음에 드는 북마크/링크/꼬추가 9999 http://localhost:9999/comport/1에 대한 링크가 JSDB가 수신 대기하는 포트 번호는 것을 무엇이든 될 수있다 , "1"은 직렬 포트 스위치입니다. JSDB 코드는 포트를 수신하고 브라우저에서 GET 요청을 구문 분석 한 후 적절한 RS232 명령을 전송합니다.

1

나는 내 자신의 질문에 대한 게시를 유감스럽게 생각합니다. 등록하지 않았으므로 지금은 수정할 수 없습니다.

작업을 위해 Vista 사이드 바 가젯을 구현하고 싶습니다. 불행히도 그것들은 javascript가있는 기본적으로 html 문서 인 것처럼 보이므로 나에게 좋은 해결책이 될 것 같지 않습니다. 아마도 .Net 응용 프로그램이나 뭔가를 작성할 것입니다.

귀하의 의견을 모두 주셔서 감사합니다. 아직 아이디어가있는 사람이 있으면 그 사람들을 데려 갈 것입니다.

0

AFAIK, Vista 가제트 런타임은 서명 된 ActiveX 컨트롤 사용을 지원합니다. Java를 사용할 수도 있습니다. 직렬 장치에 대한 상당한 지원이있는 .Net에 대한 ActiveX 래퍼를 만들 수 있습니다. 대부분의 ActiveX + 직렬 통신은 상용 제어로 제한됩니다.

3

RealTerm에는 광범위한 COM 인터페이스가 있으며 창에서 JavaScript로 제어하기 쉽습니다. SourceForge downloads page의 버전은 2.0.0.57이고 i2cchip.com 의 버전은 2.0.0.70입니다.

"examples"하위 디렉토리에 JavaScript 예제가 기본적으로 설치되어 있습니다.

슬프게도 JavaScript 예제가 최신 버전 4에서 제거 된 것으로 보입니다. 그러나 아직 수행 할 수는 있지만 예제가 없습니다.

관련 문제