Linux embarcado, hacking e projetos DIY

2,452 views
2,299 views

Published on

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?

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,452
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
144
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Linux embarcado, hacking e projetos DIY

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. Embedded Labworks SISTEMA EMBARCADO ✗ Um sistema embarcado é um computador dedicado!
  5. 5. 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.
  6. 6. 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).
  7. 7. 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).
  8. 8. 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!
  9. 9. Embedded Labworks UM NOVO MUNDO O que as pessoas tem feito com um computador na mão, hardware aberto e software livre?
  10. 10. 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.
  11. 11. Embedded Labworks IRON MAN COSTUME (cont.)
  12. 12. Embedded Labworks IRON MAN COSTUME (cont.) Angstrom
  13. 13. 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
  14. 14. 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.
  15. 15. 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.
  16. 16. 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.
  17. 17. 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.
  18. 18. Embedded Labworks BEAGLEBONE CAPES ✗ As Beaglebones são expansíveis! http://beagleboardtoys.com/products.html Sensores de temperatura, pressão, etc Câmera WiFi e Bluetooth Display com touchscreen
  19. 19. 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.
  20. 20. Embedded Labworks ARDUINO ($15 a $80)
  21. 21. 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.
  22. 22. Embedded Labworks NINJA BLOCKS (cont.)
  23. 23. Embedded Labworks NINJA BLOCKS (cont.)
  24. 24. 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.
  25. 25. 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!
  26. 26. 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.
  27. 27. Embedded Labworks DIY WEARABLE COMPUTER
  28. 28. 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.
  29. 29. Embedded Labworks DIY WEARABLE COMPUTER (cont.)
  30. 30. 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.
  31. 31. 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).
  32. 32. Embedded Labworks SKY DRONE FPV (cont.)
  33. 33. Embedded Labworks SKY DRONE FPV (cont.)
  34. 34. 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.
  35. 35. 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.
  36. 36. 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.
  37. 37. 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.
  38. 38. 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.
  39. 39. 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.
  40. 40. 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.
  41. 41. Embedded Labworks RASPBERRY PI MICROWAVE (cont.)
  42. 42. 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.
  43. 43. Embedded Labworks RASPBERRY PI JOLT (cont.)
  44. 44. 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.
  45. 45. 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.
  46. 46. Embedded Labworks PARALLELLA (cont.)
  47. 47. 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!
  48. 48. 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.
  49. 49. Embedded Labworks EMULADOR DE ATARI (cont.)
  50. 50. 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/ ✗
  51. 51. 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/
  52. 52. 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!
  53. 53. Embedded Labworks PERGUNTAS?
  54. 54. Embedded Labworks DESAFIO “Qual o segredo da vida, do universo e de tudo mais?”
  55. 55. 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.com Website http://e-labworks.com

×