linux embarcado, hacking e projetos diy

Post on 11-Jun-2015

1.923 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra apresentada no 8o. SoLiSC em 21 de setembro de 2013. RESUMO O mundo passa por uma revolução de hacks e projetos DIY. Muitos destes projetos são baseados em Linux embarcado em placas de baixíssimo custo como a Beaglebone Black e a Raspberry Pi. Adicione a isso ingredientes como hardware aberto e a cultura do software livre. Robôs, central de mídia, drones, impressoras 3D, supercomputadores? Do que você é capaz?

TRANSCRIPT

Embedded Labworks

Por Sergio Prado. São Paulo, Agosto de 2013® Copyright Embedded Labworks 2004-2013. All rights reserved.

Linux embarcado, hacking e projetos DIY

Embedded Labworks

SOBRE ESTE DOCUMENTO

✗ Este documento é disponibilizado sob a Licença Creative Commons BY-SA 3.0.http://creativecommons.org/licenses/by-sa/3.0/legalcode

✗ Os fontes deste documento estão disponíveis em:http://sergioprado.org/palestras/solisc2013

Embedded Labworks

SOBRE O PALESTRANTE

✗ Sergio Prado tem mais de 17 anos de experiência em desenvolvimento de software para sistemas embarcados, em diversas arquiteturas de CPU (ARM, PPC, MIPS, x86, 68K), atuando em projetos com Linux embarcado e sistemas operacionais de tempo real.

✗ É sócio da Embedded Labworks, onde atua com consultoria, treinamento e desenvolvimento de software para sistemas embarcados:http://e-labworks.com

✗ Mantém um blog pessoal sobre Linux e sistemas embarcados em:http://sergioprado.org

Embedded Labworks

SISTEMA EMBARCADO

✗ Um sistema embarcado é um computador dedicado!

Embedded Labworks

LINUX EMBARCADO

✗ Linux é o kernel!http://www.kernel.org

✗ As distribuições Linux (Ubuntu, Fedora, Debian, Slackware, etc) integram o kernel Linux, bibliotecas e aplicações, tendo como resultado um sistema operacional GNU/Linux.

✗ Linux embarcado é o uso do kernel Linux e de diversos outros componentes open-source em sistemas embarcados.

Embedded Labworks

HACKING, HACK E HACKER

✗ Hacking é o ato de modificar ou inventar algo (hack) para resolver problemas ou realizar funcionalidades diferentes das originais.

✗ Hacker é a pessoa, hacking é o processo e hack é o resultado!

✗ O termo hacker esta associado (às vezes de forma pejorativa) à diferentes comunidades e subculturas (segurança da informação, programação, hardware, biologia, arte, etc).

Embedded Labworks

DIY E MAKER

✗ DIY (Do it yourself) é o método de construir, modificar ou consertar algo sem a ajuda de profissionais. Ou seja, faça você mesmo!

✗ Existem projetos DIY em todas as áreas, música, artes, culinária, tecnologia, artesanato, etc.

✗ A cultura maker é uma extensão da cultura DIY, com foco em tecnologia (eletrônica, robótica, impressão 3D, etc).

Embedded Labworks

(R)EVOLUÇÃO

✗ Computador + Internet = inovação, expansão da cultura DIY.

✗ Hardware = aberto, barato, acessível, hackeável!

✗ Linux e software livre = facilitador, a caminho da dominação mundial!

Embedded Labworks

UM NOVO MUNDO

O que as pessoas tem feito com um computador na mão, hardware aberto e

software livre?

Embedded Labworks

IRON MAN COSTUME

✗ Fantasia do Iron Man feita para uma festa de Halloween!http://www.instructables.com/id/Iron-Man-Suit-with-Tech/

✗ O que faz?✗ Luz do ARC Reactor e auto-falante instalados no peito da fantasia.

✗ Repulsor de ar com uma bomba de CO2.

✗ Lançador de mísseis de papel usando a mesma bomba de CO2.

✗ Sensor magnético faz a luz da mão acender e o efeito fade in/fade out nas luzes dos olhos.

Embedded Labworks

IRON MAN COSTUME (cont.)

Embedded Labworks

IRON MAN COSTUME (cont.)

Angstrom

Embedded Labworks

BEAGLEBOARD.ORG

✗ A BeagleBoard.org Foundation é uma organização não lucrativa fundada por engenheiros da Texas Instruments com o objetivo de promover o uso de plataformas de hardware e software aberto.http://beagleboard.org/

✗ Possui 4 diferentes plataformas de hardware 100% abertas:✗ Beagleboard

✗ Beagleboard-xM

✗ Beaglebone

✗ Beaglebone Black

Embedded Labworks

BEAGLEBOARD ($125)

✗ ARM Cortex-A8 720MHz (OMAP3530 da TI).

✗ 256M de RAM.

✗ 256M de Flash e entrada para cartão SD/MMC.

✗ Áudio e vídeo DVI e S-Video.

✗ USB, serial, JTAG, GPIO, PWM, MMC, I2C, etc.

Embedded Labworks

BEAGLEBOARD-XM ($149)

✗ ARM Cortex A8 1GHz (DM3730 da TI).

✗ 512M de RAM.

✗ Entrada para cartão SD/MMC.

✗ Áudio e vídeo DVI e S-Video.

✗ USB, Ethernet, serial, JTAG, GPIO, PWM, MMC, I2C, etc.

Embedded Labworks

BEAGLEBONE ($89)

✗ ARM Cortex A8 720MHz (AM335x da TI).

✗ 256M de RAM.

✗ Entrada para cartão SD/MMC.

✗ USB, Ethernet, serial, JTAG, GPIO, PWM, MMC, I2C, etc.

Embedded Labworks

BEAGLEBONE BLACK ($45)

✗ ARM Cortex A8 1GHz (AM335x da TI).

✗ 512MB de RAM.

✗ Armazenamento interno de 2GB (eMMC) e entrada para cartão SD/MMC.

✗ Áudio e vídeo HDMI (720p).

✗ USB, Ethernet, serial, JTAG, GPIO, PWM, MMC, I2C, etc.

Embedded Labworks

BEAGLEBONE CAPES

✗ As Beaglebones são expansíveis!http://beagleboardtoys.com/products.html

Sensores de temperatura, pressão, etc

CâmeraWiFi e Bluetooth

Display com touchscreen

Embedded Labworks

ARDUINO

✗ Plataforma de computação projetada para facilitar a interface com o mundo físico (luzes, sensores, motores, etc).http://arduino.cc/

✗ É composto por um conjunto de componentes, incluindo uma placa Arduino, IDE multiplataforma e muitas bibliotecas disponíveis.

✗ Vantagens: custo acessível, multiplataforma, ambiente de programação simples, hardware e software 100% open-source.

✗ Baseada em microcontroladores da Atmel, com diversos modelos de placa existentes (Uno, Due, Leonardo, etc).

✗ As características técnicas dependem da placa: CPU entre 8MHz a 64MHz, RAM de 1KB a 96KB e flash de 16KB a 512KB.

Embedded Labworks

ARDUINO ($15 a $80)

Embedded Labworks

NINJA BLOCKS

✗ Dispositivo para conectar sensores e atuadores à Internet!http://ninjablocks.com/

✗ O que faz?✗ Permite acessar remotamente qualquer sensor (temperatura,

umidade, movimento, porta aberta, etc) ou atuador (desligar e ligar equipamentos, controlar luminosidade, etc).

✗ API e framework de aplicações para acessar os Ninja Blocks.

✗ Aplicação web otimizada para mobile para acessar os Ninja Blocks.

Embedded Labworks

NINJA BLOCKS (cont.)

Embedded Labworks

NINJA BLOCKS (cont.)

Embedded Labworks

NINJA BLOCKS (cont.)

✗ Beaglebone: rodando Ubuntu Oneiric 11.10, com as aplicações escritas em Node.js.

✗ Cape: através do Arduino, provê acesso aos sensores e atuadores (USB ou RF), e fornece uma interface WiFi para comunicação com a Internet.

Embedded Labworks

REPRAP

✗ O RepRap é um projeto de uma máquina de prototipação rápida, também chamada de impressora 3D.http://reprap.org/

✗ O que faz?✗ Permite impressão de qualquer objeto modelado de forma

tridimensional.

✗ Cultura de compartilhamento de modelos na Internet.

✗ Custo acessível: qualquer pessoa pode ter uma fábrica em casa!

Embedded Labworks

Replicape 3D printer

✗ Cape para a Beaglebone, 100% open-source, com software escrito em python.http://beagleboard.org/project/Replicape/

✗ Controla até 5 motores de passo.

✗ Possui 9 entradas analógicas.

✗ Sensor de temperatura.

Embedded Labworks

DIY WEARABLE COMPUTER

Embedded Labworks

DIY WEARABLE COMPUTER (cont.)

✗ Você conectado à um computador, 24 horas por dia!http://www.martinmagni.com/blog/2010/07/shoulder-strap-wearable-computer.html

✗ O que faz?✗ Um computador vestível conectado à Internet.

✗ Um pequeno display.

✗ Teclado wireless.

✗ Conectado à Internet.

Embedded Labworks

DIY WEARABLE COMPUTER (cont.)

Embedded Labworks

DIY WEARABLE COMPUTER (cont.)

✗ A Beagleboard rodando Angstrom é o computador principal, conectada aos seguintes componentes:

✗ Mini display retirado de um óculos Myvu na saída S-Video.

✗ Hub USB.

✗ Dongle Bluetooth para conexão com teclado wireless e com o iPhone para tethering.

✗ 4 baterias AA para até 3 horas contínuas de uso.

Embedded Labworks

SKY DRONE FPV

✗ Projeto de um DRONE (veículo aéreo não tripulado) com visão em primeira pessoa em alta definição!http://www.indiegogo.com/projects/sky-drone-fpv

✗ O que faz?✗ Veículo aéreo não tripulado comandado remotamente.

✗ Transmissão de vídeos em 1080p (3G/4G).

✗ Baixo-custo, grande alcance e baixa latência!

✗ Câmera 5 Megapixels.

✗ Encriptação AES-256.

✗ Aplicação roda em vários dispositivos mobile (Android, iPhone, etc).

Embedded Labworks

SKY DRONE FPV (cont.)

Embedded Labworks

SKY DRONE FPV (cont.)

Embedded Labworks

SKY DRONE FPV

✗ Beaglebone Black rodando Linux.

✗ Modem 4G conectado à USB.

✗ Câmera de 5MP conectado à USB.

✗ Dispositivo de telemetria, incluindo um receptor GPS, conectado à Beaglebone Black via interfaces de I/O.

Embedded Labworks

H2O IQ

✗ Sistema de irrigação automática de jardim.http://blog.valkyriesavage.com/blog/2013/01/18/h2o-iq/

✗ O que faz?✗ Monitora o solo e avisa quando o nível de umidade estiver muito

baixo (solo muito seco).

✗ Capaz de acionar o dispositivo de irrigação caso o dono esteja de férias ou não possa iniciar o processo de irrigação manualmente.

✗ O controle pode ser realizado através de uma aplicação móvel.

Embedded Labworks

H2O IQ (cont.)

✗ O dispositivo de monitoramento possui:✗ Painel solar no topo.

✗ Servo motor para controlar o sistema de irrigação.

✗ Módulo Xbee para se comunicar com a Raspberry Pi.

✗ Sensor de umidade.

✗ A Raspberry Pi se comunica com o dispositivo via Xbee e roda um webserver disponibilizando uma interface de acesso ao sistema para o usuário.

Embedded Labworks

RASPBERRY PI

✗ Ideia de alguns amigos do Laboratório de Computação da Universidade de Cambridge para criar um computador barato para ser usado como ferramenta de ensino.

✗ Em 2008 foi criada a Raspberry Pi Foundation para transformar este projeto em realidade.http://www.raspberrypi.org/

✗ Em 2011 foi lançada a primeira revisão da placa.

Embedded Labworks

RASPBERRY PI (35$)

✗ ARM11 720MHz (BCM2835 da Broadcom).

✗ 512M de RAM.

✗ Entrada para cartão SD/MMC.

✗ Áudio e vídeo HDMI (capaz de rodar vídeos à 1080p).

✗ USB, Ethernet, UART, GPIO, SPI, I2C, I2S e JTAG.

Embedded Labworks

DISTRIBUIÇÕES RPi

✗ Além da Raspbian, várias outras distribuições estão disponíveis para a Raspberry Pi.

✗ Pela capacidade da GPU (Graphics Processing Unit), é muito fácil transformar a Raspberry Pi em uma central de media com distribuições como a Raspbmc ou a OpenELEC.

Embedded Labworks

RASPBERRY PI MICROWAVE

✗ Um micro-ondas turbinado!http://madebynathan.com/2013/07/10/raspberry-pi-powered-microwave/

✗ O que faz?✗ Controlado por voz.

✗ Pode usar o código de barras do produto para procurar por instruções de preparo.

✗ Pode ser controlado via web.

✗ Relógio atualizado pela Internet.

Embedded Labworks

RASPBERRY PI MICROWAVE (cont.)

Embedded Labworks

RASPBERRY PI JOLT

✗ Um robô atirador de dardos de espuma!http://jordanbalagot.com/blog/2013/02/26/raspberry-jolt-my-mini-nerf-gun-robot

✗ O que faz?✗ Robô com uma câmera e uma mini arma NERF.

✗ Controlado remotamente por outro smartphone via WiFi.

✗ Recebe comandos para atirar dardos de espuma nas pessoas.

✗ Capacidade de gravar vídeos.

Embedded Labworks

RASPBERRY PI JOLT (cont.)

Embedded Labworks

RASPBERRY PI R2D2

✗ Dando vida ao R2D2!http://hackaday.com/2013/03/23/hacked-interactive-r2d2-controlled-by-raspberry-pi/

✗ O que faz?✗ Todo controlado por uma Raspberry Pi.

✗ Reconhecimento facial (biblioteca OpenCV).

✗ Comandos de voz (engine PocketSphinx).

✗ Grava e reproduz áudio.

✗ Sensores de ultrasom e movimento.

✗ Conexão Wifi.

Embedded Labworks

PARALLELLA ($99)

✗ Projeto com o objetivo de facilitar o acesso à computação paralela através de hardware aberto e custo acessível.http://www.parallella.org/

✗ Duas versões de placas, uma com 18 núcleos e outra com 66 núcleos!

✗ A versão de 66 núcleos pode chegar a 90 GFLOPS com um consumo de apenas 5W! Para se ter uma idéia, um chip Intel Core i7-930 chega à aproximadamente 60 GFLOPS.

Embedded Labworks

PARALLELLA (cont.)

Embedded Labworks

Mini2440 ($70)

✗ Kit de desenvolvimento "chinês" de ótimo custo/benefício, desenvolvido pela FriendlyARM.http://www.friendlyarm.net/

✗ ARM9 de 400MHz da Samsung (S3C2440A), com 64M de RAM é até 1G de flash.

✗ Diversas interfaces de comunicação como UART, USB e Ethernet.

✗ Sua grande vantagem é que já vem com um display!

Embedded Labworks

EMULADOR DE ATARI

✗ Emulador de Atari em um display de 3,5”!http://sergioprado.org/mini2440-emulando-atari-com-linux-embarcado/

✗ O que faz?✗ Emula qualquer jogo do Atari (emulador Stella).

✗ Distribuição construída com o Buildroot.

✗ Vídeo no display LCD de 3,5” e áudio no conector P2.

✗ Lê jogos do cartão SD.

✗ Suporta controles USB.

Embedded Labworks

EMULADOR DE ATARI (cont.)

Embedded Labworks

OUTRAS PLATAFORMAS

✗ Cubieboard:http://cubieboard.org/

✗ Wandboard:http://www.wandboard.org/

✗ Odroid-X2:http://www.hardkernel.com/

✗ CuBox-i:http://cubox-i.com/

Embedded Labworks

OUTRAS PLATAFORMAS (cont.)

✗ A13-OLinuXino:https://www.olimex.com

✗ PandaBoard:http://pandaboard.org/

✗ Hackberry:https://www.miniand.com

✗ UDOO:http://www.udoo.org/

Embedded Labworks

CONCLUSÃO

✗ Ferramentas? Você em uma fábrica em mãos!

✗ Cada vez mais, software e hardware são commodities, livres e acessíveis à qualquer um.

✗ O que tem valor hoje são suas idéias!

✗ O caminho? Contribuir, criar, compartilhar!

Embedded Labworks

PERGUNTAS?

Embedded Labworks

DESAFIO

“Qual o segredo da vida, do universo e de tudo mais?”

Embedded Labworks

Por Sergio Prado. São Paulo, Agosto de 2013® Copyright Embedded Labworks 2004-2013. All rights reserved.

OBRIGADO!

E-mail sergio.prado@e-labworks.comWebsite http://e-labworks.com

top related