0 Compartilhamentos 333 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.

Você pode se interessar

Promoções de Jogos do Final de Semana (24/01)
Notícias
10 visualizações
Notícias
10 visualizações

Promoções de Jogos do Final de Semana (24/01)

Carlos L. A. da Silva - 24 de janeiro de 2020

Confira as melhores ofertas de jogos de PC para o final de semana.

Como criar uma janela modal sem JavaScript
Dicas
20 visualizações
Dicas
20 visualizações

Como criar uma janela modal sem JavaScript

Carlos L. A. da Silva - 23 de janeiro de 2020

Basta usar CSS e ID da âncora para conseguir o mesmo resultado! Não acredita? Nós te ensinamos.

50 anos de Unix e o Y2K38
Artigos
14 visualizações
Artigos
14 visualizações

50 anos de Unix e o Y2K38

Carlos L. A. da Silva - 21 de janeiro de 2020

Sistema operacional completou meio século em outubro passado, mas primeiro de janeiro de 2020 marcou uma data muito importante.

Mais publicações

Promoções de Jogos do Final de Semana (17/01)
Notícias
17 visualizações
17 visualizações

Promoções de Jogos do Final de Semana (17/01)

Carlos L. A. da Silva - 17 de janeiro de 2020
Dez habilidades essenciais para desenvolvedores em 2020
Artigos
20 visualizações
20 visualizações

Dez habilidades essenciais para desenvolvedores em 2020

Carlos L. A. da Silva - 16 de janeiro de 2020
Promoções de Jogos do Final de Semana (10/01)
Notícias
25 visualizações
25 visualizações

Promoções de Jogos do Final de Semana (10/01)

Carlos L. A. da Silva - 10 de janeiro de 2020
A IA do Google derrubou o câncer de mama? Não exatamente
Artigos
26 visualizações
26 visualizações

A IA do Google derrubou o câncer de mama? Não exatamente

Carlos L. A. da Silva - 10 de janeiro de 2020