PROCESSING+TOUCHOSC+IPHONE = accelerometro IP

Estoy intentando hacer una captura de la información que genera el accelerometro del IPHONE, para poder utilizarla en otras aplicaciones.

Aquí vemos el ejemplo funcionando… vía wifi envío la información del accelerometro al ordenador, para luego ser tratada en los proyectos que me interesen.

Por ahora la única forma que he encontrado es:

1º instalando TOUCHOSC en el IPHONE, este programa tiene un SDk muy simple y es practico a la hora de enviar las carátulas realizadas al IPHONE, es el encargado de enviar la información desde el iphone a cualquier IP.

2º instalando PROCESSING en cualquier ordenador, este es compatible con todas las plataforma, y con un par de líneas de código puedes hacer una aplicación que escuche el puerto 8000, el cual es donde envía sus datos el programa TOUCHOSC.

3º un poco de paciencia, saliva y programación. y una red wifi donde conectar ambos equipos…(iphone y ordenador).

Esta es la configuración del TOUCHOSC en el IPHONE: con solo el accelerometro activo… no importa cual “LAYOUT” usemos. Recordemos que la IP que tenemos que configurar es la del ordenador que recibirá nuestra información.

El código de processing es:

[sourcecode language=”py”]
import processing.opengl.*;
import oscP5.*;
OscP5 oscP5;

float xrot = 0;
float zrot = 0;
float xrot_targ = 0;
float zrot_targ = 0;
float orientation = 0;
float dampSpeed = 5;

void setup() {
size(600,600, OPENGL);
oscP5 = new OscP5(this,8000);
smooth();
}

void draw() {
camera( 0, 0, 300,
0, 0, 0,
0.0, 1.0, 0.0
);
background(200);
if (xrot_targ < xrot) {
xrot = xrot + ((xrot_targ – xrot) / dampSpeed);
} else {
xrot = xrot – ((xrot – xrot_targ) / dampSpeed);
}

if (zrot_targ < zrot) {
zrot = zrot + ((zrot_targ – zrot) / dampSpeed);
} else {
zrot = zrot – ((zrot – zrot_targ) / dampSpeed);
}
if (orientation > 0) {
fill(0,0,255);
rotateX(radians(xrot));
rotateZ(radians(zrot));
} else {
fill(0,255,0);
rotateX(radians(xrot*-1));
rotateZ(radians(zrot*-1));
}
box(230,10,80);

}

void oscEvent(OscMessage theOscMessage) {
if(theOscMessage.checkAddrPattern("/accxyz")==true) {
xrot_targ = (theOscMessage.get(0).floatValue()*90);
zrot_targ = (theOscMessage.get(1).floatValue()*90)*-1;
orientation = theOscMessage.get(2).floatValue();
}
}

[/sourcecode]

ejecutamos el código de processing… y listo, vemos la magia… con un retardo muy pequeño vemos como responde de una forma muy fluida.

Saludos y espero que sea útil…

 

 

Aumentar la memoria de tu IPHONE

    Con este tuto pretendo que la gente como yo que tenemos un IPHONE de los viejitos (SNIIFFFF, SNIIIFF) con poca memoria RAM, podremos ver como fluye libre el Nuevo iOS 4.X. A una velocidad respetable.

En mi caso e instalado esta versión del iOS para el IPHONE, y le he quitado la opción de multitarea… pero ya lo he probado con esto activo y funciona mucho mas decentemente. Le he quitado la opción de multitarea para no tener que acordarme de quitar de memoria a los programas que ya no uso, porque hubo casos que he encontrado programas en memoria que hacia 3 semanas no usaba, y los recursos que consumen me parecían un desperdicio, por ende decidí quitar la opción de multitarea pero para gustos los colores y cada uno haga lo que quiera.

Siguiendo en el tema, sin la multitarea y con el parche activado mi teléfono funciona a las mil maravillas… y no se queda en ningún momento sin memoria, lo menos que he tenido fue cerca de 20 megas libres… nunca menos…

 

Básicamente el parche consiste en un archivo “.plis” serian como los scripts normalitos de LINUX, el cual le indica a nuestro IPHONE que reserve una cantidad de memoria flash, para utilizarla como memoria RAM, una especie de PAGEFILE.SYS de Windows.

Necesidades previas:

    Como es lógico necesitamos acceso al directorio interno de nuestro IPHONE, asi que mediante CYDIA instalaremos el servidor SSH, con esto obtendremos acceso SFTP al disco de nuestro IPHONE. Adicionalmente como es lógico necesitaremos un programa en nuestro ordenador que pueda hablar SFTP con el teléfono, os recomiendo FILEZILLA.

Y a continuación solo deberemos descargar el archivo desde este LINK, es privado y libre de virus. La clave del archivo es “walii.es” sin comillas.

Con el programa FileZilla, nos conectamos a nuestro teléfono y transferimos el archivo descomprimido, solo el archivo con nombre “com.apple.dynamic_pager.plist“, no transferir el RAR.

Este archivo debe quedar alojado en el siguiente directorio:

System/Library/LaunchDaemons

Esta es la captura para saber cuánta memoria teníamos antes de aplicar el parche….

Después de cerrar todos los programas y limpiar el cache, tenemos solo 37MB de RAM.

 

 

Tras reiniciar (apagar y encender) el teléfono con el parche en su sitio, tenemos una memoria de 87MB, que

dejando se estabilice con los programas normales, teléfono, ipod, mail, etc. Nos queda cerca de 50MB.

 

 

Con esto comprobamos como ha mejorado notablemente la velocidad de nuestro teléfono y si verificamos con pruebas el antes y después, ganamos varios segundos en las velocidades de apertura de programas pesados, como el TOMTOM o NAVIGON.

 

Información adicional y útil para nuestro IPHONE.

Directorio donde IPHONE guarda las imágenes

var/mobile/Media/DCIM/100APPLE

Saludos.

PINGUINO IDE Instalador versión 9.02

    Hola Buenos días a todos, hoy tras una promesa a RAFAEL, os traigo la nueva versión del instalador de pingüino.

No solo he incluido todo el materia nuevo desde la versión 9.02 con todo lo nuevo que trae consigo, sino también el ultimo MAIN.C el cual soluciona un problema con el puerto serie (fresquito fresquito, de ayer mismo), también he incluido para la gente que no tiene instalado PINGÜINO y/o quiere hacerlo desde cero, todos los paquetes necesarios (esto último como recomendación especial de JEAN).

PASOS A SEGUIR:

    Cuando iniciemos la instalación, nos pedirá toda la info necesaria para instalar PINGÜINO (directorios y nombres de programa), y antes de finalizar con la instalación de PINGUINO, comienza la instalación de los paquetes necesarios para que este funcione (omitir estos pasos para lo que ya tengan un PINGÜINO funcionando) de PYTHON, WXPYTHON, PYUSB y LIBUSB, en ese orden, dejando todo perfectamente atado para que alguien que nunca uso PINGÜINO tenga una instalación funcional en pocos pasos y sin necesidad de descargar nada.

Para quien ya tenga una instalación funcional de pingüino, os recomiendo cancelar los 4 instaladores, y luego proseguir con la instalación de pingüino propiamente dicha. Más que nada para no tener aplicaciones duplicadas en su Windows. Por ejemplo, por necesidad extras, yo tengo instalado el PYTHON 2.6 y no necesito el PYTHON 2.5 que trae el instalador, entonces le doy “CANCEL” cuando comienza la instalación de dicho programa, y salto este paso…. Lo mismo con todos los demás, y dejamos que finalice la instalación de pingüino.

Otro punto adicional y que siempre me ha gustado, es que ahora tenemos links directos a todos los diagramas necesarios, Pingüino 18f2550, pingüino 18f4550, diagramas DCE y DTE y conexión de serie a FONERA. Uso a diario estos diagramas y me gusta tenerlos a golpe de ratón. (TENGO MUY MALA MEMORIA)

LINK de descarga.

Saludos y espero que os guste la nueva versión.