This content originally appeared on DEV Community and was authored by Henrique Matheus Alves Pereira
Introdução
Este artigo irá demonstrar como fazer um LED piscar, utilizando o microcomputador BananaPi e um script em Python, via SSH.
Sumário
- Etapas do Desenvolvimento
- Requisitos
- Sobre a BananaPi - BPI-M2 Zero
- Identificação de Pinos Disponíveis - GPIO
- Ligação de Circuito Elétrico
- Código em Python - Blink.py
- Conexão via SSH
- Vídeo Demonstrativo
- Referências
01. Etapas do Desenvolvimento
01. Identificar o pino de GPIO disponível para uso na BananaPi
02. Realizar a ligação do circuito elétrico
03. Desenvolver o código
04. Enviar o arquivo de código para a BananaPi
05. Executar o arquivo de código
02. Requisitos
- Configuração de conexão via SSH realizada na BananaPi
- Versão do Python 3.10 instalado na BananaPi
03. Sobre a BananaPi - BPI-M2 Zero
A BananaPi M2 Zero é um computador de placa única ultracompacto que mede apenas 60 mm x 30 mm. Ela usa um processador quad-core Cortex A7 allwinner H2+, com 512 MB de memória RAM. É ideal para sistemas leves com alguns aplicativos com espaço limitado. Como outros dispositivos da BananaPi, ele suporta os sistemas operacionais Linux e Android. [1]
Principais características
- CPU Quad Core ARM Cortex A7 H2+
- 512 MB de SDRAM.
- WiFi (AP6212) e Bluetooth integrados.
- Mini-HDMI.
A BananaPi que estou utilizando possui a distribuição Debian GNU/Linux.
04. Identificação de Pinos Disponíveis - GPIO
BananaPi - Documentação Técnica - Esquema Elétrico - GPIOs [3]
Os pinos disponíveis para entrada ou saída são identificados como “IO-xx”.
Conforme recorte da documentação técnica mostrada acima, serão utilizados o pino físico 29 (GPIO 7) e o pino físico 6 (GND 3).
Utilizei o GPIO 7 porque os pinos GPIO 0 a GPIO 6 estão reservados para a UART.
GPIO = General Purpose Input/Output
05. Ligação de Circuito Elétrico
Foto em bancada - Circuito elétrico na protoboard
Software Fritzing - Circuito elétrico na protoboard [5]
O circuito elétrico mostrado na imagem acima, é composto dos seguintes itens:
- Fio Jumper Vermelho Macho-Fêmea
- Fio Jumper Marrom Macho-Fêmea
- Resistor 330 Ohms
- LED difuso 5mm Verde
Observação: A BananaPi foi inspirada no RaspberryPi Zero, por isso ambos tem formatos semelhantes. No software Fritzing, só existia o modelo do Raspberry.
06. Código em Python - Blink.py
Gist - Código em Python para fazer o led piscar a cada 3 segundos [4]
O código mostrado acima foi desenvolvido em Python para executar os comandos de Shell Script na BananaPi. Esses comandos vão gerenciar o pino de GPIO que alimenta o LED, conforme essas etapas:
- Exportação do pino físico: 29 (GPIO 7)
$ sudo echo 7 > /sys/class/gpio/export
- Definição de direção do pino: saída (out)
$ sudo echo out > /sys/class/gpio/gpio7/direction
- Definição do valor de nível lógico: alto (1)
$ sudo echo 1 > /sys/class/gpio/gpio7/value
- Definição do valor de nível lógico: baixo (0)
$ sudo echo 0 > /sys/class/gpio/gpio7/value
- Consultar a direção do pino:
$ sudo cat /sys/class/gpio/gpio7/direction
- Consultar o valor do pino:
$ sudo cat /sys/class/gpio/gpio7/value
Observação: Considerei utilizar o comando sudo em todas as etapas para garantir que teria permissões de nível de administrador para gerenciar o pino do GPIO.
07. Conexão via SSH
Envio do arquivo Blink.py para a BananaPi
Para enviar o arquivo com o código em Python, basta utilizar o comando abaixo:
$ scp /Users/henriqueotogami/bananapi/blink.py pi@bananapi-zero.local:
A senha será requerida e, após ser inserida, o arquivo será enviado.
Envio com sucesso do arquivo Blink.py
Observação: o envio do arquivo deve ser feito antes do acesso a BananaPi via SSH. Se o login já tiver sido feito, será necessário realizar o logout para enviar o arquivo e o login logo em seguida.
Acesso a BananaPi
Para realizar o acesso remotamente da BananaPi, envie o seguinte comando:
$ ssh pi@bananapi-zero.local
A senha de login da BananaPi será requerida e, após ser inserida, o login será iniciado.
Login e senha na BananaPi via SSH
Para confirmar que o arquivo Blink.py está na BananaPi, após o login, envie o comando:
$ ls
Consulta da existência do arquivo Blink.py na BananaPi após o login via SSH
Execução do código via terminal
Para que o arquivo com o script em Python seja executado, utilize o seguinte comando:
$ python3 blink.py
Executando o arquivo com o script em Python no terminal
08. Vídeo demonstrativo
Apenas para demonstrar a execução do código e dos logs no terminal que foram descritos acima, segue vídeo abaixo apenas demonstrando o led piscando.
09. Referências
- [1] - BananaPi - Introdução
- [2] - BananaPi - Documentação
- [3] - BananaPi - Esquema Elétrico
- [4] - Gist - Blink.py - Script em Python
- [5] - Fritzing - Circuito Elétrico
Ficou alguma dúvida ou tem sugestões?
Comente aqui embaixo ou me chame em alguma das minhas redes.
Valeu!
Muito obrigado!
This content originally appeared on DEV Community and was authored by Henrique Matheus Alves Pereira