miércoles, 12 de febrero de 2014

Emular Hardware con Qemu -RaspberryPi-

Emular la Raspberry-pi, o practicamente cualquier máquina. 
En Linux
--
Todos para uno y uno para todos


No se puede correr el Sistema Operativo de una Raspberry Pi en un pc x86 corriente y moliente utilizando una simple máquina virtual como pudiera ser VirtualBox o VMWare, ya que la arquitectura del procesador de la RP es ARM y las maquinas virtuales “normales” solo permiten ejecutar un S.O. diseñado para la misma clase de procesador que tiene nuestra maquina.

Para poder hacer esto vamos a servirnos de Qemu, un programa que permite emular directamente el Hardware de practicamente cualquier maquina.

Haré la explicación trabajando con Ubuntu, pero debería ser similar para cualquier otro sistem linux... con las típicas diferencias dependiendo de la distribución (yum en lugar de apt-get y demás).

Empecemos:

lunes, 20 de enero de 2014

Java Nº03 - Pseudocodigo 2: Estructuras Iterativas (¡Es lo mismo 8 que 80!)


TUTORIAL DE PROGRAMACIÓN
--

Buen intento...

Bueno, pues aquí estoy de vuelta. Tocan ahora las Estructuras Iterativas

¿Que qué es lo que hacen? Pues se dedican a repetir un pedazo de código hasta que se cumple alguna condición que hayamos indicado. Una de las grandes ventajas que ofrece la programación es que no es necesario que realicemos la misma tarea una y otra vez. Podemos hacer las cosas una única vez y luego ponemos el programa a repetirlo tantas veces como queramos... Como vemos en la imagen, lo mismo da 8 que 80 :)

En Java tenemos las siguientes; FOR, WHILE y DO ... WHILE, pero vamos a no adelantar acontecimientos. Seguimos en Pseudocódigo, de modo que por el momento trabajaremos con:

        - DESDE ... HASTA
        - MIENTRAS
        - REPETIR ... HASTA.

Analicemos cada orden por separado:

lunes, 6 de enero de 2014

Raspberry Pi Nº01 - Instalar el Sistema Operativo

TUTORIAL: RASPBERRY PI
-Nº01-


Uno de los motivos por los que la Raspberry Pi es tan barata es que no tiene Disco Duro. Todo el almacenamiento recae en una tarjeta SD como la de la imagen. Por supuesto, el Sistema Operativo también se encuentra ahí.
Para poder usar tu Raspberry Pi necesitaras un Sistema Operativo (SO). Un SO es un conjunto de utilidades y programas básicos que permiten que tu ordenador funcione; por ejemplo Windows en un PC o OSX en Mac.
Tienes la opción de comprar tarjetas SD con el SO previamente instalado si quieres. Se venden por unos pocos euros, pero si tienes a mano tarjetas SD de 2 GB o más no hay motivo por el que no puedas usarlas.

Lo primero que hay que hacer es elegir que SO queremos. Hay muchas opciones, pero por aquí te dejo las oficiales que se recogen en http://www.raspberrypi.org
Una vez hayas elegido cual quieres, solo tienes que descargarte la Imagen y estarás listo para el siguiente paso.

1) NOOBS (Instalación offline y en red)
ImagenNOOBS_v1_3_3.zip
TorrentNOOBS_v1_3_3.zip.torrent
SHA-1 Checksum8ec60a716bf37ec182240c8ccdb9c88ca073a524
Fecha de lanzamiento2013-12-24
Versión1.3.3
DocumentaciónLink
A prueba de novatos :)
Esta es la instalación que se recomienda para principiantes. Se trata de un surtido de varios SO, el paquete completo. Cuando inicies tu Raspberry Pi te preguntará cual quieres arrancar y te permitirá elegir otro más adelante si te apetece cambiar.

2)  Raspbian logo
Imagen2013-12-20-wheezy-raspbian.zip
Torrent2013-12-20-wheezy-raspbian.zip.torrent
SHA-1 Checksumade48c874f8e4b694175de4c87d7357960961fbf
Cuenta predeterminadaNombre: pi / Contraseña: raspberry
DescripciónEs un port de Debian Wheezy creado por la comunidad y optimizado para Raspberry Pi
Fecha de lanzamiento2013-12-20
Versiónwheezy
Kernel3.10
URLLink
Notas del lanzamientorelease_notes.txt
Es la principal distribución de Raspberry Pi. Lo mejor de ella es que sus creadores se molestaron en aprovechar una función que agiliza el cálculo en coma flotante del procesador de la RP que no todas las otras usan. Si lo que quieres es un pc ARM linux standard, Raspbian te permitirá sacarle todo el jugo a tu cacharro ;)

3) Arch logo
Imagenarchlinux-hf-2013-11-14.img.zip
Torrentarchlinux-hf-2013-11-14.img.zip.torrent
SHA-1 Checksuma6f43560fd57e7e4950711a83d4efbeae2d1915a
Cuenta predeterminadaUsuario: root / Contraseña: root
DescripciónSe trata de un port de Archlinux para dispositivos ARM
Fecha de lanzamiento2013-11-14
Versión2013-11-14
Kernel3.10
URLLink
Notas del lanzamientorelease_notes.txt
La gran alternativa a Raspbian. Arch, siendo un port de Archlinux a ARM, se caracteriza por ser una distribución muy ligera.

4) RaspBMC logo
Imagenraspbmc-2013-12-23.img.gz
Torrentraspbmc-2013-12-23.img.gz.torrent
SHA-1 Checksum0b10a520952ff1234a65fce39c31b2344d08073f
DescripciónCentro Multimedia XBMC para Raspberry Pi
Fecha del Lanzamiento2013-12-23
VersiónDecember 2013
Kernel3.10
URLLink
Notas del lanzamientorelease_notes.txt
Si lo que quieres hacer con tu Raspberry es conectarla a la tele y usarla como centro multimedia para ver peliculas en HD, escuchar música o lo que tú quieras no busques más.

5) RISC OS
Imagenriscos-2013-07-10-RC11.zip
Torrentriscos-2013-07-10-RC11.zip.torrent
SHA-1 Checksum600ea45c26f5afd91cfc4c4cfa393cd4bb7549f7
DescripciónRISC OS es un sistema compacto MUY rápido
Release Date2013-07-10
Version2013-07-10
KernelN/A
URLLink
Directo desde el pasado.
Risc OS es un Sistema Operativo que solía verse en PCs allá por 1987 y que competía con Windows y OSX. Que no te asuste su edad; la versión actual es muy estable y rápida. Según para qué quieras tu RP esta puede ser tu mejor opción.

6) OpenELEC logo
ImagenOpenELEC-RPi.arm-3.2.0.tar
TorrentOpenELEC-RPi.arm-3.2.0.tar.torrent
SHA-1 Checksumddb717b29f32fbbe27298e8ac9c077036bc4a718
DescripciónOpenELEC es una distro XBMC rápida y facil de usar.
Fecha de lanzamiento2013-09-14
Version3.2.0
Kernel3.10.11
URLLink
Notas del lanzamientorelease_notes.txt
Es una alternativa a RaspBMC. Personalmente no la probado aún, pero se habla bien de ella.

7) Pidora logo
Imagenpidora-18-r2c.zip
Torrentpidora-18-r2c.zip.torrent
SHA-1 Checksumc43178ea18063928de21daf441aa10152d4ce4f9
DescripciónPidora es un Fedora Remix optimizado para la Raspberry Pi
Fecha de lanzamiento2013-08-09
Version18
Kernel3.6.11
URLLink
Notas del lanzamientorelease_notes.txt
Compite con Raspbian y Arch. Otra opción que merece la pena investigar.

*Nota: Raspbian y NOOBS contienen Java SE Platform Products, licenciados para ti bajo the Oracle Binary Code License Agreement disponible aquí.


Te explico ahora cómo instalar el Sistema Operativo que hayas elegido para tu Raspberry Pi.

Necesitamos una SD. Cómo mínimo se requiere que sea de clase 4 (la clase indica la velocidad). Si no tienes ni idea de cual tienes no te preocupes y sigue adelante porque probablemente funcionará igualmente. La capacidad mínima variará según qué SO vayas a instalar (el mínimo suele ser 2GB pero para el paquete NOOBS necesitarás 4GB)
Puedes hacer esto desde un PC con Windows o Linux o si lo prefieres desde un MAC:

1- Introduce la Tarjeta SD en el equipo

2- Formatea la Tarjeta

-Desde Windows-

          1) Descargate el programa para formatear la SD desde aquí.
          2) Instálalo.
          3) Ve al menú "Options" y en la opción "Format Size Adjustment" marca "On"
          4) ASEGURATE de que la SD que insertaste es la que tienes seleccionada.
          5) Formatea

             *Podrías hacerlo con la utilidad Formatear que ya trae windows, pero no hay garantía de que quede bien si lo                 haces así porque windows solo formateará la parte de la tarjeta que puede leer... que no es todo lo que hay.


-Desde Mac-

          1) Descargate el programa para formatear la SD desde aquí.
          2) Instálalo.
          3) Selecciona "Overwrite Format"
          4) ASEGURATE de que la SD que insertaste es la que tienes seleccionada.
          5) Formatea

             *Podrías hacerlo con la utilidad Formatear que ya trae OSX, pero no hay garantía de que quede bien si lo                          haces así.


-Desde Linux-

          1) Recomiendo usar gparted (o la version en linea de comando parted)
          2) Formatea toda la SD como FAT

3) Descargate la imagen que deseas con los enlaces de arriba (Sigo la explicación con la opción NOOBS)

4) Extrae el archivo:

          -Windows -> botón secundario "Extraer todo".
          -Mac -> Doble click en el archivo.
          -Linux -> Corre unzip [Nombre del archivo]

5) Copia todo lo que acabas de extraer a la SD.

6) Listo, ya solo queda que insertes la tarjeta en tu Raspberry Pi y que la enciendas. :)


Si como en el ejemplo has instalado NOOBS, cuando enchufes tu Raspberry Pi iniciará a NOOBS y una vez ahí podrás elegir que SO quieres instalar.
Si tu pantalla se queda en blanco debes seleccionar otro modo de salida para tu Raspberry. Tienes que introducir un número para cambiar el modo. Las opciones son:

- 1 - HDMI (Por defecto)
- 2 - HDMI modo seguro (Seleccionalo si estas usando un HDMI y aún así no puedes ver nada)
- 3 - Composite PAL (Puedes elegir este si estas usando un conector RCA)
- 4 - Composite NTSC (Puedes elegir este si estas usando un conector RCA)


Y esto es todo. Espero que haya sido de ayuda.
Saludos.
Fuentes: 12

domingo, 5 de enero de 2014

Java Nº02 -Pseudocodigo, es tu amigo.

TUTORIAL DE PROGRAMACIÓN
--


Escribir en pseudocódigo consiste en crear un primera aproximación al programa más o menos como te da la gana. Lo bueno de trabajar con pseudocodigo es que podemos ser tan obtusos como queramos, que si nosotros mismos podemos entender lo que hemos dicho estará bien.


Ejemplos sencillos de Pseudocódigo:

   Programa -> Sumar 3 a un número 
  Inicio
  Decir lo que hace el programa   
  Pedir un numero   
  Sumarle tres   
  Mostrar el resultado   
  Fin

   Programa -> Determinar el área de un circulo (A=Pi*r^2) 
   Inicio   
   Decir lo que hace el programa   
   Pedir el radio   
   Area=3,14*radio*radio   
   Mostrar el area   
   Fin
  
   Programa -> Diseña un algoritmo que lea la edad de dos personas y diga quien es más joven, la primera o la segunda. Ten en cuenta que ambas pueden tener la misma edad.
   Inicio   
   Decir lo que hace el programa   
   Pedir la edad de la primera persona   
   Pedir la edad de la segunda persona
   Si la edad de la 1ª > la edad de la 2ª   ->   Mostrar "la segunda persona es la más joven."
   Si la edad de la 2ª > la edad de la 1ª   ->   Mostrar "la primera persona es la más joven."
   Si ambas edades son iguales   ->   Mostrar "ambas personas tienen la misma edad."   Fin
 
Cuando se sabe un poco de programación un programa como los anteriores se pueden hacer inmediatamente, pero es conveniente empezar con un pseudocódigo cuando vayamos a atacar algo complejo, que en un primer momento se nos resista o ahora que estamos empezando a ver esto.
No hay reglas a la hora de trabajar esto, pero es conveniente seguir algunos criterios que nos permitan pasar rápidamente del pseudo al código.

Aquí 
tenéis un Tutorial de Pseudocógo-básico con todas las reglas que se recomiendan, pero básicamente lo que hay que tener en cuenta es lo siguiente:

jueves, 2 de enero de 2014

Reproducir videos Flash con el navegador en Raspberry Pi

Para poder reproducir videos flash (youtube, magnovideo...) con el navegador que quieras en tu Raspberry Pi solo tienes que instalar Gnash. Haz lo siguiente:

Abre una LXTerminal y escribe en ella

sudo apt-get install gnash

Cuando haya acabado la instalación introduce

sudo apt-get install browser-plugin-gnash

Ya deberías poder ver videos en cualquier navegador que soporte NPAPI, como Firefox, Chormium o Moidori

--

Otra opción es instalar Minimal Kiosk Browser, un navegador que soporta video HTML5.


Para ello copia y pega, de una sola vez, esto:

wget http://steinerdatenbank.de/software/kweb_1.3.tar.gz
tar -xzf kweb_1.3.tar.gz
cd kweb-1.3
sudo ./install.sh
./check.py

Sigue las instrucciones hasta acabar el proceso.


Java Nº01. - Empezando a Programar - Conceptos Básicos

TUTORIAL DE PROGRAMACIÓN
--

This could be you ;)


Voy a intentar hacer una pequeña guía-tutorial para echarle una mano a aquellos que estén interesados en aprender un poco de programación.
Ahora mismo no sé hasta dónde llegaré con esto ni por qué lenguaje me decantaré (seguramente C++, Java o Python), pero sea cual sea el que quieran aprender siempre es recomendable empezar viendo un poco de PseudoCodigo antes de salir de la trinchera.

Primero vamos a aclarar un poco en que consiste esto de la programación. Si me leen mis profesores es posible que me den con un libro en la sien, pero aquí lo que prima es que aprendáis a  programar de modo que que me tomare algunas licencias a la hora de explicar algunos conceptos. Si queréis aprenderlo todo técnicamente hay multitud de bibliografía que os lo permitirá.

Programar consiste en dar con un algoritmo que haga algo que nos interese y escribirlo en un lenguaje que podamos traducir para que una maquina lo entienda. 
Ala, ahi está no fue tan complicado... un momento ¿qué @#!!a# es un algoritmo?

Cómo montar un sistema de videovigilancia con una Raspberry Pi, Web-cams y Motion.

NOTA PREVIA

En realidad cualquier ordenador que tengas por casa, por muy viejo que sea podría servirte. Simplemente instálale un SO ligero que pueda servirte como servidor sin que se termine quemando por el uso continuo en 2 semanas (algo como Ubuntu Server o incluso Slax o DSL... vamos, cualquier cosa que se adapte a lo que quieras)


TUTORIAL

Este tutorial está especialmente enfocado a usuarios de Raspberry Pi, pero nada te impide seguir el procedimiento en otros equipos... si bien hacer algunas cosas carecerá de sentido. Haré otro tutorial más general luego.

-Fuentes: 1http://knowledgeweighsnothing.com (Inglés), traducido, editado y ampliado.



Raspberry Pi


A todos aquellos a los que les asusta la nueva tecnología o a quienes la imagen de arriba les pueda echar un poco para atrás, les quiero decir: ¡ESTO NO ES demasiado DIFÍCIL DE HACER!
Si eres capaz de seguir estas simples instrucciones podrás construir tu propio sistema de videovigilancia activado por detección de movimiento que te enviará imagenes por email cuando salte una alarma. 
Partiendo sin materiales previos puedes construirlo todo por menos de 100$ (unos 73€) y tenerlo listo en un par de horas. 
Cojonudo ;)