Mi proyecto para poder usar la placa RaspBerry Pi

Quizá algunos recuerden que para mi objetivo de usar la tecnología del diseño por modelación me compré una placa RaspBerry Pi B+, para poder estudiar como interacciona el programa Mathematica de Wolfram con una placa externa con el objetivo de ser capaz que las placas que utilizo en mi proyecto del sistema de control descotas, las LPCXpresso1769, puedan funcionar de tal forma como la RaspBerry Pi, placa que Wolfram apoya, no solo como hardware externa, sino como es bien sabido también Mathematica 10 es disponible para ella de forma gratuita. Con perseguir este objetivo también requiero aprender a usar el programa Mathematica de forma adecuada. Poseo una licencia para uso no comercial.
Ademas me compré la placa Teensy 3.1 que es apoyada por el programa "SystemModeler", el cual usa el lenguaje "Modelica" para modelar sistemas y usando un cierto protocolo el programa SystemModeler puede comunicarse con la placa Teensy 3.1. Ambas placas usan versiones de los controladores ARM Cortex Mx. Desafortunadamente este último verano he estado muy mal de salud, golpeando 2 veces a las puertas del cielo (o es el infierno)`, así que ahora recién me estoy recuperando y trabajando por poder volver a estudiar.
El RaspBerry Pi tiene su foco de programación en el lenguaje "Python" así que estoy usando un curso disponible en MIT OCW gratuito para aprender Python y adicionalmente me instalé las versiones 2.7 y 3.4 por la primera versión 2.7 es la vieja versión y no es en un 100% compatible con la versión 3.4. Así entre el libro que me compré por solo 18,29 USD usando un bono disponible para estudiantes registrados para ese curso y adquiriendo la versión electrónica. La versión en papel en Amazon aquí en Alemania cuesta 67,- Euros mas flete!

Ademas me registre en un curso para estudiar Linux, el sistema operacional que comúnmente está disponible para el Raspi. El libro que en alemán es un tipo de biblia para Linux lo puedo leer de forma gratuita en el sitio de una universidad alemana. Como mis problemas de salud por lo general solo me afectan en mi capacidad de concentrarme por tiempos prolongados, los problemas de ahora hasta afectaron mi habilidad de leer. Bueno, está mejorando, pero así he continuado con mis trabajos en el taller. Tengo ahora una pantalla LCD en mi mesa de laboratorio electrónico colgando de un "brazo" sujeto a la pared lo que significa que cuando no requiero la pantalla o cuando quiero acceder algo que la pantalla bloquea. Primeros intentos con el raspi funcionaron solo en parte y sacaron a lucir que no tenía idea alguna de Linux y de Python.
 
Yo estoy haciendo armas con mi BeagleBone Black (BBB), simil al Raspi pero que ya tenia todo lo que tiene tu versión B+ desde hace años. Lo compré hace tiempo pero no hacia tiempo y de golpe me animé.
Como tu me di cuenta que no sabía nada de Linux y me resultó muy chocante al principio definir entradas y salidas o una entrada analógica, pero luego descubrí Python y con la librería Adafruit para BBB (tmb la hay para Raspi) se me simplificó todo.
De golpe pasé de hacer las cosas que hacía en Arduino a terribles cosas con graficos en mi TV HDMI.
Encontré cursos que seguí del primero al útlimo. He comprado libros que he devorado y sigo aprendiendo porque aun me falta fluidez.
Tanto me gustó que comencé a dejar Arduino y pasé a esta versión mas profesional.
En un punto choqué conque la competencia Raspi es fuerte o en realidad BBB intenta competirle al Raspi que es el caballito de batalla. Asi que ahora en la proxima seguiré tus pasos.
Encuentro que el límite esta en uno como pasa siempre pero son computadoras muy potentes.
 
Tienes toda la razón, la limitación esta en nosotros. Una cosa que aprendí muy pronto es que Python existe en 2 variantes casi como que independientes. La versión 2.7 es la actual de las generaciones de la versión 2.x y la versión 3.5 la actual de 3.x. Los recursos disponibles en forma de tutoriales y de módulos por razones evidentes es muchísimo mas extensa en versiones 2.x. Yo me he decidido por seguir mis estudios con la versión 3.5, pero he instalado paralelamente la 2.7 y la 3.5. Siguiendo este tutorial en Youtube:


Voy por el video 23 de 63 tiene como objetivo educar para la version 3.x pero da muchas referencias a las diferencias. Yo uso en ambos entornos el GUI "IDLE" del IDE de Python y adicionaölmente experimento usando la ventana "cmd" de windows para poder estudiar el impacto entre la estructura de archivos, donde tengo cual versión de Python, donde herramientas como "pip" para instalar módulos y como y cual de los parámetros de Windows tratan con problemas. "PATH" siendo la mas esencial requiere que la próxima vez que esté motivado de seguir con los estudios trataré de diseñar la estructura de directorias y archivos y como debo definir "Path" parámetros de forma apropiada. Se que en el entorno de Linux, por ejemplo en el Raspberry Pi, hace mucho mas sencillo instalar e importar módulos cuando se requieran. Pero peleando con entender la materia en el entorno de Windows fomenta el que tener que realmente entender las cosas de entorno.
El último video que me entré por adelantado dentro de ese curso de Python 3 para principiantes se presentaron de forma muy superficial el uso de las clases: "def class example()" etcétera. Yo de las clases en programación se que una clase define una estructura de datos y los métodos, las funciones para operar sobre esas estructuras de datos.
Adicionalmente en la "object oriented programming" esta todo el tema de la herencia de carácterísticas, de variar la función de los métodos, etcétera. Tengo noción que Python solo apoya la programación con clases de forma limitada si se compara con C++ por ejemplo. Espero ir recibiendo información sobre las capacidades y las limitaciones de Python en esa materia.

Pero reflexionando sobre lo que estuve estudiando hoy sobre el importar de módulos de la posibilidad de ir importando y eliminando clases y funciones en un programa escrito en Python, que esto podría ser de bastante importancia al escribir programas para controladores en sistemas embebidos, ya que allí en especial la memoria RAM y también la memoria flash es recurso limitado. Si entonces usando esos métodos resulta posible solo activar y cargar al RAM del raspi por ejemplo aquello que el programa necesita en cierto momento y dejar el repositorio o en la tarjeta flash o en un disco duro externo conectado por USB, las exigencias de RAM y flash en la componente se pueden mantener reducidas a un máximo!
De mis experiencias programando es práctica que me ha resultado útil el pensar en la arquitectura de un programa tanto desde el punto de vista de los recursos en hardware, como en los de la programación. Ejemplo el tratar de encapsular las partes del programa para evitar que errores sean pasados a otras partes del programa haciendo el encontrarlos a veces casi imposible.

He también empezado de forma cautelosa de instalar Linux Debian en mi PC como preparación para mis estudios de Linux. asigne un disco duro propio para instalar Debian. Lo que sigo planeando de estudiar es la alternativa de usar Linux en el PC dentro de un entorno virtual. Otro campo de tópicos que aún no conozco lo suficiente.
 
Atrás
Arriba