Por qué GPIO Zero es mejor que RPi.GPIO para proyectos de Raspberry Pi

  • Lesley Fowler
  • 0
  • 3229
  • 895
Anuncio

La Raspberry Pi es la computadora perfecta para aprender. El sistema operativo Raspbian basado en Linux tiene Python incorporado, lo que lo convierte en un excelente primer sistema para codificadores principiantes. Sus pines de entrada / salida de propósito general (GPIO) facilitan a los fabricantes en ciernes experimentar con proyectos de bricolaje electrónico.

Es especialmente fácil cuando usa bibliotecas de código que controlan estos pines, y la popular biblioteca RPi.GPIO Python es un excelente ejemplo de dicha biblioteca. ¿Pero es el mejor camino para principiantes? Únete a nosotros mientras investigamos.

¿Qué es GPIO Zero??

La biblioteca GPIO Zero es una biblioteca de Python para trabajar con pines GPIO. Fue escrito por el administrador de la comunidad de Raspberry Pi, Ben Nuttall. Dirigido a ser intuitivo y “simpático,” racionaliza el código de Python para la mayoría de los casos de uso de Raspberry Pi.

Combinando prácticas simples de nombres y funciones descriptivas, GPIO Zero es más accesible para que los principiantes lo entiendan. Incluso los usuarios experimentados de la biblioteca RPi.GPIO pueden preferirlo, y para entender por qué, echemos un vistazo a cómo RPi.GPIO se compara con GPIO Zero.

Qué hay de malo con RPi.GPIO?

Nada. Nada en absoluto. RPi.GPIO fue lanzado a principios de 2012 por el desarrollador Ben Croston. Es una biblioteca robusta que permite a los usuarios controlar los pines GPIO desde el código. Se presenta en casi todos los proyectos para principiantes. Proyectos de Raspberry Pi para principiantes Proyectos de Raspberry Pi para principiantes Estos 10 proyectos de Raspberry Pi para principiantes son excelentes para obtener una introducción a las capacidades de hardware y software del Pi, y lo ayudarán a ponerse en marcha sin problemas. ¡hora! hemos cubierto.

A pesar de su uso extensivo, RPi.GPIO nunca fue diseñado para usuarios finales. Es un testimonio del buen diseño de RPi.GPIO que tantos principiantes lo usan.

¿Qué tiene de bueno GPIO Zero??

Cuando aprende el código Python, aprende que debe ser fácil de leer y lo más breve posible. GPIO Zero tiene como objetivo cubrir ambos puntos. Construido sobre RPi.GPIO como un envoltorio de lenguaje front-end, simplifica la configuración y el uso de GPIO.

Considere el siguiente ejemplo, configurar y encender un LED:

El código anterior debería ser bastante familiar para cualquiera que haya usado su Pi para controlar LED.

La biblioteca RPi.GPIO se importa y se declara un pin para el LED. El tipo de diseño del pin está configurado (los modos BCM y BOARD se explican en nuestra guía GPIO Todo lo que necesita saber sobre los pines GPIO de Raspberry Pi Todo lo que necesita saber sobre los pines GPIO de Raspberry Pi La Raspberry Pi es una pequeña computadora fantástica, pero ¿qué hace? los pines GPIO (Entrada / Salida de Propósito General) hacen exactamente? En resumen, abren todo un mundo de retoques e inventos electrónicos de bricolaje.), y el pin se configura como una salida. Entonces, el pin se enciende.

Este enfoque tiene sentido, pero la forma GPIO Zero de hacerlo es mucho más simple:

GPIO Zero tiene un módulo para LED, importado al inicio. Esto significa que puede declarar el número PIN y llamar al llevado en() método.

¿Por qué es mejor el enfoque de GPIO Zero??

Hay algunas razones por las cuales este método de trabajo es una mejora en RPi.GPIO.

En primer lugar, se encuentra con el “fácil de leer, lo más corto posible” requisito. Si bien las declaraciones de configuración de RPi.GPIO son lo suficientemente fáciles de entender, no son necesarias. Un LED siempre será una salida, por lo que GPIO Zero configura los pines detrás de escena. El resultado es solo tres líneas de código para configurar, luego enciende un LED.

Puede notar que no hay una configuración de modo de placa en el ejemplo GPIO Zero. La biblioteca solo usa la numeración Broadcom (BCM) para los pines. El diseñador de la biblioteca Ben Nuttall explica por qué en una entrevista RasPi.tv 2015:

“La numeración del TABLERO puede parecer más simple, pero diría que lleva a los nuevos usuarios a pensar que todos los pines son de uso general, y no lo son. Conecte un LED al pin 11, ¿por qué no conecta un poco más a los pines 1, 2, 3 y 4? El pozo 1 es 3V3. 2 y 4 son 5V. La falta de conciencia de cuál es el propósito de los pasadores puede ser peligroso..”

Dicho de esta manera, tiene sentido usar los números de BCM. Dado que GPIO Zero será estándar en la documentación de Raspberry Pi en adelante, vale la pena aprender!

¿GPIO Zero es realmente mejor??

Si bien parece más sencillo en la superficie, ¿la nueva biblioteca tiene algún problema? Como con cualquier biblioteca de codificación nueva, es una cuestión de opinión. Por un lado, eliminar el código de configuración es excelente tanto para principiantes como para programadores experimentados. Escribir código es más sencillo y rápido.

Por otro lado, saber exactamente lo que está sucediendo es importante para aprender. Tome el ejemplo de configurar un botón de la documentación de GPIO Zero:

los botón El módulo simplifica la configuración de los botones. Sabe que los botones son entradas, por lo que utiliza el número de pin declarado para la configuración. Comprobar si se presiona un botón también es más fácil, con el .se presiona para detectar pulsaciones de botones.

Utilizamos esta funcionalidad exacta en el tutorial de botones de Raspberry Pi. 2 formas de agregar un botón a su proyecto de Raspberry Pi. 2 formas de agregar un botón a su proyecto de Raspberry Pi. ¿Cómo se conecta un botón a su Raspberry Pi? Aquí hay dos formas de comenzar, demostradas usando Python y un LED. , que es una excelente manera de familiarizarse con las diferencias en las bibliotecas.

Los usuarios de la biblioteca RPi.GPIO notarán que las resistencias internas pull-up / pull-down de Pi no están configuradas en el código. Ésto plantea una pregunta interesante. ¿Es esencial que los principiantes sepan sobre las resistencias pull-up / down? De nuevo, Ben Nuttall tiene una respuesta a esta pregunta:

“Podría argumentar que es bueno saber acerca de los pull ups y los pull down, y estaría en lo cierto, pero ¿por qué tengo que enseñar eso el primer día? [...] Si desea enseñar la electrónica con más profundidad, hay un montón de alcance para eso, pero no debería ser obligatorio si recién está comenzando.”

En general, el enfoque simple de GPIO Zero es probablemente algo bueno para principiantes y veteranos por igual. Además, RPi.GPIO no va a ninguna parte. Siempre estará allí para volver a cambiar si es necesario.

¿Es Python la única opción??

Python es el lenguaje por el que se conoce a Pi, pero no es la única opción. Si ya está familiarizado con la programación en lenguaje C, entonces Wiring Pi lo tiene cubierto.

Alternativamente, si ya programa en JavaScript, Node.js puede instalarse fácilmente en Pi. El acceso a GPIO está disponible a través de la biblioteca rpi-gpio npm. Ruby on Rails también se puede instalar en Raspberry Pi, aunque es posible que Pi no sea la mejor manera de aprender Rails!

Todas estas alternativas, junto con bibliotecas multilingües como el excelente pigpio, pueden hacer que elegir una biblioteca sea confuso. Aquí es donde sobresale GPIO Zero: para principiantes que se preguntan cómo y dónde comenzar.

Si se encuentra en un punto donde necesita algo que no proporciona, estará más que listo para sumergirse en estas otras bibliotecas a su propio ritmo..

Comenzando con GPIO Zero Yourself

GPIO Zero es la biblioteca más nueva para impresionar a Pi y con razón. Para la mayoría de los usuarios, hace que la codificación de pines GPIO sea más fácil de leer y más rápida de escribir.

Dado el uso de Raspberry Pi en la educación, cualquier cosa que haga que el aprendizaje sea más natural es algo bueno. Mientras RPi.GPIO ha sido perfecto hasta ahora, GPIO Zero toma una buena idea y la hace aún mejor.

Una excelente manera de comenzar con GPIO Zero es tomar un proyecto para principiantes como el Sensor de puerta musical. Toca tu propia melodía temática cuando entras en la habitación con Raspberry Pi Toca tu propia melodía temática cuando entras en la habitación con Raspberry Pi ¿Alguna vez has querido llegar a casa a una bienvenida personal? En este simple proyecto de Raspberry Pi usaremos un interruptor de láminas para activar una melodía cuando se abre una puerta. y portarlo a la nueva biblioteca.




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.