Apresentação feita para o I INSIDE FabappUni9 na Universidade Uninove Campus Memorial sobre uso de Linux embarcado para construção de um gateway de IoT.
Utilização de Python-Flask para construção de uma interface web para monitoramento de recursos de hardware de um dispositivo baseado no módulo Toradex Colibri iMX7 com processador Dual-Core ARM Cortex A7 1.0Ghz.
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
1. Desenvolvimento em
Linux Embarcado para
Dispositivos IoT
Fernando Luiz Cola
Emc Logic – fernando.cola@emc-logic.com
I – Inside Fábrica de Aplicativos – Uninove
Campus Memorial
18/11/2017
2. Sobre o palestrante
• Engenheiro Eletrônico – USP São Carlos
• 5 anos de atuação profissional em sistemas embarcados com foco em dispositivos com Linux
Embarcado
• 2 anos como Engenheiro de Aplicações da Toradex Brazil - Grande conhecimento da
indústria e realidade das equipes de desenvolvimento. Visita a mais de 300 empresas em
todo Brasil
• Proprietário da Emc Logic onde atua como desenvolvimento e consultoria em software e
tecnologias open source para sistemas embarcados
https://www.emc-logic.com/
http://blog.emc-logic.com/
3. O que define um sistema embarcado?
• Firmware
• Software
• Sistema Operacional
• Hardware
• Eletrônica
• Informática
O que é um sistema embarcado?
5. O que é um sistema embarcado?
Interfaces muito comuns em sistemas embarcados
• I2C
• RS-232
• GPIO
• Jtag
Qual software ?
6. O que é um sistema embarcado?
https://adrenaline.uol.com.br/2011/10/18/9512/sandforce-
conserta-problema-de-firmware-em-ssds-sf-2200/
7. O que é um sistema
embarcado?
Um sistema embarcado é um sistema
computacional que inclui hardware e
software dedicados para uma aplicação
especifica.
8. Dicas de Material para Estudo de
Sistemas Embarcados
• https://www.embarcados.com.br/estrategias-de-desenvolvimento-chipset/
• https://www.embarcados.com.br/estrategias-de-desenvolvimento-
arquitetura-modular/
• https://www.embarcados.com.br/estrategias-de-desenvolvimento-
arquitetura-de-prateleira/
https://sergioprado.org/
http://cleitonbueno.com/
14. Linux
• > 20 Milhões de Linha de código
• C e Assembly
• Projeto maduro - 26 anos
• Licença GPLv2
• Apoiado por diversas empresas e
corporações – Intel, ARM, NXP,
AMD, IBM e etc
• Suporte a diversas Arquiteturas:
x86, PowerPC, ARM e etc
21. Customização Distribuição Linux
• Distribuição Personalizada com Yocto Project
• Baseada no recipe core-image-base
• Adicionado pacotes de software para Psdash
• python-psutil,python-flask
• https://github.com/ferlzc/psdash.git
22. Customização Distribuição Linux
• Gerenciamento de pacotes, software e
licenças
• Otimização para hardware
• Personalização
• Controle das versões e direção do
projeto
• Toolchain e SDKs
• Genérico e não otimizado
• Não há gerenciamento dos
softwares e licenças utilizadas
• Dependências externas
Distribuição Pronta vs Distribuição Personalizada