Mostrando entradas con la etiqueta Dispositivos Móviles (Laboratorio). Mostrar todas las entradas
Mostrando entradas con la etiqueta Dispositivos Móviles (Laboratorio). Mostrar todas las entradas

jueves, 24 de mayo de 2012

UIDevice currentDevice

Intro.
Todos los dispositivos iOS cuentan con un id único que este servirá para identificarnos.

Utilidad:
Estos métodos los podemos emplear al momento que queremos saber cuantas personas decargaron nuestra aplicación, si la aplicación tiene llamadas a un servidor, saber cuantas tenemos al día, saber cuantas llamadas hace cierto dispositivo, saber que tipo de dispositivo es el que visita nuestros servidores, en lugar de utilizar apis de 3ros al momento de hacer logins, podemos emplear este.

Hacer POST y PHP iOS

Intro.
Hacer post desde nuestro dispositivo móvil es una de las partes mas importantes al momento de interactuar con otros medios, ya que esto nos sirve para mandar parámetros y ya dependiendo de estos y a su destino es la funcionalidad que tendrá.


Rollo:
Este método empleado debo de mencionar que lo utilizo en mi proyecto final de abrir y cerrar una puerta desde nuestro dspositivo móvil.

Código:
El codigo ejemplo que uso es el mandar parámetros a un archivo php y este imprimira cualquier valor obtenido

Gestores iOS

Intro
Para esta entrada veremos sobre el uso de gestores, un gestor se podria decir que es cuando a cierto objeto fisico(visible en la aplicación) le queremos dar una acción, una acción nos referimos como cuando la tocamos.

Ventajas:
En el uso de gestores, tiene una buena importancia, ya que sin estos, una aplicacion no funcionaria en su totalidad.

Medotos:
iOS es muy flexible en el uso de estos, asi que incorpora métodos preestablecidos, donde nosotros podemos hacer uso de ellos donde tenemos un UIEvent que encontramos los UITouch´s

miércoles, 23 de mayo de 2012

Plist iOS

Intr
Para esta entrada hablare sobre el uso y la importancia de un plist. Un plist en iOS es como un archivo .txt, donde nos puede servir para almacenar o leer datos, la diferencia de esta es que es manejada en un tipo de formato estructurado como xml o json.


Ventajas:
Una de sus fuertes ventajas es que la informacion estructurada en ella, le podemos dar un formato, ya sea que esta sea entera, flotante, String, un diccionario, entre otras.
Estos tipos de formatos son muy usadas en Xcode al momento de crear juegos, ya que podemos guardar la lista de objetos que iremos a crear o a utlizar, un ejemplo muy sencillo es el objeto de un guerrero, donde este guerrero, tiene una imagen, un icono, un sonido, armas, vida total, tamano, acciones, si es que le metemos un degradado, otra imagen donde lo podemos caracterizar con un movimiento, podemos guardar puntajes, entre otras.

viernes, 18 de mayo de 2012

Cluster iOS project

Navegando en internet me encontre con proyectos muy interesantes realizados por japoneses, éstos proyectos estan relacionados con cluster & iOS(este post es algo relacionado con el anterior), En estos proyetos, podemos ver que los dispositivos se comunican y dependiendo de la opción es la acción a realizar.

Estos tipos de proyectos son muy interesantes y vale la pena desarrollar.

Videos

jueves, 17 de mayo de 2012

Crear vistas en iOS

Intro
Para esta entrada veremos como declarar diferentes tipos de vistas o contenido en iOS codificandolo nosotros mismos, sin el uso de storyboard. 
¿La diferencia? En lo personal me gusta no usar storyboard, una de las opciones esque nosotros manejamos el objeto creado, accesando a mas parametros de ese objeto e inclusive modificando sus tamaños.

Ventajas
Como mensioné, es mas bien el gusto de cada uno, pero en varios casos te facilita, ya que si vas a crear multiples vistas, labels y demas con diferentes tamaños que tienes como medidas es mucho mejor hacerlo por líneas de código y en lo personal, mas sencillo de enteder, que tener varias ventanas apuntando a todas.

miércoles, 16 de mayo de 2012

JSON en iOS


Intro
Para esta entrada, veremos un poco sobre la comunicación de datos entre un dispositivo móvil y un servidor, en éste caso veremos en un dispositivo en iOS.


Forma de Comunicación JSON
En esta parte veremos la comunicación con JSON, pero antes, hay que ver la estructura de un JSON.
Para no aburrirlos en la teoria, les pondre la estructura del ejemplo que utilice.
Ustedes lo pueden ver el la siguiente URL


martes, 8 de mayo de 2012

Comunicación Arduino Ethernet y Dispositivo Android

Intro.
Anterior mente me había estado quebrando la cabeza en hacer la comunicación de mi arduino ethernet shield con android y por un tiempo lo deje pendiende, pero hace hace poco decidí retomarlo y lograr hacer la comunicación teniendo exito (me la pelo).

Error
Antes de poner el código y meterle mas rollo, mi problema estaba cuando mandaba los datos, ya que mi código en android cumplía con su función de mandar y mi código de arduino cumplía su función de recibir, ya que al momento de la interacción, el foquito del arduino que indica que recibió un paquete, parpadeaba, entonces ¿Cuál es el problema o error? El error estaba en que mi código de android lo que hacía era postear la variable (algo asi para mandar parametros en un formulario) y mi código de arduino interpretaría los valores recibidos por la url y no por un ¡POST..!!

miércoles, 29 de febrero de 2012

Comunicación Servomotor-Amarino

Intro.
Siguiendo mi intento por hacer la comunicacion entre el arduino y android, busque otra forma que no sea por medio de internet, asi que lo logre por medio de bluetooth y la aplicacion amarino.

Material
El material usado, sera casi el mismo que el empleado para mover el servomotor la unica diferencia es el empleo de un dispositivo android y un modulo bluetooth
  • Servomotor Futaba S3010
  • Cable USB
  • Arduino Uno
  • Modulo Bluethood

Desarrollo
Para la conexion de los cables es igual que el la entrada anterior, la diferencia es que le agregaremos el modulo bluetooth, pero antes de hacer la conexion del modulo bluetooth al arduino tenemos que hacer unas conexiones con el, para esto, segui este tutorial.


Una vez teniendo esto proseguimos a hacer la coenxion con el arduino colocando las salidas mensionadas en el tutorial.


Codigo
char val; // declaramos las variables a usar
Servo myservo;
int pos = 90;

void setup(){
myservo.attach(6); //Salida del servo  
myservo.write(pos); //Damos la posicion inicial, en este caso sera 90 grados
serial.begin(115200); //Indicamos la frecuencia
}

void lop(){
val = Serial.read(); //Leemos el valor recibido
if(val == '0'){  //Al recibir 0
  if( pos > 0)  
   pos = 10;  
    myservo.write(pos);  //Mueve el servo a la izquierda  
}
if(val == '1'){ //Al recibir 1
  if( pos < 180)  
  pos = 170;  
    myservo.write(pos); //Mueve el servo a la derecha  
}
}
Notas
Es muy importante que al momento de cargar el codigo a nuestro arduino quitar la conexion RX de nuestro modulo bluetooth, de lo contrario nos producira error y el codigo no cargara.

Video


Bibliografia:
Para esta entrada convine una entrada de un compañero y la entrada anterior que habia hecho para mover el arduino.
http://computointegrado.blogspot.com/2012/02/python-arduino-con-modulo-de-bluetooth.html
http://technolifeandmore.blogspot.com/2012/02/mover-servo-con-arduino.html

jueves, 23 de febrero de 2012

Acelerometro en Android



Intro
Para esta entrada veremos un pequeño tutorial que nos mostrara las coordenadas de nuestro acelerometro.
La mayoria de los smartphones que son android, llevan esta tecnologia y muchas veces son empleados en los juegos, como por ejemplo uno de sniper, que con mover el dispositivo la mira va cambiando, carreras, aviacion, entre otros. Empleandolo en el hardware, podria ser mover un objeto, para que este efectuara algo, como mover la direccion de un carrito.

Teoria
Hay que considerar como android toma la orientacion de nuestro smarphone, pero para no dar tanta teoria, encontre una imagen que ayuda en mucho



Desarrollo
Para esta aplicacion se utilizaron las siguientes librerias, en las cuales mandamos llamar al acelerometro y algunos parametros que ocupamos:

hardware.Sensor;
hardware.SensorEvent;
hardware.SensorEventListener;
hardware.SensorManager; 

Codigo:
acelerometro.java: 
package ab.acelerometro.namespace;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class AcelerometroActivity extends Activity implements SensorEventListener {
 private SensorManager sensorManager;

 TextView Dirx; // declaramos objetos de x, y, z
 TextView Diry; 
 TextView Dirz; 

 @Override
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  Dirx=(TextView)findViewById(R.id.Coorx); // Declaramos la id de x, y, z
  Diry=(TextView)findViewById(R.id.Coory); 
  Dirz=(TextView)findViewById(R.id.Coorz); 

  sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
  // Agregamos el listener, de sensor en esta clase
  sensorManager.registerListener(this,
    sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), //APIS declaradas del tipo de sensor
    SensorManager.SENSOR_DELAY_NORMAL); //El tiempo de espera
  //Se pueden agregar otras APIS
  
 }

 public void onSensorChanged(SensorEvent event){

  // vemos el tipo de sensor
  if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){

   float x=event.values[0];//Asignamos las direccioneds en x, y, z
   float y=event.values[1];
   float z=event.values[2];

   Dirx.setText("X: "+x); //Mostramos los valores que arroja x, y, z
   Diry.setText("Y: "+y);
   Dirxz.setText("Z: "+z);
  }
 }
}

main.xml


    
    
         


Nota:
Hay que tomar en cuenta varios aspectos importantes, que si se nos pasan por alto, el programa no funcionara y son:
Agregar implements en la clase
public class AcelerometroActivity extends Activity implements SensorEventListener

Agregar el permiso de Internet en el androidmanifest.xml (Puede sonar raro, ya que empleamos el acelerometro, pero tras varios intentos sin esto, no funciona):
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />

Resultado:
Si quieren probar la aplicacion, la pueden descargar de este link
Bibliografia:
http://javiercancela.com/2009/07/20/desarrollo-en-android-acelermetro-magnetmetro-y-sensores-de-orientacin-y-temperatura-en-el-htc-magic/
http://awesomebytes.com/2010/07/31/usando-el-acelerometro-en-android/