Archivo

Entradas Etiquetadas ‘movil’

Goodbye Nokia

Viernes, 11 de Febrero de 2011 Gaspar Fernández Sin comentarios

Acabo de leer la noticia en MuyComputer: Nokia y Microsoft se alían.
Symbian nunca ha estado todo lo pulido que debería, a veces los terminales se cuelgan sin sentido, o se reinician, el sistema parece muy rígido desde su diseño, además de la manía que tienen las compañías de crear un software con restricciones, que lo único que hace es que haya desarrolladores que por ingeniería inversa eliminen esas restricciones… Nokia apostó entonces por Maemo y luego se fusionó con Moblin (de Intel), para formar Meego, un sistema para hacer competencia a Android, apoyado por la Linux Foundation. La idea es buena, ya que este sistema permite la ejecución de aplicaciones para X en el terminal (por lo que no sería difícil portar muchas aplicaciones que generalmente se usen en un escritorio Linux al smartphone, aunque desconozco de si sería tan maravilloso; de todas formas, creo que sólo sería cuestión de tiempo).

Personalmente, siempre he preferido un móvil Nokia, sobre todo por lo duros que son, frente a caídas, agua y demás y porque suelen ir rápido, al menos hasta que llegó Android; parece ser que Symbian, que fue líder en el mercado móvil durante años tiene los días contados (en realidad tiene los días contados desde hace tiempo y creo que fue una de las razones que empujaron a Nokia a liberar el código de Symbian, hace un año.

Aunque de buenas a primeras, la empresa finlandesa, cambia de estrategia y después de ser muy software libre (liberando Symbian, apostando por un sistema basado en Linux como Meego, apostando por Qt…), aunque no se dignaran, ni pretendan sacar compatibilidad de la PC Suite con Linux; pasa a aliarse con Microsoft, empresa que personalmente considero que invierte más en vender sus productos que en en la calidad de sus productos, y que no está para nada concienciada en hacer algo por la humanidad sino por sus intereses.

Nokia hará que Windows Mobile sea el sistema operativo principal de sus terminales, en principio dicen que seguirán vendiendo terminales Symbian (aunque fusionarán los mapas, la tienda Ovi y las búsquedas con Bing Maps, Microsoft Marketplace y el buscador Bing), aunque dudo mucho que una empresa como Microsoft quiera convivir con otros sistemas, por lo que seguro que presionan con convertirse en el único sistema en los terminales Nokia.

Meego era una buena apuesta, y esperaba que se abarataran los terminales con este sistema para adquirir uno, aunque ahora creo que voy a decirle adiós a Nokia.

Actualización: Acabo de leer que la gente de MuyLinux también se ha pronunciado al respecto; parece que Nokia dice que Symbian y Meego continúan, pero no sé yo…

Club2020 de Vodafone… enviar SMS desde la consola

Miércoles, 16 de Diciembre de 2009 Gaspar Fernández Sin comentarios

club2020No vengo a hablaros de la empresa Vodafone, ni del concurso (que podéis entrar desde este enlace y no tenéis que ser de Vodafone). Es un concurso rasca y gana (aunque cada cierto tiempo hay concursos parecidos; en el que uno de los premios son SMS gratis.

Hasta ahí bien, el problema viene a la hora de gastar los SMS, y es que mientras entro en la web (todo hecho en flash), se carga la intro, me la salto, se carga la web, me identifico, pulso en enviar mensajes, escribo el número, el mensaje y envío echo unos 3 minutos, y para el SMS tardo menos desde el móvil.

He hecho un pequeño script para consola que lo hace todo solo, y además en unos 10 segundos (como mucho) está mandado el mensaje… esto también nos permitirá enviar muchos mensajes seguidos (y si queremos usarlo para felicitar las fiestas, nos vendrá genial).

Nota: Antes de postear el código, quiero decir una cosa (NO hago comprobación de las letras de los mensajes, que son algo menos de 160 caracteres), ni de los parámetros (explicados al final) devuelvo el texto de enviado y no enviado, aunque eso no significa que se haga de verdad (ya sabéis cómo andan los SMS incluso en este 2009); por otra parte, si Vodafone corta el servicio o introduce alguna modificación en la página… ¡mala suerte! se nos acabó esto, pero quise compartir este código (y tal vez podamos hacer más cosa en el futuro con él).

Nota 2: Requiere cURL (sin él habría sido una matanza de código)

Nota 3: No está muy comentado, pero si hay alguna duda, siempre tendremos los manuales de cURL, de bash, y los comentarios en este post :)

Ahí va:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/bash

MOVIL_USR={mi movil}
CLAVE_USR={mi clave club2020}

function strpos()
{
str=${1/$2*/}
if [[ -z "$1" ]]; then
cad1l=0
else
cad1l=`expr length "$1"`
fi

if [[ -z "$str" ]]; then
donde=0;
else
donde=`expr length "$str"`
fi
if (( $donde < $cad1l )); then
echo $donde
else
echo -1
fi
}

echo "Identificándonse en el sistema..."
#Envio de datos
login="accion=login&clave%5Fusr="$CLAVE_USR"&movil%5Fusr="$MOVIL_USR
data=`curl -s -L -b cookies.txt -c cookies.txt "http://club2020.mi.vodafone.es/rascaygana/actuar.php?"$login`

# Usé esto para obtener los datos a mano hace un rato
#echo $data>tmp
#data=`cat tmp`

# Almacenamos en un array  los datos que nos ha mandado la web
i=1
datos[${i}]=`echo $data | cut -d"&" -f $i`;

while [[ -n ${datos[${i}]} ]]; do let i=$i+1; datos[$i]=`echo $data | cut -d"&" -f $i`; done
#Recorremos el array para mirar las opciones recibidas
datosrecibidos=${#datos[*]}

for ((i=0;i<$datosrecibidos;i++)); do
if (( `strpos ${datos[${i}]} =` > -1 )); then
combo=${datos[${i}]}
clave=`echo $combo | cut -d"=" -f1`
valor=`echo $combo | cut -d"=" -f2`
if [[ $clave == "usuario" ]]; then
usuario=$valor;
elif [[ $clave == "nombre" ]]; then
nombre=$valor;
elif [[ $clave == "tarjetas" ]]; then
tarjetas=$valor;
elif [[ $clave == "mensajes" ]]; then
mensajes=$valor;
fi
fi
done

echo "Hola "$nombre" te quedan "$mensajes" mensajes y tienes "$tarjetas" por rascar"
mensaje=$2
destinatario=$1
echo "Enviando mensaje: "$mensaje" a "$destinatario"..."
postdata="accion=mandarSms&mensaje="$mensaje"&destinatario="$destinatario"&firma="$usuario

#Envio de datos
result=`curl -s -L -b cookies.txt -c cookies.txt -d "$postdata" 'http://club2020.mi.vodafone.es/rascaygana/actuar.php'`

#echo $result > tmp2
result="retorno"`cat tmp2`
i=1
resdata[${i}]=`echo $result | cut -d"&" -f $i`;

while [[ -n ${resdata[${i}]} ]]; do let i=$i+1; resdata[$i]=`echo $result | cut -d"&" -f $i`; done
#Recorremos el array para mirar las opciones recibidas
resdatarecibidos=${#resdata[*]}

for ((i=0;i<$resdatarecibidos;i++)); do
if (( `strpos "${resdata[${i}]}" =` > -1 )); then
combo=${resdata[${i}]}
clave=`echo $combo | cut -d"=" -f1`
valor=`echo $combo | cut -d"=" -f2`
if [[ $clave == "error" ]]; then
error=$valor;
elif [[ $clave == "mensajes" ]]; then
mensajes=$valor;
fi

fi

done

echo "Resultado de la operación: "$error" Quedan "$mensajes" mensajes"
echo "Cerrando sesión..."

#Envio de datos
curl -s -L -b cookies.txt -c cookies.txt 'http://club2020.mi.vodafone.es/rascaygana/actuar.php?accion=logout' >/dev/null

Si guardamos este archivo como sms2020 y le damos permiso de ejecución, el primer parámetro es el móvil del destinatario, y el segundo el mensaje (entrecomilladlo si tiene espacios). Además, en la parte de arriba del archivo encontramos MOVIL_USR y CLAVE_USR, tendréis que poner vuestro número de móvil y vuestra clave del club2020 (para poder identificaros en el sistema).
Nota 4: Pude optimizar un poco el código, pero como había prisa y no sé lo que durará esto, no quise calentarme mucho el coco.
Nota 5: Para registrase: seguid este link (así me dais sms gratis a mí también, porque los demás premios nunca tocan).

Visita otras webs de la red