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

Mar 15, 2025 - 20:44
 0
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

  1. Etapas do Desenvolvimento
  2. Requisitos
  3. Sobre a BananaPi - BPI-M2 Zero
  4. Identificação de Pinos Disponíveis - GPIO
  5. Ligação de Circuito Elétrico
  6. Código em Python - Blink.py
  7. Conexão via SSH
  8. Vídeo Demonstrativo
  9. 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

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

Foto em bancada - Circuito elétrico na protoboard

Software Fritzing - 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

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

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

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

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

Ficou alguma dúvida ou tem sugestões?
Comente aqui embaixo ou me chame em alguma das minhas redes.
Valeu! ✌