¿Cuál sería un buen lenguaje de programación (o un conjunto de bibliotecas para C ++) para interactuar con los componentes electrónicos (motores paso a paso, etc.)?

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

Pregunta

No soy un chico de la electrónica, por lo que podría no ser capaz de explicar exactamente lo que necesito. Esta es una pregunta un amigo me mantiene preguntando.

Lo que mi amigo está buscando es un lenguaje de programación que le permitiría a:

  1. interfaz con el hardware (a través de los puertos serie y USB).
  2. Escribir código multiproceso.
  3. Juntar interfaces de usuario muy rápidamente.
  4. Port su código para Linux y OS X tan fácilmente como sea posible (bueno, esto es lo que I que desee).

Se está construyendo una herramienta para un grupo local que enseña robótica muy básicos a los estudiantes universitarios. En este momento está usando C ++, pero escribir el código de interfaz de usuario en C ++ no es exactamente una tarea divertida. Él también está utilizando algunas bibliotecas específicas de Windows para (1), lo que significa que no puede probar su código, ni le ayudará con los insectos de fijación (yo uso un Mac).

EDIT:. Las bibliotecas de Python / Ruby son bienvenidos

¿Fue útil?

Solución

Es posible que desee echar un vistazo a la vez complementaria Procesamiento y noreferrer cableado herramientas. El procesamiento es un entorno para la creación de interfaces de usuario, y cableado es un entorno de programación para tarjetas E / S como el tablero de cableado del mismo nombre, su primo más simple Arduino y dispositivos relacionados. Los tableros de cableado normalmente se comunican con un ordenador de escritorio a través de una conexión serie o USB con emulación de serie.

Otros consejos

Java podría ser una buena opción aquí. Tiene bibliotecas disponibles para el roscado y la comunicación API de bajo nivel, y debe llevar a cabo lo suficientemente bien como para un lazo de control. Sé que tiene una biblioteca Communcations puerto serie, y creo que hay algunas bibliotecas USB de código abierto. Para la interfaz de usuario, se puede utilizar la API de Java gráficos 2D, o para una interfaz de usuario más avanzado puede probar con el Java 3D poco descuidado o bibliotecas JOGL más nuevos. Oscilación tiene sus defectos, pero en realidad es bastante fácil de usar para la fabricación de formas básicas de interfaces de usuario.

Si desea fácil y un montón de hardware soportado creo que lo mejor es Labview. Es toda la programación gráfica (bloques de arrastre, hacer conexiones) y muchos dispositivos USB (DIO), por ejemplo, contar con el apoyo de LabVIEW. el apoyo de serie está integrada. Puede hacer que las interfaces de usuario con bastante facilidad (a que se destina principalmente para el control GUI).

Ruby y Calzado (GUI) funcionarían muy bien, especialmente bien adaptado a un entorno de aprendizaje / multiplataforma

Editar - Se encuentra que (es un poco difícil de encontrar):

http://shoooes.net/

ACE ( http://www.cs.wustl.edu/~schmidt /ACE.html ) es un C independiente ++ biblioteca plataforma (sin UI), QT ( http: / /www.qtsoftware.com/products/ ) es una biblioteca plataforma UI cruz por C ++. El acceso al hardware es, por desgracia algo que todavía depende de la plataforma)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top