Image for post
Image for post
Rodrigo Fontes | Phygital Analyst

Automação Phygital: um overview sobre a arquitetura e plataformas

A diferenciação física que aplicações phygitais (physical and digital) oferecem se traduz para a realidade por meio de sensores e atuadores instalados nos ambientes, que por sua vez, são controlados por sistemas embarcados. Esses sistemas são amplamente utilizados em todo universo computacional tornaram-se os componentes primários de sistemas phygitais, nos quais se priorizam interações com o mínimo de atrito possível com os usuários.

Segundo Carro e Wagner, o projeto de um sistema embarcado inicia-se com a abstração do que será construído, baseado na funcionalidade que se quer alcançar, sem considerar materiais ou recursos. O projeto se inicia com uma especificação funcional, e deve-se atentar para que a essa seja executável, para fins de validação. Em seguida, deve ser feita uma exploração do espaço de projeto arquitetural, a fim de que se encontre uma arquitetura compatível com a especificação inicial e atenda aos requisitos do projeto em termos de custo, desempenho, consumo de potência, área etc.

O resultado final dessa etapa é uma macroarquitetura, que já deve mencionar quais tipos de processadores ou microcontroladores serão utilizados, além de outros componentes necessários (memórias, interfaces, sensores, atuadores, blocos dedicados de hardware), e as interconexões feitas por meio de uma infraestrutura de comunicação (um ou mais barramentos).

Um mapeamento estabelece o particionamento necessário de funções entre hardware e software. A existência de estimadores é fundamental para que uma exploração das melhores opções a serem usadas seja feita, informando com precisão os valores de métricas do projeto. Esta etapa é usualmente simplificada pela escolha prévia de uma plataforma arquitetural conhecida e adequada ao domínio da aplicação.

Para Ferreira (1998) os softwares dos sistemas embarcados são executados em microcontroladores, pois eles possuem flexibilidade para satisfazer aplicações com requisitos muito variados, diversos tipos de E/S (entrada e saída), periféricos de comunicação incorporados, entre outros, usando um número mínimo de componentes adicionais.

Apesar de serem computadores pequenos, são completos, pois cada microcontrolador possui um processador, memória e capacidade de E/S. A capacidade de entrada e saída inclui: detectar o pressionamento de botões e interruptores de um aparelho, e com isso controlar luzes, monitores, sons e motores. Outro fato é que quase todos os microcontroladores funcionam em tempo real, ou seja, provém uma resposta imediata ao estímulo que lhe foi dado, o que torna seu uso imprescindível em aplicações com tal exigência. Além do mais, os sistemas embutidos muitas vezes têm limitações físicas relativas a tamanho, peso e consumo de energia, mas os microcontroladores utilizados nesses casos podem ser projetados, tendo essas restrições atendidas.

Os microcontroladores tornaram-se uma das melhores relações custo/benefício em se tratando de soluções que demandam processamento, baixo custo de hardware e limitação de espaço físico, e podem ser encontrados em algumas plataformas de prototipagem que se popularizaram nos últimos anos, essas são ideais para testar ideias e até mesmo implementação comercial, por possuírem programação mais acessível que as linguagens de baixo nível (usadas mais comumente em microcontroladores e com alto nível de complexidade).

Plataformas phygitais

Entre as plataformas, pode-se citar Arduino, caracterizada como hardware open source, possuindo suporte de ampla comunidade e programação baseada em C++, e Raspberry Pi, que trata-se de um computador completo de baixo custo, possuindo um microprocessador no lugar do microcontrolador, geralmente presentes neste tipo de placa, memória e entrada e saída, e mesmo sendo do tamanho de um cartão de crédito, pode ser conectada a um monitor, teclado e mouse normalmente, e fazer tudo o que se espera de um desktop comum.

Arduino

Desenvolvida como uma ferramenta de prototipagem para propósitos educacionais, a Arduino surge em 2005, composta de uma placa de circuito embutida de um microcontrolador programável, e dispondo de pinos de entrada e saída para conectar-se a dispositivos, tais como motores, atuadores e sensores, podendo ser usada para a criação de inúmeros projetos eletrônicos.

Desde que começaram, as placas Arduino foram sendo construídas em diversas versões, cada uma delas voltadas a aplicações específicas. As placas também passaram por diversas atualizações e upgrades e, hoje em dia, os modelos mais modernos de algumas versões são: Arduino Uno, Arduino MEGA, Arduino MKR1000 etc.

Cada modelo possui alguma característica que se destaca, a Arduino MEGA, por exemplo, é uma das placas mais robustas, baseada no microcontrolador ATmega1280, tem 54 pinos digitais de entrada/saída (dos quais 14 podem ser usados como saídas PWM), 16 entradas analógicas, 4 UARTs (portas seriais de hardware), um cristal oscilador de 16 MHz, uma conexão USB, entrada para fonte de energia, um cabeçalho ICSP, e um botão de reset.

A Arduino MKR1000 possui módulo Wi-Fi embutido, e é baseada no microcontrolador Atmel ATSAMW25 SoC (System on Chip), que é parte da família SmartConnect de dispositivos Atmel sem fio, projetado especificamente para projetos e dispositivos de Internet das Coisas. Essa placa ainda conta com poder computacional de 32 bits e um rico conjunto de interfaces de E/S, de baixa potência Wi-Fi com um Cryptochip para comunicação segura.

Ao longo do surgimento da placa de programação Arduino, também surgiram as Shields, placas flexíveis para o controle de sensorização e atuação no ambiente. Elas podem ser conectadas às Arduino ou empilhadas entre si, para estender suas capacidades de conexões. Shields geralmente possuem alguma função específica, como controlar redes sem fio, sensores de temperatura, controladores de motores, receptor de GPS, displays, entre outras.

Image for post
Image for post
Tipos de Arduino: (a) Arduino Uno, (b) Arduino BT, © Arduino Serial, (d) Arduino Single-Sided Serial, (e) Arduino Mega, (f) Arduino Lilypad e (g) Arduino MKR1000.

Raspberry Pi

Raspberry Pi, assim como Arduino, é uma plataforma flexível e educacional, porém, vem pré-carregada com interpretadores e compiladores de diferentes linguagens de programação, das quais pode-se citar Scratch, C, Ruby, Java e Python. Os programas podem ser escritos usando alguma dessas linguagens, e podem ser executados sem a necessidade de um sistema operacional, inclusive um sistema operacional inteiro pode ser escrito do início e executado na plataforma.

A placa também tem a capacidade de interagir com o mundo exterior, por meio de sensores, atuadores, luzes e motores, podendo ser usado como controlador de vários projetos, fazendo com que estes tenham uma capacidade além daqueles desenvolvidos em outras placas de prototipagem. É possível, por exemplo, se construir um termostato de uma maneira mais simples usando uma placa Arduino, porém, com a Raspberry Pi, o termostato poderia permitir acesso remoto e download do histórico de temperaturas.

A maior diferença entre os modelos de Raspberry Pi disponíveis no mercado são preço e recursos, que atendem diferentes perfis de aplicação. Dentre as versões suportadas oficialmente pela Raspberry Pi Foundation pode-se citar:

i. Raspberry Pi Zero: modelo mais simples e barato, criado para custar 5 dólares. Possui um processador single-core de 1 GHz e memória RAM de 1 GB. Possui ainda uma saída microHDMI com capacidade para transmitir vídeo a 1080p e 60 quadros por segundo. As limitações dessa versão são causadas pelo seu próprio tamanho: há apenas uma porta microUSB, mas também dispõe de slot para cartão microSD e saída de som.

ii. Raspberry Pi 3 Model B: terceira geração do modelo B (modelo dedicado a aplicações robustas) aumenta a performance do processador para 1.2 GHz, e é capaz de trabalhar com arquitetura de 64 bits, com uma memória RAM de 1 GB. Inclui interfaces sem fio de diversos tipos, como Bluetooth e Wi-Fi, desobrigando o usuário a ligar periféricos com essas funcionalidades. É ideal para quem está interessado em projetos que dependam de hardware mais capacitado, ou que deseje investir em um modelo que terá um ciclo mais prolongado.

Image for post
Image for post
Tipos de Raspberry Pi: (a) Raspberry Pi 1 Model B+, (b) Raspberry Pi 1 Model A+, © Raspberry Pi Zero, (d) Raspberry Pi 2 Model B e (e) Raspberry Pi 3 Model B.

Uma vez que conhecemos placas de prototipagem e suas especificações o que devemos fazer com elas? A everis desenvolveu sua própria arquitetura de prototipagem, uma estrutura ideal para receber aplicações de sensoriamento e atuação em ambientes, capaz de tornando real o conceito phygital, em outras palavras um mapa phygital (everis Phygital Map, especificação de alto-nível do ambiente cujo um exemplo genérico pode ser visualizado na figura a seguir).

Image for post
Image for post
Mapa phygital genérico (modelo real é de propriedade reservada). Os números representam possíveis alocações para 1 — sensor de presença/movimento, localizado na entrada no ambiente; 2 — totem para recepção; 3 — câmera; 4 — Luz; 5 — gateway/roteador; 6 — interface tangível; 7 — Tag para realidade aumentada; 8 — Monitor. As linhas em cinza representam um fluxo aleatório a ser seguido por um usuário, e as azuis uma visão do alcance de eficiência de reconhecimento facial das câmeras.

O contato com clientes resultará no refinamento do mapa inicial, baseando-se nas aplicações que farão parte das jornadas definidas pelo cliente, o marco a seguir será o Client Phygital Map. Deve-se considerar também a integração de diversos protocolos de comunicação e bases de conhecimento, disponível no ativo everis Phygital Architecture For Real Time Analytics, capaz de unir machine learning e analytics aos dados coletados pelas aplicações. O resultado da junção dessas arquiteturas é um projeto de implementação Phygital, mostrado na figura seguir:

Image for post
Image for post

Referências:

CARRO, L.; WAGNER, F. R. Sistemas computacionais embarcados. Jornadas de atualização em informática. Campinas: UNICAMP, 2003.

FERREIRA, J. M. M. Introdução ao projecto com sistemas digitais e microcontroladores. [S.l.]: FEUP Edições, 1998.

TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de computadores. 6. ed. [S.l.]: PEARSON, 2013

MARTINS, N.A.; Sistemas Embarcados — Novatec Editora, São Paulo, 2005.

RAMOS, J. et al. Iniciativa para robótica pedagógica aberta e de baixo custo para inclusão social e digital no brasil. Simpósio Brasileiro de Automação Inteligente (SBAI), 2007.

https://www.raspberrypi.org/.

https://www.arduino.cc/

EVANS, M.; NOBLE, J.; HOCHENBAUM, J. Arduino em ação. [S.l.]: Novatec Editora, 2013.

https://www.techtudo.com.br/listas/noticia/2016/03/raspberry-pi-conheca-os-modelos-e-saiba-qual-o-mais-indicado-para-voce.html

Written by

Exponential intelligence for exponential companies

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store