O documento descreve um grande Instituto de Pesquisa no Brasil com mais de 20 anos de experiência em pesquisa e desenvolvimento de alta tecnologia. O Instituto possui equipes capacitadas trabalhando em projetos com empresas de tecnologia em áreas como software, hardware, IA e IoT.
Boas práticas de programação com Object Calisthenics
Webinar: Desvendando as camadas de IoT
1.
2.
3. Quem somos
Um dos maiores Institutos de Pesquisa do país, com mais de 20 anos de
comprometimento com pesquisa, desenvolvimento, serviço e treinamento de
nível mundial. Está situado em berços tecnológicos em Campinas e Porto
Alegre, e em polos de negócios em Brasília e Manaus.
Contamos com uma equipe altamente capacitada e ágil, com conhecimento em desenvolvimento de
inovações de alta complexidade e valor agregado, com domínio em tecnologias disruptivas nas áreas
de software, hardware, microeletrônica, ensaios e testes, design, Cloud, IA/ML, visão
computacional. Estamos sempre atuando em projetos e parcerias com empresas mundiais de
tecnologia e com as melhores e maiores universidades do país, difundindo uma cultura de excelência e
uma constante inspiração pelo novo.
Cientista da Computação
Doutorado em Ciência da Computação
pela Unicamp. Trabalha como analista
de software nas áreas de ciência /
engenharia de dados e IoT no Instituto
de Pesquisas Eldorado.
MAN
CPS
BSB
POA
Consultor tecnológico
Formado em Engenharia Elétrica pela
UNESP. Trabalha como consultor
tecnológico nas áreas de IoT, Android
embarcado, e sistemas embarcados em
geral, no Instituto Eldorado.
4. Arquitetura simplificada de IoT
Arquitetura simplificada de uma solução IoT. Fonte: adaptado de [Hanes, 2017]
5. Características de uma solução IoT
Multidisciplinar: conhecimentos desde o desenvolvimento de hardware até desenvolvimento de soluções
em cloud;
Abrangente: utilizar uma grande combinação de tecnologias;
Dinâmica: tecnologias são constantemente atualizadas e novos dispositivos são adicionados;
Poderosa: alto potencial de trazer bases e fundamentos para grandes decisões em operações comerciais
e industriais.
7. Sistemas embarcados
Dispositivo eletrônico, consistindo de hardware e software, capaz de exercer funcionalidades muito bem
definidas e não mutáveis ao longo do uso
Pode ou não ser alimentado exclusivamente com baterias;
NÃO pode ser modificado a todo momento para executar uma nova funcionalidade.
8. Hardware embarcado
Os microcontroladores são pequenos computadores
completos encapsulados em um só chip
São programáveis, servem para:
Ler entradas de um sistema embarcado;
Processar estes dados;
Gerar saídas;
9. Protocolos da Camada Física
Em IoT, os microcontroladores geralmente possuem as seguintes funcionalidades:
Leitura de sensores (entradas) e demais periféricos pertinentes (memórias, displays, etc.)
Processamento das leituras (e tratamento das mesmas, se necessário)
Gerenciamento do envio dos dados gerados para a camada de comunicação e controle de atuadores
Sensores
Protocolos
De camada física
Memórias
Displays
}
10. Protocolos da Camada Física
I2
C
SPI
UART
Maior
velocidade
Menor
velocidade
Menor
velocidade
12. Software embarcado
Software desenvolvido para ser executado em um dispositivo eletrônico (e.g., microcontrolador), com
funcionalidades muito bem definidas e não mutáveis ao longo do uso
Normalmente é desenvolvido em linguagens de programação com nível de abstração mais baixo (e.g., C)
Ótimo desempenho
Aproveitar muito bem recursos computacionais
Baixo consumo energético
Baixa necessidade de manutenção
Vantagens
13. Software embarcado
Exemplos É embarcado?
Software para ser executado em um Arduino
Software para ser executado em um microcontrolador ARM Cortex Mx
Aplicativo para um smartphone ou tablet
Software para rodar em qualquer computador com
Windows ou Linux
14. Sistemas operacionais embarcados
Aumenta a confiabilidade geral de software
Aumenta a segurança geral, por compartilhar de uma base de software sólida, testada e depurada.
Facilita o desenvolvimento, em que o desenvolvedor se preocupa, na maior parte do tempo, com
aplicações e tarefas somente
Kernel
Aplicações / tarefas
SO embarcado
18. Edge Computing
Análise de dados usando técnicas de IA rodando nos próprios dispositivos embarcados
Redução da quantidade de dados sendo transferida para o servidor/cloud
Eliminação da latência entre o envio, alocação de recursos na cloud, e retorno do resultado
Análise e resposta imediata às falhas do próprio dispositivo
Vantagens
Dispositivos Edge possuem capacidade computacional limitada
Acesso somente aos dados dos sensores e periféricos conectados ao dispositivo
Desvantagens
22. Protocolos LPWAN
LPWAN: Low Power Wide Area Network
Dispositivo com transceiver LPWAN Serviços / sistemas Cloud
Gateway LPWAN
(LPWAN <-> Internet)
Distância:
alguns km
Internet
23. Protocolos LPWAN
Longo alcance
Poucos gateways garantem uma boa cobertura
Na maioria das vezes, baixo custo de
implementação.
Facilidade de integração de um novo dispositivo
na rede
A camada de segurança é bem consolidada
Baixo consumo energético
Possibilidade de ter uma rede privada LPWAN
(no caso de LoRaWAN)
Payload trafegado deve ser pequeno
Velocidade de tráfego tipicamente baixa
(ordem de grandeza: bits por segundo)
O uso profissional, exigindo uma certificação
por parte da administradora da LPWAN
Encarece o valor de desenvolvimento.
PRÓS CONS
26. Conectividade móvel
4G e 5G
Tarifação por dispositivo conectado
Alto consumo energético
Transmite um grande volume de dados
Baixa latência para transmissão (comparando com outras tecnologias wireless)
Grande disponibilidade em ambientes urbanos
5G: tráfego massivo de dados com menor latência
Vantagens
Desvantagens
28. Fog Computing
Gateway mais próximo possível dos dispositivos Edge com capacidade de processamento,
armazenamento e interface de comunicação com os demais dispositivos
Redução da quantidade de dados sendo transferida para o servidor/cloud
Controle distribuído aos dispositivos edge, permitindo o monitoramento, controle e análise mais direta
aos dispositivos em tempo real
Análise e resposta mais imediata às falhas dos dispositivos conectados
Vantagens
Gateways geralmente possuem capacidade computacional menor do que a cloud
Acesso somente aos dados dos dispositivos conectados ao gateway
Desvantagem
30. Plataformas de Software IoT
Oferece funcionalidades genéricas, comuns entre
as diversas soluções IoT
Capacidade de customização das tecnologias
oferecidas
Buscam abranger o máximo de camadas possíveis
Foco em gerenciamento e automatização de
soluções IoT
33. Cloud computing e storage
Conjunto de ferramentas para receber informações dos dispositivos Edge, armazenar e processar
Geralmente não é usada para processar os dados dos dispositivos Edge para tomada de decisões em
tempo real
Principais
requisitos
Velocidade para processar e analisar dados provenientes
de dispositivos com diferentes taxas de captura
Capacidade de armazenar e processar dados de diferentes tipos
Capacidade para receber, processar e armazenar uma quantidade
massiva de dados
35. Data Analytics
Análises profundas de uma quantidade
extremamente grande de dados heterogêneos
Geralmente as análises não são em tempo real
Não envolvem tomada de decisões a nível de
dispositivo
37. Protocolos de aplicação
HTTP
MQTT
MQTT TLS/SSL
HTTPS
Mensagens
curtas e pontuais
Recomendados
para atualização de
firmware OTA
Comunicação segura
Garantem Integridade dos dados
Garantem a identidade e confiabilidade
da origem dos dados
Segue o modelo de cliente estabelecer conexão com o servidor. É
bastante popular, mas não é o ideal para cenários de recursos
limitados como em soluções IoT
Protocolo leve, mais aconselhado para soluções IoT. Modelo
publisher/subscriber, em que o servidor age como message broker