viernes, 2 de noviembre de 2012
RaspberryPi - Sistema operativo
Para poder empezar a utilizar el RaspberryPi lo primero que debemos hacer es meter el sistema operativo que vamos a utilizar en una tarjeta SD, por lo que seguiremos los pasos que encontramos en la propia web, (http://www.raspberrypi.org/downloads), y que son bastante claros. Básicamente, descargar la distribución que nos interese y utilizar el Win32DiskImager para meter la imagen en la tarjeta SD.
Hay que tener cierta precaución, ya que he leído por internet, (y el programa lo avisa), que puede dejar la tarjeta inservible. Yo no he tenido problemas con una SD de 4Gb de Sony, y he tenido que restaurar el sistema varias veces por algunos problemas que me he encontrado.
De momento me he decantado por la versión Raspbian “wheezy”, que es la que recomiendan para empezar, y puesto que de momento solo quiero montar el entorno de desarrollo para Arduino, creo que es una buena opción para empezar a hacer pruebas.
Después de descargar la imagen y meterla en la SD con el Win32DiskImager, nos llevaremos la "desagradable" sorpresa de que tendremos media SD vacía, (o más si se utiliza una SD de más de 4Gb). Por lo que tendremos que redimensionar la partición, cosa que haremos desde el RaspberryPi puesto que desde Windows no podremos.
Una vez tenemos el sistema operativo pondremos la SD en el RaspberryPi y lo enchufaremos todo.
El arranque es bastante rápido y enseguida nos mostrará, (la primera vez que arranca), una pantalla con un menú donde podremos configurar parámetros básicos como el Locate, el Keyboard, Timezone, habilitar SSH, si queremos que arranque el entorno X directamente al ponerlo en marcha (boot_behaviour), y una opción muy interesante que permite cambiar la partición Root para ampliarla hasta ocupar toda la memoria de la SD, (xpand-rootfs).
Por mi propia experiencia y después de varias horas de "pelea" y restauraciones del sistema operativo, mi recomendación es que se configure todo pero no se amplíe la partición Root, (de momento).
Una vez esté todo configurado, reiniciaremos el RaspberryPi y comprobaremos que todo funciona correctamente y nos encontraremos con un entorno Linux "básico".
Cuando verifiquemos que todo está correcto, recomiendo realizar un backup de la imagen de la SD en ese momento, (con el mismo Win32DiskImager), por si "rompemos" algo, que podamos restaurar la imagen a este punto.
En este momento es cuando vamos a intentar ampliar la partición para que ocupe toda la SD. Yo estuve probando diferentes herramientas, y al final llegué a la conclusión de que lo más fácil es volver a lanzar la configuración del RaspberryPi, (con el comando raspi-config), y ahora si, utilizar la opción del menú que amplia la partición.
Al reiniciar y comprobar que todo funcionaba correctamente decidí borrar el backup que hice anteriormente y realizar un nuevo backup con la partición de Root ampliada.
Siguiente paso ... instalación del entorno para el Arduino!!!
miércoles, 31 de octubre de 2012
Ya llegó!!! RaspberryPi inside
Después de 4 meses de espera por fin llegó la esperada Raspberry Pi.
Para los que se pregunten qué es, podríamos decir que se trata de un pequeño ordenador completo que cabe en la palma de la mano. Básicamente se compone de 2 puertos USB 2.0, HDMI, video RCA, salida de audio, conector de red RJ45 y lector de tarjetas SD, (donde tendremos instalado el sistema operativo). Utiliza un conector microUSB para el voltaje de funcionamiento, recomendado 5V - 700mA, (yo utilizo el cargador del móvil), por lo que apenas consume electricidad. El que me ha llegado a mi es el de 256Mb de RAM, pero ya están enviando lo nuevos con 512Mb de RAM.
Por supuesto al ser tan pequeño no podemos esperar que sea un superordenador como los que podemos encontrar hoy en día, pero tampoco está diseñado para serlo. Aunque si se puede utilizar para temas de ofimática, multimedia, programación e incluso algunos juegos.
Mi intención es preparar sobre el RaspberryPi un entorno de desarrollo para Arduino, ya que los requisitos son bastante bajos.
Lo primero que llama la atención es lo pequeño que és, y que al ir sin caja habrá que "fabricarle" una para el trasporte.
A continuación iré abriendo entradas para los avances que vaya haciendo.
Para los que se pregunten qué es, podríamos decir que se trata de un pequeño ordenador completo que cabe en la palma de la mano. Básicamente se compone de 2 puertos USB 2.0, HDMI, video RCA, salida de audio, conector de red RJ45 y lector de tarjetas SD, (donde tendremos instalado el sistema operativo). Utiliza un conector microUSB para el voltaje de funcionamiento, recomendado 5V - 700mA, (yo utilizo el cargador del móvil), por lo que apenas consume electricidad. El que me ha llegado a mi es el de 256Mb de RAM, pero ya están enviando lo nuevos con 512Mb de RAM.
Por supuesto al ser tan pequeño no podemos esperar que sea un superordenador como los que podemos encontrar hoy en día, pero tampoco está diseñado para serlo. Aunque si se puede utilizar para temas de ofimática, multimedia, programación e incluso algunos juegos.
Mi intención es preparar sobre el RaspberryPi un entorno de desarrollo para Arduino, ya que los requisitos son bastante bajos.
Lo primero que llama la atención es lo pequeño que és, y que al ir sin caja habrá que "fabricarle" una para el trasporte.
A continuación iré abriendo entradas para los avances que vaya haciendo.
martes, 12 de junio de 2012
Combinando Wii Nunchuck y Arduino
Una de las cosas que quería hacer desde que empecé a trastear con Arduino era conectar el mando Nunchuck de la Wii y poder interactuar con él.
¿Porqué el mando Nunchuck? Por tiene un acelerómetro con el que podemos obtener datos del movimiento del mando, un joystic analógico, y dos botones ... TODO INTEGRADO!!!! y además porque el consumo es bastante poco, con 3,3V funciona a la perfección.
El montaje es bastante "fácil", más de lo que pensaba, ya que del conector del mando tan solo nos hacen falta 4 pines, Voltaje, Reloj, Datos y Masa. La conexión por lo tanto sería Voltaje y Masa a los conectores de 3,3V y Gnd de Arduino y Datos y Reloj a los pines SDA y SCL, (hay que tener en cuenta que en el Arduino UNO están etiquetados por la parte de abajo, en el resto no lo se):
En cuanto al código, ya es más complicado, aunque he tenido bastante suerte y he encontrado por Internet una librería que funciona genial, (Web de Gabriel Bianconi), adaptada al Arduino UNO.
Con todo esto ya tenía la librería para controlar el Nunchuk, un programa de Demo, (que venía con la librería), para ver los datos recogidos por el Arduino en la pantalla, y el montaje físico realizado, (en la foto se ve un cartón que utilicé para que los cables se quedaran fijos haciendo conexión en el mando, ya que aún no he acabado el conector casero que estoy haciendo).
Luego seguí buscando un código para el Processing, de forma que pudiese recoger los datos del Arduino con el ordenador y representarlos en pantalla de alguna forma, y encontré un código que mostraba un cubo 3D RGB preparado para usarse con el Nunchuck, (5th and Penn).
Solo tuve que hacer unos pequeños cambios de programación para que el programa utilizado en Processing y el programa cargado en el Arduino se entendiesen, el resultado fue que podía manejar el cubo desde el mando usando los valores del acelerómetro.
En la siguiente captura se pueden ver los datos que aparecían por pantalla:
Como se pueden ver son 5 números, os 3 primeros de 3 cifras y los dos últimos de 1 cifra cada uno. El primer número indica el valor del acelerómetro en el eje X, el segundo número indica el valor del acelerómetro en el eje Y, el tercer número es el valor del acelerómetro en el eje Z, el cuarto valor, (solo puede ser 1 o 0), indica si se ha pulsado el botón z del mando y el último número, (que al igual que el anterior solo puede ser 1 o 0), indica si el botón c ha sido pulsado.
Para acabar esta entrada, quería dar las gracias a todos aquellos que dedican horas a desarrollar código que luego "cuelgan" desinteresadamente en Internet, para que otros podamos aprovechar su trabajo ahorrándonos muchísimo tiempo y muchísimos quebraderos de cabeza.
¿Porqué el mando Nunchuck? Por tiene un acelerómetro con el que podemos obtener datos del movimiento del mando, un joystic analógico, y dos botones ... TODO INTEGRADO!!!! y además porque el consumo es bastante poco, con 3,3V funciona a la perfección.
El montaje es bastante "fácil", más de lo que pensaba, ya que del conector del mando tan solo nos hacen falta 4 pines, Voltaje, Reloj, Datos y Masa. La conexión por lo tanto sería Voltaje y Masa a los conectores de 3,3V y Gnd de Arduino y Datos y Reloj a los pines SDA y SCL, (hay que tener en cuenta que en el Arduino UNO están etiquetados por la parte de abajo, en el resto no lo se):
En cuanto al código, ya es más complicado, aunque he tenido bastante suerte y he encontrado por Internet una librería que funciona genial, (Web de Gabriel Bianconi), adaptada al Arduino UNO.
Con todo esto ya tenía la librería para controlar el Nunchuk, un programa de Demo, (que venía con la librería), para ver los datos recogidos por el Arduino en la pantalla, y el montaje físico realizado, (en la foto se ve un cartón que utilicé para que los cables se quedaran fijos haciendo conexión en el mando, ya que aún no he acabado el conector casero que estoy haciendo).
Luego seguí buscando un código para el Processing, de forma que pudiese recoger los datos del Arduino con el ordenador y representarlos en pantalla de alguna forma, y encontré un código que mostraba un cubo 3D RGB preparado para usarse con el Nunchuck, (5th and Penn).
Solo tuve que hacer unos pequeños cambios de programación para que el programa utilizado en Processing y el programa cargado en el Arduino se entendiesen, el resultado fue que podía manejar el cubo desde el mando usando los valores del acelerómetro.
En la siguiente captura se pueden ver los datos que aparecían por pantalla:
Como se pueden ver son 5 números, os 3 primeros de 3 cifras y los dos últimos de 1 cifra cada uno. El primer número indica el valor del acelerómetro en el eje X, el segundo número indica el valor del acelerómetro en el eje Y, el tercer número es el valor del acelerómetro en el eje Z, el cuarto valor, (solo puede ser 1 o 0), indica si se ha pulsado el botón z del mando y el último número, (que al igual que el anterior solo puede ser 1 o 0), indica si el botón c ha sido pulsado.
Para acabar esta entrada, quería dar las gracias a todos aquellos que dedican horas a desarrollar código que luego "cuelgan" desinteresadamente en Internet, para que otros podamos aprovechar su trabajo ahorrándonos muchísimo tiempo y muchísimos quebraderos de cabeza.
miércoles, 6 de junio de 2012
Primeras pruebas con Arduino
En el kit de iniciación de Arduino venía con el pic 74hc595, (registro de desplazamiento), que, para que nos entendamos, permite utilizar 3 salidas digitales del Arduino, para obtener 8 salidas digitales, de esa forma podemos "multiplicar" la cantidad de salidas digitales que tiene el Arduino de forma más o menos "sencilla".
Para aprender a usar, (más o menos), este registro de desplazamiento, se me ocurrió montar un sistema que mediante 2 botones obtenga números aleatorios de 1 a 6, y en función del valor obtenido se enciendan una combinación de leds, rojos, amarillos o verdes, .... vamos, lo que viene siendo conocido como un par de dados para jugar al parchís.
El montaje físico no fue demasiado complicado, aunque en el esquema se vean unos cuantos cables:
Como podéis ver hay 3 leds amarillos, luego 3 verdes y 2 rojos, junto con un botón a la izquierda de los leds y otro a la derecha. Este montaje lo que hace es que pulsando el botón de la izquierda se obtiene un valor de 1 a 6 aleatorio, y lo representa en binario mediante los leds amarillos, y si el botón que se pulsa es el de la derecha, hace la misma operación, pero lo representa mediante los leds verdes. Los leds rojos indican que uno de los dos jugadores, (led rojo izquierda para el botón de la izquierda, y el led rojo de la derecha para el botón de la derecha), ha sacado un 6 y tiene doble tirada, y se enciende junto con los leds amarillos o verdes que estarán encendidos indicando que se ha sacado un 6.
El código binario sería el siguiente, (0=led apagado, 1=led encendido):
Led 1 Led 2 Led 3 VALOR Led Rojo
0 0 0 0 0
1 0 0 1 0
0 1 0 2 0
0 0 1 3 0
1 0 1 4 0
0 1 1 5 0
1 1 1 6 1
Código del programa
Hay que tener en cuenta que para los leds verdes, hay que multiplicar el valor que obtendríamos en el dado por 8, de forma que el 1 sería el 8 en binario, el 2 el 16, .....
Para aprender a usar, (más o menos), este registro de desplazamiento, se me ocurrió montar un sistema que mediante 2 botones obtenga números aleatorios de 1 a 6, y en función del valor obtenido se enciendan una combinación de leds, rojos, amarillos o verdes, .... vamos, lo que viene siendo conocido como un par de dados para jugar al parchís.
El montaje físico no fue demasiado complicado, aunque en el esquema se vean unos cuantos cables:
Como podéis ver hay 3 leds amarillos, luego 3 verdes y 2 rojos, junto con un botón a la izquierda de los leds y otro a la derecha. Este montaje lo que hace es que pulsando el botón de la izquierda se obtiene un valor de 1 a 6 aleatorio, y lo representa en binario mediante los leds amarillos, y si el botón que se pulsa es el de la derecha, hace la misma operación, pero lo representa mediante los leds verdes. Los leds rojos indican que uno de los dos jugadores, (led rojo izquierda para el botón de la izquierda, y el led rojo de la derecha para el botón de la derecha), ha sacado un 6 y tiene doble tirada, y se enciende junto con los leds amarillos o verdes que estarán encendidos indicando que se ha sacado un 6.
El código binario sería el siguiente, (0=led apagado, 1=led encendido):
Led 1 Led 2 Led 3 VALOR Led Rojo
0 0 0 0 0
1 0 0 1 0
0 1 0 2 0
0 0 1 3 0
1 0 1 4 0
0 1 1 5 0
1 1 1 6 1
Código del programa
Hay que tener en cuenta que para los leds verdes, hay que multiplicar el valor que obtendríamos en el dado por 8, de forma que el 1 sería el 8 en binario, el 2 el 16, .....
martes, 5 de junio de 2012
Primeros pasos con Arduino
¿Qué es Arduino?
“Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.”
Fuente: Arduino.cc
Es decir, se trata de un dispositivo que podemos programar para que interactúe con el mundo que nos rodea a través de sensores, motores, luces, etc…
Todo esto suena muy bonito pero ¿Qué es realmente Arduino? Arduino es esto:
Una PCB programable a la cual se le pueden conectar múltiples sensores, motores, etc... y otras placas llamadas "shields", con los cuales, como ya he dicho antes, es capaz de interactuar con su entorno según lo que programemos.
Gran parte de la “culpa” de que haya "picado" en esto, es de Pepe Chorva, amigo de la facultad que lleva ya un tiempo metido en este mundillo y al que exprimiré con las dudas que me surjan jejejejeje.
jueves, 31 de mayo de 2012
Cómo salir de las listas negras de correo
Las listas negras de correo electrónico, son unos listados de IP's almacenadas en algunos servidores que sirven como referencia para que los servidores de correo electrónico determinen si alguien envía Spam desde una dirección IP concreta y de esa forma, evitar que esa "persona" envíe Spam desde ese servidor de correo. Los métodos por los cuales puede acabar nuestra dirección IP incluida en alguna de esas listas, son muy variados y no voy a entrar a explicarlos, ya que lo que considero más útil es saber cómo "salir" de esas listas negras.
A veces, cuando enviamos un mail, puede que recibamos un mail indicando que estamos en listas negras y por lo tanto nuestro correo no será entregado, (en el asunto suele poner Considered UNSOLICITED BULK EMAIL, apparently from you).
Este problema debería ser tratado con el proveedor de Internet, ya que ellos son los dueños de la IP y por lo tanto los responsables de evitar que nuestra IP estén en las BlackList, (si no somos spammers), pero ante la pasividad de los proveedores, (que se suelen desentender completamente de éstos problemas), os detallo el procedimiento a seguir, (en Spamhaus.org que suele ser el que yo utilizo).
El procedimiento para quitar la IP de listas negras es el siguiente:
A veces, cuando enviamos un mail, puede que recibamos un mail indicando que estamos en listas negras y por lo tanto nuestro correo no será entregado, (en el asunto suele poner Considered UNSOLICITED BULK EMAIL, apparently from you).
Este problema debería ser tratado con el proveedor de Internet, ya que ellos son los dueños de la IP y por lo tanto los responsables de evitar que nuestra IP estén en las BlackList, (si no somos spammers), pero ante la pasividad de los proveedores, (que se suelen desentender completamente de éstos problemas), os detallo el procedimiento a seguir, (en Spamhaus.org que suele ser el que yo utilizo).
El procedimiento para quitar la IP de listas negras es el siguiente:
1º) Entrar en la web http://www.spamhaus.org y acceder al apartado PBL
2º) Pulsar arriba donde pone Blocklist Removal Center, (indicado en la imagen superior).
3º) Poner la dirección IP, (suele venir especificada en el correo que nos envían indicando que se nos considera spammers), en la casilla correspondiente y pulsar Lookup
4º) En la siguiente imagen se puede ver que la IP aparece ya con las 3 listas en verde, eso es porque actualmente ya no está en una lista negra.
5º) En caso de aparecer en alguna lista negra, aparecerá como en el ejemplo de la siguiente imagen. Si aparece algo así, se deberá pulsar en el nombre de la lista en el que apareces, (indicado en la imagen).
6º) En la siguiente ventana habrá que pulsar en Remove an IP from PBL.
7º) El siguiente paso marcar el check I have read and I have understood this page y pulsar en Remove IP Address....
8º) Rellenar los campos indicados y pulsa en Submit.
9º) Ahora sin cerrar el navegador ni la ventana que hay abierta, esperar a que te llegue un correo electrónico con un código de 5 cifras, que se deberá poner en la casilla correspondiente y pulsar en Finish.
10º) Hay que esperar un tiempo, (pueden ser un par de horas), hasta que se "limpie" la IP.
martes, 29 de mayo de 2012
Cambio de rumbo (del blog)
Inicialmente cree este blog con el fin de que la temática fuera un poco de todo, pero sobre todo de fotografía.
El caso es que finalmente me he decidido a abrir una página web dedicada a mis fotografías (En Escala de Grises), forma que no tiene sentido duplicar la información, por lo que voy a centrar el contenido de este blog sobre aspectos tecnológicos, lo que no quita que de vez en cuando publique algo sobre fotografía.
El único campo que voy a mantener en los dos sitios es en lo referente a Arduino, ya que uno de los usos que espero poder darle cuando lo tenga más controlado está relacionado con la fotografía.
El caso es que finalmente me he decidido a abrir una página web dedicada a mis fotografías (En Escala de Grises), forma que no tiene sentido duplicar la información, por lo que voy a centrar el contenido de este blog sobre aspectos tecnológicos, lo que no quita que de vez en cuando publique algo sobre fotografía.
El único campo que voy a mantener en los dos sitios es en lo referente a Arduino, ya que uno de los usos que espero poder darle cuando lo tenga más controlado está relacionado con la fotografía.
Suscribirse a:
Entradas (Atom)