Elección del lenguaje
¿Qué lenguaje usar para programar?
Hay muchos lenguajes disponibles para programar. En función de las necesidades de los programadores (rapidez de programación, solidez del código, existencia de bibliotecas, habilidades del programador…), la elección puede ser orientada a distintos lenguajes disponibles.
1. Una nebulosa de lenguajes
Raspberry Pi OS es una versión de Debian adaptada a la Raspberry Pi. Por eso todos los lenguajes que se pueden usar en Debian funcionan en la Raspberry Pi.
Si visitamos la página Wikipedia dedicada los lenguajes de programación, encontraremos algunas centenas de nombres. (ver https://es.wikipedia.org/wiki/Anexo:Lenguajes_de_programaci%C3%B3n)
Sin embargo, un cierto número de lenguajes destacan y son empleados más que los otros. Existen dos planteamientos con respecto a los lenguajes de programación, los lenguajes interpretados y los lenguajes compilados.
a. Lenguajes interpretados
La herramienta utilizada en este caso es un programa llamado «intérprete» o «interpretador». Es el encargado de analizar, traducir y ejecutar los scripts escritos en un lenguaje de programación.
Para ejecutar un script, el interpretador realiza para cada ejecución del script y para cada una de las instrucciones operaciones de análisis y de traducción. Esta sucesión de operaciones ralentiza la ejecución...
Las bibliotecas para la Raspberry Pi
Algunos entusiastas han desarrollado bibliotecas para permitir a los usuarios de la Raspberry Pi poder trabajar con los GPIO de la tarjeta.
Estas bibliotecas tienen sus propias particularidades.
1. RPi.GPIO
Esta biblioteca está disponible bajo la licencia MIT. Su autor es Ben Croston.
Esta biblioteca controla las E/S GPIO. No está adaptada a las aplicaciones críticas en tiempo real. La versión actual no soporta todavía SPI, I²C, el PWM de hardware o el puerto serie de la Raspberry Pi. Esto está previsto en los desarrollos futuros de la biblioteca. Aunque el PWM de hardware todavía no esté disponible, el PWM de software está disponible en todos los puertos GPIO.
Para más información https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/
2. RPIO.GPIO
RPIO.GPIO es un módulo de gestión de los puertos GPIO Raspberry Pi desarrollado por Chris Hager. Está disponible bajo la licencia GNU LGPLv3+.
RPIO puede gestionar las E/S, el PWM de hardware a través de DMA (con una resolución de hasta 1 µs), las interrupciones (llamadas de una función) y las interrupciones de socket TCP.
El código fuente es rápido y está bien documentado con un uso mínimo de la CPU.
Para más información https://pythonhosted.org/RPIO
3. WiringPi
WiringPi es una biblioteca de gestión...
Escribir un script en Python
1. Con un IDE
Un IDLE o IDE (Integrated DeveLopment Environment: entorno de desarrollo integrado) es un programa que reagrupa las funciones utilizadas frecuentemente por un programador.
Existen muchos IDE (o IDLE) para Python. La Fundación ha integrado recientemente Thonny (https://thonny.org/) en Raspberry Pi OS. Esta considera que se trata de un IDE adecuado para los principiantes. Este IDE será usado para escribir los scripts de este libro.
a. Iniciar el IDE Thonny
En el menú Programación , haga clic en Thonny Python IDE para iniciar Thonny.
b. Presentación de la pantalla del IDE Thonny
La ventana de Thonny se abre. Podrá redimensionar las diferentes partes de la manera más adecuada.
Los iconos situados en la parte superior de la ventana permiten gestionar la ejecución y la adecuación de los scripts.
La zona de script está reservada para la escritura del script. Los errores detectados por el IDE se indican destacando la zona de la pantalla donde se encuentra el problema. Aquí, en la expresión test = (34*2) se ha omitido voluntariamente el paréntesis que cierra. El IDE destaca el resto de la pantalla para señalar dónde se encuentra el error en el script.
La parte inferior se llama Shell. Corresponde a lo que pasa cuando se ejecuta Python en la línea de comandos para teclear los comandos línea por línea.
La parte de la derecha está reservada a las variables y permite seguir la evolución paso a paso de la ejecución...