Como piscar um LED utilizando BananaPi e Python via SSH
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] - Fritz

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! ✌