¿De qué manera Python ayuda a un ingeniero eléctrico / electrónico?

Como ingeniero eléctrico, hay muchos usos para Python. Me gusta pensar en Python como la herramienta de acceso a lo que es esencialmente el equivalente en Ingeniería Eléctrica de DevOps. Aquí hay algunas maneras en que Python puede ayudar a los ingenieros eléctricos.

Interfaz de dispositivo
Las interfaces seriales (RS-232, MODBUS), los buses CAN y otros pueden ser mucho más fáciles de poner en marcha en comparación con escribir algo en C / C ++ nativo para el sistema operativo específico que está utilizando. La interfaz de red también es muy fácil de usar si necesita abrir un socket y hablar con un dispositivo a través de una red.

Herramientas de banco de programación
Las herramientas programables como fuentes de alimentación, DMM, O-Scopes, Generadores de funciones y otras son muy fáciles de poner en funcionamiento para diversas configuraciones.
Ya hay un montón de bibliotecas disponibles, ya sea de código abierto o por los propios proveedores, para permitirle automatizar la captura de datos o las configuraciones del dispositivo, lo que le permite hacer cosas realmente interesantes como …

Pruebas automatizadas
Es mucho más barato y rápido automatizar las pruebas con Python que algo costoso e inflexible como Labview o ATEasy o muchos de los otros sistemas existentes. Con una interfaz serial simple para cambiar los datos en el controlador y algunos equipos de prueba programables y un arnés creativo con retroalimentaciones u otro dispositivo de detección, puede hacer mucho para verificar la integridad de su hardware. Podría decirse que la mayoría de los sistemas de prueba de producción no necesitan los niveles de verificación en profundidad que puede obtener con una configuración de Labview. Puede obtener fácilmente el 80-90% de la cobertura de la prueba por aproximadamente el 5-10% del costo. Por supuesto, si realmente necesita ese 10% adicional, entonces ese costo adicional podría estar justificado.

Datos incrustados
Los datos incrustados en sí también son algo que a menudo se pasa por alto y requieren algunas herramientas serias para analizar y visualizar a una resolución de milisegundos de cientos o miles de fuentes. Algunos muestreos de datos pueden rivalizar fácilmente con la cantidad de datos generados por las empresas / aplicaciones de “Big Data”. Volcar datos para un acceso rápido a una base de datos SQLite puede facilitar la manipulación de datos y abre muchas posibilidades para lo que puede extraer de sus capturas de datos.
Si desea ser realmente ambicioso, puede enviar esos datos a una base de datos de series temporales (TSDB). Ahora hay toneladas de ellos y pueden ser una herramienta muy útil para analizar y visualizar grandes conjuntos de datos en tiempo real.

Analítica
Las bibliotecas como SciPy, Numpy, Pandas y otras son muy útiles cuando necesita procesar grandes conjuntos de datos y extraer información útil. Puede consultar el mundo de Big Data para obtener más detalles sobre esto, pero Python ciertamente ha forjado su lugar en el mundo de la ciencia de datos.

Visualización
Matplotlib funciona muy bien para trazados estáticos rápidos de datos moderados y funciona muy bien con las herramientas de análisis. También hay PyQtGraph que funciona muy bien para alta resolución o trazado en tiempo real. O puede usar herramientas que DevOps tiende a usar como Grafana y otras si desea tener una base de datos de series de tiempo en funcionamiento.

Tareas diarias
También hay muchos otros usos diarios para Python, como la generación de código, la automatización de compilaciones y la extracción de datos de Excel. El uso de una biblioteca de plantillas Python como Jinja u otras hace que la generación automática de código para la sección de código repetitiva o configurada dinámicamente sea muy simple.
La herramienta de elección de la mayoría de los ingenieros, les guste o no, es Excel, y Python hace que sea muy fácil extraer datos de estas hojas (aunque me gustaría ver algo mejor para volver a poner los datos, las cosas que hay ahora faltan … ) No todos los ingenieros serán programadores, por lo que Excel se convierte en una parte muy importante del flujo de trabajo de algunas organizaciones, incluso si no siempre es la herramienta más óptima. A menos que desee hacer un mejor front-end, así es como la mayoría de los ingenieros le proporcionarán datos …

¡Unir todo esto puede brindar un potencial muy poderoso en las manos adecuadas! Si bien hay muchos otros idiomas que pueden hacer algunas de estas cosas mejor o más rápido o quizás más fácil, desafiaría a alguien a encontrar un lenguaje que pueda hacer todas estas cosas tan bien como Python.

Python cuando se combina con NumPy, Matplotlib, SciPy y Pandas es una formidable plataforma de computación científica comparable en capacidad a MATLAB / Scilab / GNU Octave (excepto que aún no tiene una herramienta de simulación gráfica comparable a SimuLink de MATLAB o Xcos of Scilab). Dado que MATLAB es popular en aplicaciones eléctricas y electrónicas, puede reemplazarlo con Python.

Al ser un lenguaje de programación de propósito general con soporte para cálculos numéricos, tiene una gran colección de bibliotecas para otras aplicaciones, como marcos de GUI, acceso a bases de datos, bibliotecas para la interfaz de hardware. Esto sería difícil de lograr en MATLAB / Scilab / GNU Octave porque son plataformas de computación numérica especializadas con soporte limitado para aplicaciones generales.

Quizás desee algunos de los siguientes enlaces:

  1. https://micropython.org/
  2. http://expeyes.in/
  3. http://playground.arduino.cc/Int…
  4. http://www.raspberrypi.org/tag/p

Nota: NO soy un ingeniero eléctrico / electrónico pero soy un fanático de Python.

Lo más cercano que puedo relacionar cualquiera de mis trabajos / hacks con esta pregunta es cuando hice un simulador de vuelo usando un acelerómetro.

Conecté el acelerómetro a un Arduino que a su vez estaba conectado a mi computadora a través del puerto serie. Utilicé la biblioteca pySerial en Python para leer los datos del acelerómetro a través del puerto serie del Arduino y utilicé estos datos para representar la escena del vuelo utilizando el motor del juego Panda3D.

Editar: Puede encontrar el código fuente del simulador de vuelo aquí: Somsubhra / FlySim

Si te gusta el diseño o el campo de I + D, la programación con python se vuelve bastante útil. De lo contrario, aprender Python no dañará a un ingeniero de ninguna manera, solo se suma a su currículum.
¡Espero que esto ayude!

Lo he usado para analizar rápidamente las señales, ya que puede hacer fft’s y trazar los resultados con 10 líneas de código. También es genial para hacer simulaciones en 3D. En un trabajo tuve que demostrar que la luz amarilla de advertencia de nuestro producto era visible desde todos los ángulos de visión razonables. Una simulación 3D era el camino a seguir, y solo tomó unas pocas docenas de líneas de código.

agregando puntos a la respuesta de Satish Annigeri,

El simulador de red ns3, que se utiliza para la simulación de varias operaciones de capa 2 y capa 3, como enrutamiento, etc., tiene python como lenguaje de script.

GNURadio, un paquete de simulación (similar a MATLAB / OCTAVE), utilizado para los análisis de capa 1, tiene Python como lenguaje de script.

Bueno, si aún no te has graduado, ¡te ayuda a asfixiarte antes de un examen! 😛
Bromas aparte … Aprender, puede ser un nuevo lenguaje o habilidad o lo que sea, siempre ayuda, simplemente no sabes cómo va a ayudar. Entonces, como dijo el Sr. Jobs, ‘sigue a tu corazón, de alguna manera ya sabe lo que quieres’

Aunque no soy un Pythoner sino un amante de Julia, admito que Python + Raspberry Pi han desencadenado una revolución emocionante en la electrónica.