Por que GPIO Zero é melhor que RPi.GPIO para projetos Raspberry Pi

Por que GPIO Zero é melhor que RPi.GPIO para projetos Raspberry Pi

O Raspberry Pi é o computador perfeito para aprender. O Raspbian OS baseado em Linux tem Python embutido, o que o torna um ótimo primeiro sistema para programadores iniciantes. Seus pinos de entrada / saída de uso geral (GPIO) tornam mais fácil para os fabricantes iniciantes experimentarem projetos eletrônicos DIY.





É especialmente fácil quando você usa bibliotecas de código que controlam esses pinos, e a popular biblioteca RPi.GPIO Python é um excelente exemplo de tal biblioteca. Mas é o melhor caminho para iniciantes? Junte-se a nós enquanto investigamos.





O que é GPIO Zero?

A biblioteca GPIO Zero é uma biblioteca Python para trabalhar com pinos GPIO. Foi escrito por Ben Nuttall, gerente de comunidade do Raspberry Pi . Com o objetivo de ser intuitivo e 'amigável', ele otimiza o código Python para a maioria dos casos de uso regulares do Raspberry Pi.





Combinando práticas simples de nomenclatura e funções descritivas, o GPIO Zero é mais acessível para iniciantes entenderem. Até mesmo usuários experientes da biblioteca RPi.GPIO podem preferir --- e para entender por que, vamos dar uma olhada em como RPi.GPIO se compara ao GPIO Zero.

O que há de errado com RPi.GPIO?

Nada. Nada mesmo. RPi.GPIO foi lançado no início de 2012 pelo desenvolvedor Ben Croston. É uma biblioteca robusta que permite aos usuários controlar os pinos GPIO a partir do código. Apresenta em quase todos os projetos iniciantes nós cobrimos.



assistir a vídeos do youtube sem fazer login

Apesar de seu uso extensivo, RPi.GPIO nunca foi projetado para usuários finais. É uma prova do bom design do RPi.GPIO que tantos iniciantes o utilizem.

O que há de tão bom no GPIO Zero?

Quando você é aprender código Python , você aprende que deve ser fácil de ler e o mais curto possível. O GPIO Zero visa cobrir ambos os pontos. Construído sobre RPi.GPIO como um wrapper de linguagem de front-end, ele simplifica a configuração e o uso do GPIO.





Considere o seguinte exemplo, configurando e ligando um LED:

O código acima deve ser bastante familiar para qualquer pessoa que tenha usaram seu Pi para controlar LEDs .





A biblioteca RPi.GPIO é importada e um pino para o LED é declarado. O tipo de layout do pino é configurado (modo BCM e BOARD são explicado em nosso guia GPIO ), e o pino é configurado como uma saída. Em seguida, o pino é ativado.

Essa abordagem faz sentido, mas a maneira GPIO Zero de fazer isso é muito mais simples:

GPIO Zero possui um módulo para LEDs, importado no início. Isso significa que você pode declarar o número PIN e ligar para o led.on () método.

como formatar usb protegido contra gravação

Por que a abordagem do GPIO Zero é melhor?

Existem alguns motivos pelos quais este método de trabalho é um aprimoramento do RPi.GPIO.

Em primeiro lugar, cumpre o requisito 'fácil de ler, o mais curto possível'. Embora as instruções de configuração RPi.GPIO sejam fáceis de entender, elas não são necessárias. Um LED sempre será uma saída, então GPIO Zero configura os pinos nos bastidores. O resultado são apenas três linhas de código para configurar e, em seguida, acender um LED.

Você pode notar que não há configuração de modo de placa no exemplo GPIO Zero. A biblioteca usa apenas numeração Broadcom (BCM) para os pinos. O designer de biblioteca Ben Nuttall explica por que em 2015 Entrevista RasPi.tv :

'A numeração do BOARD pode parecer mais simples, mas eu diria que leva os novos usuários a pensar que todos os pinos são de uso geral --- e não são. Conecte um LED ao pino 11, por que não conectar mais um LED aos pinos 1, 2, 3 e 4? O poço 1 é 3V3. 2 e 4 são 5V. A falta de consciência de qual é o propósito dos alfinetes pode ser perigosa. '

Posto dessa forma, faz todo o sentido usar os números do BCM. Visto que o GPIO Zero será padrão na documentação do Raspberry Pi daqui para frente, vale a pena aprender!

GPIO Zero é realmente melhor?

Embora pareça mais simples na superfície, a nova biblioteca tem problemas? Como acontece com qualquer nova biblioteca de codificação, é uma questão de opinião. Por um lado, remover o código de configuração é excelente para programadores iniciantes e experientes. Escrever código é mais simples e rápido.

Por outro lado, saber exatamente o que está acontecendo é importante para o aprendizado. Veja o exemplo de configuração de um botão do Documentação GPIO Zero :

o botão módulo simplifica a configuração de botões. Ele sabe que os botões são entradas, então usa o número do pino declarado para configuração. Verificar se o botão foi pressionado também é mais fácil, com o .is_pressed para detectar o pressionamento de botões.

Usamos essa funcionalidade exata no Tutorial do botão Raspberry Pi , que é uma ótima maneira de se familiarizar com as diferenças nas bibliotecas.

Os usuários da biblioteca RPi.GPIO perceberão que os resistores pull-up / pull-down internos do Pi não estão configurados no código. Isso levanta uma questão interessante. É essencial para iniciantes saber sobre resistores pull-up / down? Mais uma vez, Ben Nuttall tem uma resposta para esta pergunta:

'Você pode argumentar que é bom saber sobre pull ups e pull downs, e você está certo --- mas por que eu tenho que ensinar isso no primeiro dia? [...] Se você quiser ensinar eletrônica em mais profundidade, há muito espaço para isso - mas não deve ser obrigatório se você está apenas começando. '

No geral, a abordagem simples do GPIO Zero é provavelmente boa para iniciantes e veteranos. Além disso, RPi.GPIO não vai a lugar nenhum. Sempre estará lá para voltar, se necessário.

Python é a única opção?

Python é a linguagem pela qual o Pi é conhecido, mas não é a única opção. Se você já está familiarizado com a programação na linguagem C, então Pi de fiação você está coberto.

Como alternativa, se você já programa em JavaScript, o Node.js pode ser facilmente instalado no Pi. O acesso GPIO está disponível através do biblioteca rpi-gpio npm . Ruby on Rails também pode ser instalado no Raspberry Pi, embora o Pi possa não ser a melhor maneira de aprender Rails!

Todas essas alternativas, junto com bibliotecas multilíngues como o excelente barato pode tornar a escolha de uma biblioteca confusa. É aqui que o GPIO Zero se destaca: para iniciantes que se perguntam como e por onde começar.

Se você estiver em um ponto em que precisa de algo que ela não oferece, estará mais do que pronto para mergulhar nessas outras bibliotecas em seu próprio ritmo.

Primeiros passos com GPIO Zero Yourself

GPIO Zero é a mais nova biblioteca a causar impacto no Pi e por um bom motivo. Para a maioria dos usuários, torna a codificação para pinos GPIO mais simples de ler e mais rápida de escrever.

como adicionar dinheiro à carteira no ps4

Dado o uso do Raspberry Pi na educação, qualquer coisa que torne o aprendizado mais natural é uma coisa boa. Enquanto RPi.GPIO tem sido perfeito até agora, GPIO Zero pega uma boa ideia e a torna ainda melhor.

Uma ótima maneira de começar a usar o GPIO Zero é pegar um projeto iniciante, como o Musical Door Sensor, e portá-lo para a nova biblioteca.

Compartilhado Compartilhado Tweet O email 5 dicas para turbinar suas máquinas Linux VirtualBox

Cansado do fraco desempenho oferecido pelas máquinas virtuais? Aqui está o que você deve fazer para aumentar o desempenho do VirtualBox.

Leia a seguir
Tópicos relacionados
  • faça você mesmo
  • Programação
  • Raspberry Pi
  • Pitão
  • GPIO
Sobre o autor Ian Buckley(216 artigos publicados)

Ian Buckley é jornalista freelance, músico, performer e produtor de vídeo que mora em Berlim, Alemanha. Quando não está escrevendo ou no palco, ele está mexendo em eletrônicos ou códigos DIY na esperança de se tornar um cientista maluco.

Mais de Ian Buckley

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever