Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Raspberry Pi - OSHWCon 2012

D0d62e96926cd2a798ee588350330ded?s=47 Julio Galarón
September 21, 2012

Raspberry Pi - OSHWCon 2012

Introducción a la plataforma Raspberry Pi

D0d62e96926cd2a798ee588350330ded?s=128

Julio Galarón

September 21, 2012
Tweet

More Decks by Julio Galarón

Other Decks in Technology

Transcript

  1. Raspberry Pi Julio Galarón Touriño @jgalaron

  2. Historia

  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. Conector para Reset Corrección de la serigrafía: OK->ACT(actividad) 10M ->100(100Megas)

    Solucionado el problema con HDMI CEC relacionado con D14 Solucionado el problema de sobrecalentamiento relacionado con SMSC 1V8 Made in UK Agujeros de montaje Nuevo conector P5: 4 GPIO,+5V0, +3v3 y 2 GND Se han eliminado los fusibles F1 y F2 Nueva señal ARM_TMS, nuevo puerto i2c, se han recolocado varias señales
  12. V1 V2

  13. None
  14. Modelos y revisiones Modelo y Revisión Código(s) Modelo B Revisión

    1.0 2 Modelo B Revisión 1.0 + ECN0001 (Sin fusibles y D14 removido) 3 Modelo B Revisión 2.0 4,5,6 cat /proc/cpuinfo ... Hardware : BCM2708 Revision : 1000002 ..
  15. Model A Model B Target price: USD $25 (GBP £16)

    USD $35 (GBP £22) SoC Broadcom BCM2835 (CPU + GPU + DSP + SDRAM) Broadcom BCM2835 (CPU + GPU + DSP + SDRAM) CPU 700 MHz ARM1176JZF-S core (ARM11 family) 700 MHz ARM1176JZF-S core (ARM11 family) GPU Broadcom VideoCore IV, OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC high-profile decoder Broadcom VideoCore IV, OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC high-profile decoder Memory (SDRAM) 256 MB (shared with GPU) 256 MB (shared with GPU) USB 2.0 ports: 1 2 Video outputs: Composite RCA (PAL & NTSC), HDMI (rev 1.3 & 1.4), raw LCD Panels via DSI, 14 HDMI resolutions from 640×350 to 1920×1200 plus various PAL and NTSC standards. Composite RCA (PAL & NTSC), HDMI (rev 1.3 & 1.4), raw LCD Panels via DSI, 14 HDMI resolutions from 640×350 to 1920×1200 plus various PAL and NTSC standards. Audio outputs: 3.5 mm jack, HDMI 3.5 mm jack, HDMI Audio outputs: SD / MMC / SDIO card slot SD / MMC / SDIO card slot Onboard network: None 10/100 Ethernet Low-level peripherals: 8 x GPIO, UART, I²C bus, SPI bus with two chip selects, +3.3 V, +5 V, Ground 8 x GPIO, UART, I²C bus, SPI bus with two chip selects, +3.3 V, +5 V, Ground Power ratings: 500 mA (2.5 W) 700 mA (3.5 W) Power source: 5 volt via MicroUSB or GPIO header 5 volt via MicroUSB or GPIO header Size: 85.60 × 53.98 mm 85.60 × 53.98 mm Especificaciones
  16. None
  17. Información técnica (especificaciones, componentes, esquemáticos): http://elinux.org/RPi_Hardware Enlaces relacionados Prototipo AVR

    (2006): http://www.raspberrypi.org/archives/264 Made in UK: http://www.raspberrypi.org/archives/1925 Lista de cambios en modelo v2: http://www.raspberrypi.org/archives/1929 BBC Micro: http://es.wikipedia.org/wiki/BBC_Micro
  18. Listado de versiones/revisiones: http://elinux.org/RaspberryPi_Boards#Hardware_versions.2Frevisions Fotos placa modelo A: http://www.geek.com/articles/chips/raspberry-pi-model-a-makes-first-appearance- on-camera-2012076/

    Package on package (PoP): http://en.wikipedia.org/wiki/Package_on_package Raspberry Pi’s Secret: ‘Sell Out a Little to Sell a Lot’: http://www.wired.com/opinion/2012/09/raspberry-pi-insider-exclusive-sellout-to- sell-out/?pid=45&viewall=true Raspberry Pi – Why, What, How: http://www.cl.cam.ac.uk/~am21/slides/CAS12.pdf
  19. Modificaciones Placa versión 1

  20. Incremento de potencia en puertos USB Power Delivery Design Issues

    for Hi-Speed USB on Motherboards: http://www.usb.org/developers/whitepapers/power_delivery_motherboards.pdf C32 debe de reemplazarse por un valor entre 150 y 220 µF. Los fusibles rearmables F1, F2, deberían sustituirse por unos de 0,5A. Es recomendable sustituir F3 por valor comprendido entre 1,1 y 2A. Hilo de debate sobre el aumento de corriente en los puertos USB: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=8591 Estudio sobre incremento de potencia en los puertos USB de la Raspberry Pi: http://theiopage.blogspot.com.es/2012/06/increasing-raspberry-pis-usb-host.html
  21. None
  22. Diodo D14 y HDMI-CEC Dom Cobley: “D14 can interfere with

    some CEC devices if the Pi is left plugged in and unpowered. The benefits of having it are minimal so we suggested to RS/Farnel that it was removed.” Fuente: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=16365&p=167146
  23. Placas v1 Placas v2

  24. Sobrecalentamiento en LAN9512 Datasheet fabricante Esquemático Raspberry Pi

  25. None
  26. None
  27. Sobrecalentamiento en chip LAN9512 Estudio acerca del sobrecalentamiento del chip

    LAN9512: http://www.tooms.dk/?page=http%3A//www.tooms.dk/Tblog/Showblog1.asp %3FBlogID%3D201208292042561198 Hilo de debate: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=29&t=14489 DataSheet LAN9512/LAN9512i: http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf
  28. Overclocking Turbo mode: http://www.raspberrypi.org/archives/2008 Actualizar a Turbo mode en versiones

    de Raspbian anteriores a 2012-09-17: http://www.element14.com/community/groups/raspberry-pi/blog/2012/09/20/ upgrade-to-turbo-mode-without-reflashing?CMP=SOM-TW-News-RasPi Listado de flags para realizar overcloking: http://elinux.org/RPi_config.txt#Overclocking_options
  29. Carcasas

  30. None
  31. None
  32. None
  33. None
  34. None
  35. Enlaces relacionados Listado de carcasas: http://elinux.org/RPi_Cases Mod Game Boy: http://www.raspberrypi.org/phpBB3/viewtopic.php?t=15554&p=159942

  36. Primeros pasos

  37. Consideraciones previas Fuente de alimentación: 5V ≥ 0,7A , recomendable

    1A. Tarjeta SD: •Tamaño ≥ 2GB (aunque depende de la distribución que vaya a albergar). •Clase 4, si trabajamos con archivos ≤ 5MB. •Clase 10, si trabajamos con archivos >5MB. Nota: Dependiendo de la imagen del OS y del tamaño de la tarjeta SD, será necesario hacer un resize de la partición (gparted linux, rpi-config (expand_rootfs) en Raspbian,...) OS: Si no se sabe que distribución de Linux emplear, lo recomendable es usar la versión oficial de Debian para Raspberry Pi, Raspbian, o en su defecto utilizar Occidentalis, una versión derivada de Raspbian creada por Adafruit. Listado de distribuciones: http://elinux.org/RPi_Distributions
  38. Vídeo: La salida de vídeo compuesto viene configurada por defecto

    para sistema NTSC. Para habilitar la salida en formato PAL, se deberá añadir/modificar la siguiente opción en el fichero config.txt: sdtv_mode=2 Nota: En caso de no disponer de una pantalla, en general casi todas las distribuciones para Raspberry Pi traen habilitada una consola de depuración por puerto serie a 115200 bauds, pudiendo emplear para la conexión un adaptador USB a Serie o combinaciones más exóticas como Bluetooth a Serie o un dispositivo iOS conectado al puerto serie disponible en conector de 30 pines Opciones relacionadas con el vídeo en el fichero config.txt: http://elinux.org/RPi_config.txt#Video_mode_configuration Resolución de problemas relacionados con el vídeo: http://elinux.org/R-Pi_Troubleshooting#Display
  39. None
  40. None
  41. None
  42. Enlaces relacionados Setup básico: http://elinux.org/RPi_Hardware_Basic_Setup Guía para principiantes: http://elinux.org/RPi_Beginners Embedded

    Linux: http://elinux.org/R-Pi_Hub Gestor de distribuciones: http://mrpfister.com/journal/raspberry-pi-os-image-downloader/ Element14 community: http://www.element14.com/community/groups/raspberry-pi QuickStart guides: http://www.raspberrypi.org/quick-start-guide http://www.engadget.com/2012/09/04/raspberry-pi-getting-started-guide-how-to/ http://www.adrirobot.it/raspberry_pi/pdf/Raspberry_Pi_Start_Guide.pdf
  43. Proyectos: http://elinux.org/RPi_Projects Lista de periféricos cuyo funcionamiento ha sido verificado:

    http://elinux.org/RPi_VerifiedPeripherals Tutoriales: http://learn.adafruit.com/category/raspberry-pi http://www.youtube.com/user/RaspberryPiTutorials http://www.raspberrypi-spy.co.uk/ http://www.cl.cam.ac.uk/~rdm34/raspi/ Noticias sobre Raspberry: http://www.scoop.it/t/raspberry-pi Resolución de problemas: http://elinux.org/R-Pi_Troubleshooting http://raspberrypi.stackexchange.com/ http://www.raspberrypi.org/faqs Placas de expansión: http://elinux.org/RPi_Expansion_Boards
  44. Extras recomendados: Rpi-update (actualizar Kernel): https://github.com/Hexxeh/rpi-update Watchdog: http://pi.gadgetoid.co.uk/post/001-who-watches-the-watcher

  45. Documentación: C y C++: Python: C Primer Plus: http://www.amazon.es/Primer-Plus-5th-Edition-ebook/dp/B0050G2RA0/ ref=sr_1_4?ie=UTF8&qid=1348686882&sr=8-4

    Libros gratuitos sobre programación en Python: http://www.etnassoft.com/biblioteca/categoria/libros_programacion/ programacion_python/ C++ Primer Plus: http://www.amazon.es/Primer-Edition-Developers-Library-ebook/dp/ B005OR9MWQ/ref=sr_1_5?ie=UTF8&qid=1348686882&sr=8-5 Libros gratuitos programación en C: http://www.etnassoft.com/biblioteca/categoria/libros_programacion/c/ Libros gratuitos programación en C++: http://www.etnassoft.com/biblioteca/categoria/libros_programacion/c-plus-plus/
  46. Comandos linux: Sistemas Linux Empotrados: The Linux Command Line. A

    Complete Introduction: http://linuxcommand.org/tlcl.php Embedded Linux Primer: A Practical Real-World Approach (2nd Edition): http://www.amazon.es/Embedded-Linux-Primer-Real-World-ebook/dp/ B004AE3IA6/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1348686063&sr=1-1 Embedded Linux System Design and Development: http://www.amazon.es/Embedded-System-Design-Development-ebook/dp/ B000SEO9XM/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1348685987&sr=1-1 Building Embedded Linux Systems: http://www.amazon.es/Building-Embedded-Linux-Systems-Yaghmour/dp/ 0596529686
  47. Compilación cruzada y depuración cruzada: http://linuxtortures.blogspot.com.es/2012/06/cross-compiling-and-cross- debugging-c.html Emulación con QEMU:

    http://www.cnx-software.com/2011/10/18/raspberry-pi-emulator-in-ubuntu-with- qemu/
  48. Demos

  49. GPIO: Benchmarking de velocidad, influencia del lenguaje programación y librerías:

    http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/ Pinout: http://elinux.org/File:GPIOs.png Información detallada: http://elinux.org/Rpi_Low-level_peripherals Nota: La lógica que emplea la placa es de 3,3V@16mA (no tolera 5V), con un máximo de 51mA de consumo total entre todos los puertos. Cómo adaptar niveles de tensión (ejem: 3V3 ↔ 5V): http://www.maximintegrated.com/app-notes/index.mvp/id/3007 http://www.rocketnumbernine.com/2009/04/10/5v-33v-bidirectional-level-converter Understanding Outputs from the GPIO pins: http://www.thebox.myzen.co.uk/Raspberry/Understanding_Outputs.html
  50. UART: Deshabilitar depuración por puerto serie: sudo nano /boot/cmdline.txt Original:

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 $ Modificado: dwc_otg.lpm_enable=0 console=tty1 $ sudo nano /etc/inittab Original: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 Modificado: #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 reboot
  51. UART: Librerías: Pyserial (python): http://pyserial.sourceforge.net/ Recordatorio: cómo adaptar niveles de

    tensión (ejem: 3V3 ↔ 5V): http://www.maximintegrated.com/app-notes/index.mvp/id/3007 http://www.rocketnumbernine.com/2009/04/10/5v-33v-bidirectional-level-converter Ejemplo de RS-232 y MAX3232: http://codeandlife.com/2012/07/01/raspberry-pi-serial-console-with-max3232cpe/ WiringPi (C): https://projects.drogon.net/raspberry-pi/wiringpi/serial-library/
  52. SPI, I2C Habilitar soporte para I2C: http://www.skpang.co.uk/blog/archives/575 Nota: la distribución

    basada en Raspbian de Adafruit trae instalado todo lo necesario para trabajar con SPI, i2C y One Wire. http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/occidentalis-v0-dot-1 Habilitar soporte para SPI: http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html Recordatorio: cómo adaptar niveles de tensión (ejem: 3V3 ↔ 5V): http://www.maximintegrated.com/app-notes/index.mvp/id/3007 http://www.rocketnumbernine.com/2009/04/10/5v-33v-bidirectional-level-converter
  53. Instalar soporte para wifi: La última versión de Raspbian trae

    soporte “out of the box” para todos los módulos que estén soportados en la rama por defecto de linux. Instalar soporte bluetooth: apt-get install bluetooth bluez-utils blueman Problemas con Cambridge Silicon Radio: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=46&t=8754 Uso de la interfaz bluetooth en Debian: http://wiki.debian.org/BluetoothUser Wifi y Bluetooth: Listado de adaptadores wifi usb comprobados en Raspberry Pi: http://elinux.org/RPi_VerifiedPeripherals#USB_WiFi_Adapters Uso de la interfaz wifi en Debian: http://wiki.debian.org/WiFi/HowToUse#HowtouseaWiFiinterface
  54. Multimedia OpenELEC http://elinux.org/RPi_Distributions#OpenELEC Raspbmc: http://elinux.org/RPi_Distributions#Raspbmc Xbian: http://elinux.org/RPi_Distributions#Xbian Compra de licencias

    para MPEG-2 y VC1: http://www.raspberrypi.com/ Información sobre el soporte CEC y codecs MPEG,MPEG-2,VC1 y H.264: http://www.raspberrypi.org/archives/1839 Receptor de infrarrojos con TSOP 1836: http://druss.pp.ua/tag/raspbmc/ LIRC(Linux Infrared Remote Control): http://www.lirc.org/
  55. Entretenimiento: Multi-console gamepad driver for GPIO: http://www.raspberrypi.org/phpBB3/viewtopic.php?t=15787&p=165638 RetroArch: http://www.raspberrypilabs.com/retroarch-in-raspberry-pi-snes/ Quake

    3: http://www.memetic.org/quake-3-with-sound-for-the-raspberry-pi/ http://mitchtech.net/install-quake-3-on-raspberry-pi/ NES Controller: https://projects.drogon.net/nes-controller-on-the-raspberry-pi/ Super NES Controller: http://petrockblog.wordpress.com/2012/07/03/snesdev-rpi-a-snes-adapter-for-the- raspberry-pi/
  56. Wii Remote + Python: http://www.brianhensley.net/2012/08/wii-controller-raspberry-pi-python.html Wii Nunchuk: http://www.pimyride.co.uk/2012/08/12/wii-nunchuk-raspberry-pi-chukberry/

  57. Qt5: http://www.raspberrypi.org/archives/2076 Control de impresoras 3D: http://www.thingiverse.com/thing:27758 http://walter.schreppers.com/index.php?page=blogpost&pos=98 Sintetizador de

    audio: http://www.raspberrypi.org/archives/1878 Supercomputación: http://www.southampton.ac.uk/~sjc/raspberrypi/ Centralita Asterisk: http://www.raspberry-asterisk.org/ Otros ejemplos:
  58. Otras plataformas

  59. A13-OLINUXINO Open Hardware and Open Software

  60. None
  61. Especificaciones Price € 55 Processor A13 Cortex A8 processor at

    1GHz Memory 512 MB RAM GPU Mali400, OpenGL ES GPU Video Out VGA video output Audio Standard 3.5mm headphone jack and microphone jack LAN NO USB2.0 Host 3 + 1 USB Host, 3 available for users 1 for (optional) WIFI RTL8188CU SATA 1 port, and 5V power IO PORTs GPIO connector with 68/74, RTC PCF8536 on board Storage SD-card. (optional) 4GB NAND flash Power 5V 2W System Software Running Android, Ubuntu and other Linux distributions Size 120×90 mm
  62. Enlaces relacionados Página del fabricante: https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino-WIFI-DEV/ Olimex Blog: http://olimex.wordpress.com/

  63. ODROID-X

  64. None
  65. Especificaciones Price 129$ Processor Samsung Exynos4412 Cortex-A9 Quad Core 1.4Ghz

    with 1MB L2 cache Memory 1024MB(1GB) LP-DDR2 800Mega data rate GPU Supports 1080p via HDMI cable(H.264+AAC based MP4 container format) Video Out micro HDMI connector / RGB-24bit LCD interface port Audio Standard 3.5mm headphone jack and microphone jack HDMI SPDIF LAN 10/100Mbps Ethernet with RJ-45 Jack ( Auto-MDIX support) USB2.0 Host High speed standard A type connector x 6 ports USB2.0 Device System console monitoring for development (1.8volt interface) IO PORTs 50pin IO expansion port for LCD/I2C/UART/SPI/ADC/GPIO interfaces Display (Option) HDMI monitor / LCD panel with RGB or LVDS interface Storage (Option) Full size SDHC Card Slot eMMC module socket Camera (Option) MIPI-CAM connector (MIPI-CSI 2 lanes) Power (Option) 5V 2A Power System Software u-boot 2010.12, Kernel 3.0.15, Android4.0.x(ICS) Source code will be uploaded on download page after first shipment. Size 90 x 94 mm
  66. Enlaces relacionados Página del fabricante: http://www.hardkernel.com/renewal_2011/products/prdt_info.php? g_code=G133999328931# Samsung Exynos 4412

    (quad core) vs Nvidia Tegra 3 (quad core): http://www.grandmax.net/2012/02/samsung-exynos-4412-quad-core-vs-nvidia.html Benchmark ODROID-X VS PlayStation 3: http://openbenchmarking.org/result/1208231-AR-1208150AR20,1208220- TOGU-120815070:UGxheVN0YXRpb24zLVNUT0NL&compare
  67. CUBIEBOARD

  68. None
  69. Especificaciones Price 49$ Processor 1G ARM cortex-A8 processor, NEON, VFPv3,

    256KB L2 cache Memory 512M/1GB DDR3 @480MHz GPU Mali400, OpenGL ES GPU Video Out HDMI 1080p Output Audio Standard 3.5mm headphone jack and microphone jack HDMI SPDIF LAN 10/100M Ethernet USB2.0 Host 2 ports and USB OTG SATA 1 port, and 5V power IO PORTs 96 extend pin including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP.. Storage 14GB NAND Flash + uSD port Power 5V 2A Power System Software Running Android, Ubuntu and other Linux distributions Size 60 x 100 mm
  70. Enlaces relacionados Página del fabricante: http://cubieboard.org/ Cubiboard Wiki: http://cubieboard.org/

  71. Información extra List of 39 Low Cost Linux Friendly Boards

    and Products: http://www.cnx-software.com/2012/06/26/list-of-39-low-cost-linux-friendly-boards- and-products/?utm_source=rss&utm_medium=rss&utm_campaign=list-of-39-low- cost-linux-friendly-boards-and-products