Agregando valor em sistemas de informação com o uso de Linux embarcado – Embarcados – Sua fonte de informações sobre Sistemas Embarcados
Este artigo tem o objetivo de apresentar algumas ideias no que se refere ao emprego conjunto de sistemas embarcados e tecnologia da informação (TI). É baseado em uma apresentação que eu dei na última edição da LinuxCon realizada no Brasil, em 2011. O título da minha palestra foi "Soluções de TI usando eletrônica".
Aprenda mais sobre Linux Embarcado e Yocto Project com os vídeos das palestras do "Seminário Linux Embarcado 2015"
Atualmente existe uma importante tendência no mundo dos sistemas embarcados denominada "internet das coisas" (IoF – Internet of Things). Trata-se de um termo bem abrangente, porém passa como mensagem principal a integração entre o mundo físico e o mundo digital [1]. Neste contexto, diversos importantes players da indústria eletrônica já estão trabalhando para oferecer soluções em todos os níveis de um projeto de sistema embarcado [2] [3]. Acredito que esta oportunidade existe pelo fato de se tratar de uma nova quebra de paradigma em um novo mercado que está nascendo, não regulamentado e grande (para não dizer enorme). Neste cenário, as empresas que conseguem emplacar primeiro suas soluções ganham mercado e crescem rapidamente.
Em minha apresentação, eu não me referi exatamente à internet das coisas. A motivação dela era dizer ao público presente (essencialmente profissionais de TI especialistas em Linux) que através da utilização de sistemas embarcados em seus projetos, seria possível tornar um projeto de TI mais preciso e eficiente.
E como seria mais eficiente? Assume-se que um projeto de TI tem por meta principal automatizar processos e fluxo de informações, de forma que elas possam ser observadas, analisadas, filtradas com facilidade e, com isso, tornar mais simples a tomada de decisão das pessoas que ditam o rumo das empresas. Neste cenário, o sistema embarcado entra como uma ferramenta no auxílio da captura dos dados e envio deles de forma automatizada para o sistema de gestão (ERP). De forma análoga ao ERP, que tem por objetivo automatizar a transferência das informações entre os diversos departamentos de uma empresa, o sistema embarcado automatiza a captura de dados presentes em objetos, no ambiente e em máquinas e, assim, aumenta a eficiência, reduzindo custos e erros.
Um exemplo de aplicação deste conceito é o smart grid, conforme a figura abaixo.
Pode ser que até um tempo atrás essas afirmações pareciam, de ser forma, 'utopia'. Porém, atualmente soluções que executam estas funções são acessíveis, tanto do ponto de vista financeiro quanto do ponto de vista técnico. Do ponto de vista financeiro, hoje é notável até fora do ambiente das comunidades de entusiastas dos sistemas embarcados o sucesso de hardware aberto como Arduino e BeagleBone. Talvez o primeiro resultado de destaque seja a impressora 3D caseira, controlada por Arduino. Estas placas, bem como as impressoras, são de baixíssimo custo, se comparados a sistemas vendidos atualmente. São acessíveis até mesmo em países que tornam o acesso a eletrônica mais difícil, como o Brasil (a carga tributária sobre importação de componentes eletrônicos em nosso país é bem alta, uma das mais pesadas do mundo). Com aproximadamente R$ 250,00 ou até menos é possível ter um sistema embarcado para projetos hoje em dia. Já do ponto de vista técnico, a grande vantagem é que a grande parte desses equipamentos eletrônicos roda Linux!
Isso mesmo! Linux! Nos termos das comunidades de sistemas embarcados, o termo mais conhecido é Linux embarcado. Mas, para desenvolvedores de software de projeto de sistemas de informação, criar software em pequenos computadores como BeagleBone e Raspberry Pi, pouco ou nada muda com relação ao desenvolvimento em estações de trabalho. Inclusive as novas tecnologias de software (como node.js, HTML5) também se encontram disponíveis em sistemas embarcados.
O emprego do Linux em um sistema embarcado reduz um dos principais problemas deste tipo de solução: integração. Em um cenário diferente, com sistemas eletrônicos dedicados, os computadores precisavam de placas específicas para se comunicar com sistemas embarcados. Estas placas realizavam condicionamento de sinais, filtragem, pré-processamento antes de enviar os dados para a CPU. Atualmente a comunicação entre um sistema embarcado e uma estação de trabalho é realizado por meio de rede ethernet, onde a maior parte do tratamento do sinal é realizado diretamente no equipamento eletrônico. E, com a rede ethernet, é possível utilizar as novas tecnologias, como JSON, gSOAP, WebServices, entre outros. A figura abaixo mostra um gateway RF/IP executando Linux embarcado.
Em minha apresentação, eu apresentei como exemplo uma solução fictícia, onde músicos em casa poderiam formar uma banda com todos tocando de suas casas. Um sistema web associado a um hardware local realizaria a intercomunicação entre eles bem como o bom tratamento do áudio para a composição da música. Porém, hoje é possível observar aplicações que já começam a utilizar estes conceitos dentro dos mais variados setores, como automação industrial, logística, ambiente hospitalar, energia elétrica. Em alguns deles já existem padrões de intercomunicação entre os diversos componentes de uma solução. Mesmo nestes casos, ainda existem oportunidades interessantes em novas integrações e serviços.
Concluindo, a mensagem que eu pretendo passar através deste artigo é: a integração entre sistemas embarcados e sistemas de informação é um fenômeno real, está em andamento e deve ser aproveitado. Tanto engenheiros de sistemas embarcados quanto analistas de sistemas devem passar a considerar esse conjunto de informações em seus projetos de soluções. O resultado será o surgimento de soluções cada vez mais inovadoras e a melhoria na qualidade de vida dos usuários destes sistemas.