O que seria uma boa linguagem de programação (ou um conjunto de bibliotecas para C ++) para fazer interface com componentes eletrônicos (motores de passo etc.)?

StackOverflow https://stackoverflow.com/questions/700025

Pergunta

Eu não sou uma eletrônica cara, então eu poderia não ser capaz de explicar exatamente o que eu preciso. Esta é uma pergunta um amigo fica me perguntando.

O que meu amigo está procurando é uma linguagem de programação que lhe permitiria:

  1. Interface com hardware (via portas serial e USB).
  2. escrever código multithread.
  3. jogar juntos UIs muito rapidamente.
  4. Port seu código para Linux e OS X tão facilmente quanto possível (ok, isso é o que I quiser).

Ele está construindo uma ferramenta para um grupo local que ensina robótica muito básicas para estudantes universitários. Agora ele está usando C ++, mas escrever o código UI em C ++ não é exatamente uma tarefa divertida. Ele também está usando algumas bibliotecas específicas do Windows para (1), o que significa que não pode experimentar seu código nem ajuda-lo com correção de bugs (eu uso um Mac).

EDIT:. Bibliotecas para Python / Ruby são bem-vindos

Foi útil?

Solução

Você pode querer ter um olhar para o sim complementares Processamento e fiação ferramentas. Processing é um ambiente para a construção de interfaces de usuário, e Fiação é um ambiente para a programação de placas de I / O, como a placa de fiação de mesmo nome, seu primo mais simples Arduino e dispositivos relacionados. As placas de circuito comunicar normalmente com um computador desktop através de um link serial ou USB com emulação serial.

Outras dicas

Java pode ser uma boa opção aqui. Tem bibliotecas disponíveis para as APIs de encadeamento de nível baixo e de comunicação, e deve ter um bom desempenho suficiente para um ciclo de controlo. Eu sei que tem uma série biblioteca communcations porta, e eu acredito que existem algumas bibliotecas USB de código aberto. Para a interface do usuário, você pode usar a API Java 2D Graphics, ou para um UI mais avançado, você pode tentar o Java3D ligeiramente negligenciado ou bibliotecas JOGL mais recentes. Swing tem seus defeitos, mas é realmente muito fácil de usar para fazer formas básicas UIs.

Se você quiser fácil e um monte de hardware suportado Eu acho que sua melhor aposta é LabVIEW. É tudo de programação gráfica (blocos de arrasto, Fazer as ligações) e muitos dispositivos USB (DIO por exemplo) têm suporte LabVIEW. apoio de série é embutido. Ele pode fazer UIs com bastante facilidade (é destinado principalmente para o controle GUI).

Ruby e Calçados (GUI) iria funcionar muito bem, especialmente adequado para um ambiente de aprendizagem / multiplataforma

Edit - Encontrei-(É um pouco difícil de encontrar):

http://shoooes.net/

ACE ( http://www.cs.wustl.edu/~schmidt /ACE.html ) é uma biblioteca de C ++ independente de plataforma (sem UI), QT ( http: / /www.qtsoftware.com/products/ ) é uma biblioteca de plataforma IU cruz para C ++. Acessando hardware é, infelizmente, algo que ainda é dependente de plataforma)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top