Firtec

Python Gráfico en Raspberry PI

A la hora de programar aplicaciones para Raspberry PI entre las opciones disponibles aparece Python. Sin embargo por defecto los programas creados con Python son poco atractivos, ventanas de texto aburridas que recuerdan a viejos sistemas operativos.
Para mejorar esto estamos trabajando en un nuevo curso destinado al desarrollo de interfaces gráficas para el control de electrónica, la propia electrónica de Raspberry como electrónica vinculada a sus pines.
En el siguiente vídeo se aprecia como responden los pines del puerto de Raspberry enviando comando en Python.

Esta capacitación no abordará Python desde el enfoque administrativo sino desde el control. Manejo y control de electrónica con ventanas, iconos y todo el despliegue gráfico de los sistema operativos actuales.
A lo largo de este curso se tratarán todos los aspectos técnicos de la placa Raspberry, funcionamiento electrónico, características, que puedo y que no debeo hacer con la placa.
Manejo de sus pines GPIO, procesamiento de imágenes, manejo de comunicaciones desde el elemental RS-232 a sofisticadas conexiones TCP-IP y una  gran cantidad de sensores de distintos tipos, todos de uso necesario y común en domótica y control industrial.
Si estas programando microcontroladores y necesitas construir una base de datos que se pueda acceder desde Internet, porque no vincular microcontroladores a una placa Raspberry?
Si estas pensando en un PLC para tu próximo desarrollo, porque no investigar lo que puede hacer Raspberry?
En el siguiente vídeo vemos el funcionamiento del sensor OPT3001que tiene un filtro para detectar la luz en espectro del ojo humano, su funcionamiento por tanto es muy distinto al de una celda fotoeléctrica, este sensor puede ser muy útil en domótica para el control inteligente de luminarias.


En el mundo técnico parecen existir un montón de conceptos apoyados mas en la costumbre que en la ciencia.

  • Para aplicaciones industriales serias y profesionales solo va un PLC. Algo así como "Para desarrollos serios solo va... lo conocido.... o mas bien .... lo que YO conozco".
  • Los microcontroladores no sirven para control industrial o manejo profesional de eventos o cosas. Lo que me lleva a pensar. Que habrá dentro de la cabina de vuelo de un avión? O dentro de la "caja negra" que maneja un auto? Que hay dentro de un PLC?. Respuesta obvia UN MICROCONTROLADOR!!

Y porque entonces los microcontroladores tienen fama de no ser confiables?
La respuesta es simple y directa, todo desarrollo será tan bueno y eficiente como conocimientos tenga el que lo hizo.
En el siguiente vídeo se leen los datos enviados desde un sensor de precisión que reporta la presión barométrica y la temperatura.
El ejemplo usa un sensor LPS25HB conectado a Raspberry mediante el puerto I2C.

Raspberry es una placa que tiene un costo muy bajo, funciona bajo el control de un sistema operativo de probada eficiencia, Linux. Tiene la misma conectividad de una tablet, la misma velocidad y por si fuera poco, publica pines para conectarle cosas!!!!

Este curso se dictará en la modalidad presencial y distancia. Actualmente se encuentra en desarrollo y a medida que le vamos dando forma publicaremos el temario y ejemplos de los textos de trabajo.

Cualquier información adicional se puede contactar a:

Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

 

 

Que es ARM?

ARM inició en 1983, como un proyecto de desarrollo en la empresa Acorn Computers  y en abril de 1985 presentaron su primer chip que contenía un bus de datos de 32 bits, ARM es 32 bits desde su origen.

ARM es una empresa peculiar ya que no fabrica los dispositivos si no que ofrece distintos tipos de licencias tanto sobre sus conjuntos de instrucciones como sobre sus arquitecturas.

El fabricante del dispositivo que puede ser una televisión, una cámara de fotos, una lavadora o una tablet decide si le conviene más usar el diseño propio de ARM o crear el suyo.
El trabajo de ARM es más el de un arquitecto que el de un constructor, ellos diseñan y otros lo ponen en práctica. Esos otros son empresas como Samsung, Texas Instruments, Qualcomm, Nvidia, Apple, Motorola, etc, que basan sus procesadores en diseños licenciados a ARM.

Que es Cortex M4?

Es un microcontrolador que pertenece a la arquitectura ARM7 de última generación y de los mas poderosos dentro de la gama de núcleos escalares con un set de instrucciones ortogonal que dan a este controlador gran flexibilidad y eficiencia para ejecutar código en C.

Cortex M4 es una arquitectura RISC con un conjunto de instrucciones de 32 bits. Las prestaciones de este controlador permite ya la ejecución de RTOS, Android, Linux, etc.

Dentro de un Cortex hay varios buses de datos que se vinculan a distintos periféricos, esto último es muy importante porque marca una de las grandes diferencias con un microcontrolador de 8 bits o de arquitectura “tradicionalen donde podemos tener la certeza de que cada operación dura un determinado tiempo o ciclo de CPU lo que lleva a que los tiempos en juego se pueden determinar con facilidad. En un micro de 32 bits hay varios buses y los tiempos ya no son tan fáciles de predecir puesto que otros periféricos pueden estar usando estos buses o si el micro tiene memoria cache esto altera los tiempos en juego por lo que debe usted desterrar la idea que solo basta con contar las instrucciones y multiplicar por la velocidad del bus.

Lo siguiente que puede resultar un poco confuso es que todo dentro del Cortex tiene su reloj individual que por defecto esta desconectado. Es decir entonces que para hacer uso de un módulo una de las configuraciones que debemos incluir es activar y el reloj y determinar una frecuencia de operación dentro del rango que el bus admite.

Que es CMSIS?

El éxito comercial de licenciar los núcleos de los procesadores y permitir que cada cliente pueda incorporarle a este núcleo los periféricos que necesita para sus aplicaciones específicas trae un problema que es la compatibilidad para programar estos periféricos bajo un mismo criterio, es decir que un periférico de Freescale y uno con la misma funcionalidad de STM se deberían programar de igual manera para de esta forma simplificar el trabajo y permitir a los programadores tener una forma mas flexible de elegir el hardware.

Esto es lo que hace CMSIS, genera una capa de software que separa al programador del hardware permitiendo programar en un nivel superior y con un interfaz unificada para todos los Cortex independientemente de su fabricante.

Porqué me debería interesar ARM?

Bueno, si estamos trabajando con microcontroladores y vemos que actualmente cerca del 85% de los dispositivos móviles llevan un chip ARM y que las principales empresas fabricantes de chips están trabajando con núcleos ARM, y si a esto sumamos los bajos costos, herramientas de desarrollo libres y microcontroladores que no requieren un programador específico para ser programados, es motivo al menos que justifica investigar que está pasando con ARM.