3

저는 전자 기술자가 아니기 때문에 내가 필요한 것을 정확하게 설명하지 못할 수도 있습니다. 이것은 친구가 계속 묻는 질문입니다. (직렬 및 USB 포트를 통해) 하드웨어전자 부품 (스테퍼 모터 등)과의 인터페이스에 좋은 프로그래밍 언어 (또는 C++ 용 라이브러리 세트)는 무엇이 될까요?

  1. 인터페이스 :

    은 무엇 내 친구가 찾고있는 것은 그를 수 있도록 해주는 프로그래밍 언어입니다.

  2. 다중 스레드 코드를 작성하십시오.
  3. UI를 매우 빠르게 처리합니다.
  4. 가능한 한 쉽게 Linux 및 OS X로 코드를 전송하십시오. (좋아요, 이것은 무엇입니까 I).

그는 대학생들에게 아주 기본적인 로봇 공학을 가르치는 지역 단체 용 도구를 만들고 있습니다. 현재 그는 C++을 사용하고 있지만 UI 코드를 C++로 작성하는 것은 결코 재미있는 일은 아닙니다. 그는 또한 (1)에 대해 Windows 전용 라이브러리를 사용하고 있습니다. 즉, 코드를 시험해 볼 수도없고 버그 수정 (Mac을 사용) 할 수도 없습니다.

EDIT : Python/Ruby 용 라이브러리를 환영합니다.

답변

4

당신 다소 보완적인 ProcessingWiring 도구를 살펴볼 수 있습니다. 프로세싱은 사용자 인터페이스를 구축하기위한 환경이며 배선은 시조 배선 보드, 더 간단한 사촌 인 Arduino 및 관련 장치와 같은 I/O 보드를 프로그래밍하기위한 환경입니다. 배선 보드는 일반적으로 직렬 링크를 통해 데스크탑 컴퓨터 또는 직렬 에뮬레이션을 사용하여 USB와 통신합니다.

0

루비 및 신발 (GUI)를

편집 멀티/학습 환경에 특히 적합합니다, 잘 작동합니다 - 그것은 발견 (그 조금 하드 찾을 수) :

http://shoooes.net/

1

Java가 좋은 옵션 일 수 있습니다. 저수준 스레딩 및 통신 API에 사용할 수있는 라이브러리가 있으며 제어 루프에 대해 충분히 잘 수행되어야합니다. 직렬 포트 communcations 라이브러리가 있다는 것을 알고 있으며 일부 오픈 소스 USB 라이브러리가 있다고 생각합니다. UI의 경우 Java 2D Graphics API를 사용할 수 있습니다. 또는 고급 UI의 경우 약간 무시 된 Java3D 또는 최신 JOGL 라이브러리를 사용해 볼 수 있습니다. 스윙에는 결함이 있지만 실제로는 기본 양식 UI를 만드는 데 사용하기가 쉽습니다.

1

쉽고 많은 하드웨어를 원한다면 가장 좋은 방법은 Labview입니다. 모든 그래픽 프로그래밍 (블록 드래그, 연결) 및 많은 USB 장치 (예 : DIO)는 Labview 지원을 제공합니다. 직렬 지원이 내장되어 있습니다. UI를 쉽게 만들 수 있습니다 (주로 GUI 제어를위한 것입니다).

+1

마지막 문장을 제거해야합니다. LabVIEW는 실제로 Windows에서만 사용할 수있는 것은 아닙니다 (http://www.ni.com/labview/how_to_buy.htm). 사실 Mac에서 시작되었습니다. 그리고 확실히 멀티 스레딩은 프로그래머에게 대부분 투명합니다. 하지만 LabVIEW는 하드웨어 제어에 적합하기 때문에 답을 낮추지는 않을 것입니다. – mghie