0 Compartilhamentos 1060 Views 1 Comments

Raspberry Pi, construa aplicações para seu cotidiano

Os avanços tecnológicos habilitaram novas plataformas para desenvolvimento de produtos de software e hardware. Projetistas podem optar em desenvolver softwares para computadores de mesa (Desktop), celulares e Smartphones e equipamentos de monitoração (microcontroladores). É possível encontrar outras plataformas inferiores mas que também são consideradas pequenos computadores.

Ao desenvolver um software, necessitamos que ele seja portável para outras plataformas e rode nos mais diversos dispositivos independente de suas diferenças de hardware. Como exemplo as aplicações Android, existem centenas de celulares com utilizam o sistema operacional Android e todos eles podem possuir hardwares diferentes, no entanto, o desenvolvedor apenas especifica a partir de qual sistema operacional deve operar e se possui alguma restrição de periférico de hardware (bússola, GPS, etc). No caso de aplicações que rodam em sistemas operacionais diferentes, como exemplo Android e iOS, os códigos e as abstrações do hardware são diferentes, neste caso há necessidade de desenvolver para ambas plataformas e utilizar as linguagens especificas de cada uma. Quanto mais portável for seu código melhor.

Neste artigo, o foco principal é o Raspberry Pi, considerado o menor computador do mundo, possui o tamanho de um cartão de crédito, conexões USB para conectar o teclado e mouse utilizado em computadores de mesa, você pode conectá-lo a TVs com saída RCA ou HDMI. O melhor disso tudo é o baixo custo.

A fundação RASPBERRY PI FOUNDATION desenvolveu este computador com o intuito de capacitar pessoas de todas as idades a explorar a computação e aprender a programar em linguagens como Python e Scratch. Você pode fazer tudo que faria em seu computador de mesa, acessar a internet, abrir arquivos de texto e planilhas, tocar vídeos de alta definição e rodar alguns jogos.

As vantagens não param por ai, você pode interagir com o mundo externo utilizando chaves (Switch), realizar atuações emitindo sons ou luz (led), realizar monitoramento com câmeras RGB ou câmeras infravermelho.

O sistema operacional utilizado pelo Raspberry Pi é uma distribuição Linux baseado na versão Debian, muitas bibliotecas estão disponíveis o que aumenta seu poder de desenvolvimento. Ao desenvolver aplicações com a linguagem C/C++, ela é facilmente portável para qualquer distribuição Linux e com um pouco mais de esforço gera-se uma distribuição para plataforma Windows.

Os pinos disponíveis para programação contém entradas digitais e saídas digitais (GPIOs), este é o ponto fraco do Raspberry Pi pois em algumas aplicações são utilizados sensores analógicos. Para suprir esta necessidade são encontrados módulos que fornecem conversores AD que são facilmente conectados a seu hardware e habilitam o trabalho com sensores analógicos.

Para prover comunicação entre computadores é possível conectá-lo em rede utilizando o padrão Ethernet, ou através de um dongle Wi-fi ou realizar comunicação serial que utiliza a porta serial (UART).

Para programá-lo devemos optar por uma linguagem suportada, entre elas estão C/C++, Ruby, Perl, Python, Scratch, Java. Shell script, Lazarus e/ou Basic.

Agora que já conhecemos boa parte das características deste pequeno e poderoso computador, vamos deixar esta experiência um pouco mais excitante apresentando um código escrito em linguagem C que utiliza a biblioteca wiringPi.

O exemplo seguinte apresenta como configurar a porta GPIO 22 como saída e a porta GPIO 17 como entrada. É necessário um diodo emissor de luz, uma chave (Switch) e 2 resistores de 330 Ohms. A montagem é simples e deve seguir a figura 1.

raspberry-pi-montagem-de-led

O código gerado tem como objetivo monitorar a chave, o led deve alternar entre aceso e apagado em cada instante que a chave for pressionada. Segue abaixo o código gerado.

main.cpp

CMakeLists.txt

Para compilar o exemplo 1 você deve primeiro verificar as dependências de compilação declaradas no arquivo CMakeLists.txt, se concluído com sucesso realizar o processo de Linkage.

Para executar o exemplo 1 você precisa baixar e instalar a biblioteca wiringPi, é possível baixar e encontrar informações de instalação e configuração no site wiringPi, as aplicações geradas necessitam ser executadas como super-usuário (administrador).

Neste artigo foi apresentada uma solução simples, no entanto, com estes conceitos já é possível desenvolver aplicações mais avançadas. Entre as propostas que podem ser desenvolvidas estão ativação de luz em ambientes, ativação de bombas hidráulicas para irrigação, ativação de motores elétricos, monitoramento de presença em ambientes (sensores infravermelho digitais). Para construção de alguns destes projetos basta adicionar um relê de acordo com a tensão de trabalho do sistema.

É valido ressaltar que a capacidade do Raspberry Pi não está restrita apenas a este tipo de aplicação, ele conta com uma GPU poderosa, desta forma é possível processar imagens. Esta característica faz dele uma boa opção para aplicações que envolvam robótica e automação.

Ao considerar um sistema interativo é possível criar painéis montados com TVs para apresentar imagens de alta definição que demonstrem um produto ou apresente chamadas de promoções. Estas soluções podem ser encontradas em agências de comunicação e marketing de países europeus.

Para desenvolver algumas dessas aplicações você pode utilizar o banco de dados mySQL e suas bibliotecas de desenvolvimento, utilizar o framework QT para aplicações portáveis entre sistemas operacionais e apresentação de dados processados, é possível também utilizar outras bibliotecas e frameworks encontrados no ambiente Linux.

Carregando...

Você pode se interessar

Por que eu decidi não migrar para o Windows 11 agora
Artigos
113 visualizações
Artigos
113 visualizações

Por que eu decidi não migrar para o Windows 11 agora

Carlos L. A. da Silva - 19 de outubro de 2021

O novo sistema operacional da Microsoft está entre nós, mas talvez não seja uma boa ideia pular de cabeça.

Enumerando e analisando mais de 40 implementações de JavaScript (que não são V8)
Artigos
243 visualizações
Artigos
243 visualizações

Enumerando e analisando mais de 40 implementações de JavaScript (que não são V8)

Carlos L. A. da Silva - 6 de outubro de 2021

V8 é o interpretador JavaScript, também chamado de máquina virtual Javascript, desenvolvido pela Google e utilizado em seu navegador Google Chrome. Com o peso de seus criadores e a quase onipresença do navegador, foi apenas uma questão de tempo para essa implementação do JavaScritp se tornar dominante no mercado. Entretanto, um bom desenvolvedor sabe que […]

Sir Clive Sinclair, o homem adiantado no tempo
Artigos
425 visualizações
Artigos
425 visualizações

Sir Clive Sinclair, o homem adiantado no tempo

Carlos L. A. da Silva - 18 de setembro de 2021

O inglês Clive Marles Sinclair nasceu de uma família de engenheiros. Seu avô foi engenheiro, assim como o seu pai. Com um talento natural pela Matemática e um forte interesse em eletrônica, ele se tornaria uma página importante da popularização da computação em diversas partes do mundo, construindo um legado que se perpetuará por anos […]

One Response

Deixe um Comentário

Your email address will not be published.

Mais publicações

A cibersegurança por trás das vacinas
Artigos
525 visualizações
525 visualizações

A cibersegurança por trás das vacinas

Carlos L. A. da Silva - 7 de setembro de 2021
Top 25 comandos do Git
Artigos
665 visualizações
665 visualizações

Top 25 comandos do Git

Carlos L. A. da Silva - 28 de agosto de 2021
Dez anos de Kotlin: origens e futuro
Artigos
719 visualizações
719 visualizações

Dez anos de Kotlin: origens e futuro

Carlos L. A. da Silva - 20 de agosto de 2021