Propaganda

O Raspberry Pi é o computador perfeito para aprender. O sistema operacional Raspbian, baseado no Linux, possui o Python embutido, o que o torna um ótimo primeiro sistema para codificadores iniciantes. Seus pinos de uso geral de entrada / saída (GPIO) facilitam aos fabricantes iniciantes a experimentação de projetos eletrônicos de bricolage.

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

O que é o 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 simplifica 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 os iniciantes entenderem. Até usuários experientes do RPi. A biblioteca GPIO pode preferir isso - e para entender o porquê, vamos dar uma olhada em como o RPi. O GPIO se compara ao GPIO Zero.

instagram viewer

O que há de errado com o RPi. GPIO?

Nada. Nada mesmo. RPi. O GPIO foi lançado no início de 2012 pelo desenvolvedor Ben Croston. É uma biblioteca robusta que permite aos usuários controlar pinos GPIO a partir do código. Possui em quase todo projeto iniciante Os 11 melhores projetos de Raspberry Pi para iniciantesEsses projetos do Raspberry Pi para iniciantes são ótimos para começar com os recursos de qualquer modelo do Raspberry Pi. consulte Mais informação nós cobrimos.

Apesar de seu uso extensivo, RPi. O GPIO nunca foi projetado para usuários finais. É uma prova de RPi. O bom design do GPIO que muitos iniciantes usam, no entanto.

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

Quando você é aprendendo código Python, você aprende que deve ser fácil de ler e o mais curto possível. O GPIO Zero visa cobrir os dois pontos. Construído sobre o RPi. GPIO como um invólucro de idioma front-end, simplifica a instalação e o uso do GPIO.

Considere o seguinte exemplo, configurando e acendendo um LED:

Código para configurar e LED para Saída usando o RPi. Biblioteca GPIO

O código acima deve ser bastante familiar para quem tem usaram o Pi para controlar os LEDs.

O RPi. A biblioteca GPIO é importada e um pino para o LED é declarado. O tipo de layout dos pinos é configurado (os modos BCM e BOARD são explicado em nosso guia GPIO Tudo o que você precisa saber sobre os pinos do Raspberry Pi GPIOO Raspberry Pi é um pequeno e fantástico computador, mas o que os pinos GPIO (General Purpose Input / Output) fazem exatamente? Em resumo, eles abrem um mundo inteiro de ajustes e invenções eletrônicas de bricolage. consulte Mais informação ) 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:

Configurando um LED com GPIO Zero

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

Por que a abordagem do GPIO Zero é melhor?

Existem algumas razões pelas quais esse método de trabalho é uma melhoria no RPi. GPIO.

Em primeiro lugar, atende ao requisito "fácil de ler, o mais curto possível". Enquanto o RPi. As instruções de configuração do GPIO são fáceis de entender, não são necessárias. Um LED sempre será uma saída; portanto, o GPIO Zero configura os pinos nos bastidores. O resultado são apenas três linhas de código para configurar e acenda um LED.

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

"A numeração da placa pode parecer mais simples, mas eu diria que isso 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 um pouco mais 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 objetivo dos pinos pode ser perigosa. ”

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

O GPIO Zero é realmente melhor?

Embora pareça mais direto na superfície, a nova biblioteca tem algum problema? Como em qualquer nova biblioteca de códigos, é uma questão de opinião. Por um lado, a remoção do código de configuração é excelente para iniciantes e programadores experientes. Escrever código é mais direto e mais 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:

Código de exemplo do botão zero GPIO

o botão O módulo simplifica a configuração dos botões. Ele sabe que botões são entradas, portanto, usa o número do pino declarado para configuração. Também é mais fácil verificar se o botão é pressionado. .is_pressed para detectar pressionamentos de botão.

Usamos essa funcionalidade exata no Tutorial do botão Raspberry Pi 2 maneiras de adicionar um botão ao seu projeto Raspberry PiComo você conecta um botão ao seu Raspberry Pi? Aqui estão duas maneiras de começar, demonstradas usando Python e um LED. consulte Mais informação , que é uma ótima maneira de se familiarizar com as diferenças nas bibliotecas.

Usuários do RPi. A biblioteca GPIO notará que os resistores internos de pull / down do Pi não estão configurados no código. Isso levanta uma questão interessante. É essencial que os iniciantes conheçam os resistores pull-up / down? Novamente, Ben Nuttall tem uma resposta para esta pergunta:

"Você pode argumentar que é bom saber sobre flexões e flexões, e você está certo - mas por que eu tenho que ensinar isso no primeiro dia? [...] Se você quer ensinar a eletrônica com mais profundidade, há muito espaço para isso - mas não deve ser obrigatório se você está apenas começando começado."

No geral, a abordagem simples do GPIO Zero é provavelmente uma coisa boa para iniciantes e veteranos. Além disso, RPi. O GPIO não vai a lugar nenhum. Ele 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 Fiação Pi você cobriu.

Como alternativa, se você já programa em JavaScript, o Node.js pode ser facilmente instalado no Pi. O acesso ao 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 o melhor maneira de aprender Rails!

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

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

Introdução ao GPIO Zero você mesmo

O GPIO Zero é a mais nova biblioteca para impressionar o Pi e por boas razões. Para a maioria dos usuários, torna a codificação dos pinos GPIO mais simples de ler e mais rápida de escrever.

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

Uma ótima maneira de começar o GPIO Zero é fazer um projeto iniciante como o Sensor de porta musical Toque sua própria música tema ao entrar na sala com o Raspberry PiVocê já quis chegar em casa para uma recepção pessoal? Neste projeto simples do Raspberry Pi, usaremos um interruptor de palheta para acionar uma música quando uma porta for aberta. consulte Mais informação e portá-lo para a nova biblioteca.

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