blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Control remoto por whatsapp e ip dinámica.

Sun Sep 01, 2013 7:13 pm

¿Ya sabes como enviar notificaciones a tu whatsapp?
pues si no quieres depender de dyndns o no-ip para saber en que dirección ip esta tu raspita, basta con que te envíe un mensajito al whatsap.
¿Que como preparar el mensaje?
muy facil, ejecuta esto:

Code: Select all

wget -O mensajito.txt http://smart-ip.net/geoip-json
cat mensajito.txt
No solo te dirá la ip, también donde está (bueno, mas o menos ;) )

Code: Select all

{"source":"smart-ip.net","host":"111.222.333.255","lang":"en","countryName":"Spain","countryCode":"ES","city":"Valladolid","region":"Castilla y Leon","latitude":"41.6552","longitude":"-4.7237","timezone":"Europe\/Madrid"}

Bueno, os dejo la taréa de transformarlo en un mensaje mas bonito y programar una taréa con cron para que lo envíe al arrancar o cada vez que cambie la conexión.

blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Re: Control remoto por whatsapp e ip dinámica.

Sun Sep 01, 2013 7:19 pm

Ah, google tenía algo parecido que devolvía un fichero xml, pero he perdido el enlace, así que si alguien lo sabe se lo agradecería pues recuerdo de informaba de más cosas como el isp de la dirección ip (util si lo roban y se conectan desde su casa sin saber que se está chivando).

papablo
Posts: 21
Joined: Fri Feb 15, 2013 1:58 pm

Re: Control remoto por whatsapp e ip dinámica.

Tue Sep 03, 2013 11:01 am

Pues muy fácil, usa http://smart-ip.net/geoip-xml en vez de la terminada en ...json.
De todas formas las cadenas json son fáciles de manejar desde python (http://www.youtube.com/watch?v=9Xt2e9x4xwQ).

blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Re: Control remoto por whatsapp e ip dinámica.

Wed Sep 04, 2013 7:29 pm

Precioso, gracias.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<geoip>
   <source>smart-ip.net</source>
   <host>111.222.333.102</host>
   <lang>en</lang>
   <countryName>Spain</countryName>
   <countryCode>ES</countryCode>
   <city>Valladolid</city>
   <region>Castilla y Leon</region>
   <latitude>41.6552</latitude>
   <longitude>-4.7237</longitude>
   <timezone>Europe/Madrid</timezone>
</geoip>
Dice geoip: "We limit the number of requests per IP-address to our service in the 5,000 queries per day."
Así que sin ningún problema, se puede lanzar la consulta cada 5 minutos (5*12=1hora, así que 12*24 al día =288 consultas) sin que se enfaden.

blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Re: Control remoto por whatsapp e ip dinámica.

Wed Sep 04, 2013 11:43 pm

Bueno, pues ahí va el script para extraer la ip. He instalado el paquete xml2 (solo 14 k)

Code: Select all

sudo apt-get install xml2
Y he creado el fichero miip.sh con este contenido:

Code: Select all

wget -O geoip.xml http://smart-ip.net/geoip-xml
eval $( grep -F "host" geoip.xml | xml2  | cut -b 2- )
echo $host
Con wget bajamos el texto del xml de la api geoip y lo guardamos en el ficherogeoip.xml
Con grep buscamos la cadena "host" dentro del fichero geoip.xml y nos quedamos solo con la linea que lo contiene. "<host>111.222.333.102</host>"
Con xml2 lo transformamos en una cadena "contenedor=valor": "/host=111.222.333.102" lo cual se parece mucho a cuando asignamos un valor a una variable, pero nos estorba el primer caracter "/" así que lo cortamos con cut -b 2- (cortar desde el segundo carácter en adelante) quedándonos con "host=111.222.333.102" que es una orden que podríamos haber ejecutado directamente y que guardaría el valor 111.222.... en la variable host. Con eval hacemos eso precisamente como si hubiesemos escrito la linea en el símbolo de comandos.
Y para demostrarlo y que la salida de miip.sh sea la ip, hacemos un "echo $host" (quedaría mas bonito en la variable hostwanip, lo sé)
Al ejecutar miip.sh (no os olvideis darle permiso de ejecución) obtenemos mucho texto en pantalla pero en verdad la salida es solo la última linea, para comprobarlo podemos ejecutar "./miip.sh > miip.txt" y ver lo que contienen miip.txt.
Ahora ya podemos enivarnos un whatsapp o un correo con el contenido de $host o con la salida de miip.sh.
(bueno, falta comprobar que no ha cambiado la ip para que no nos dé la tosta si lo programamos para que se ejecute cada 5 minutos)

blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Re: Control remoto por whatsapp e ip dinámica.

Thu Sep 05, 2013 4:12 pm

Falta la guinda. Perdón por ser tan presuntuoso con el título del post.
Y es que aún no hemos enviado la ip por whatsapp pero si seguimos este turorial:
http://rsppi.blogspot.com.es/2012/10/us ... io-de.html
ya solo nos queda ejecutar el envío de la cadena devuelta por miip.sh añadiéndole la siguiente linea:

Code: Select all

envia_whatsapp.sh 600700800 "Hola , soy Chencho y estoy aquí: $host"

User avatar
ulysess
Posts: 310
Joined: Thu Aug 02, 2012 6:35 am
Location: Spain
Contact: Website

Re: Control remoto por whatsapp e ip dinámica.

Wed Sep 11, 2013 11:41 am

Yo seguí este tutorial y me funciona sin problemas:

http://portallinux.es/raspberry-pi-noti ... -whatsapp/
  • PiKISS for Raspberry Pi: https://github.com/jmcerrejon/PiKISS
  • Blog: https://misapuntesde.com/
  • Patreon: https://www.patreon.com/cerrejon?fan_landing=true
  • Twitter: https://twitter.com/ulysess10
  • Discord: https://discord.gg/Y7WFeC5

blamarpa
Posts: 454
Joined: Thu May 23, 2013 4:02 pm
Location: España

Re: Control remoto por whatsapp e ip dinámica.

Wed Sep 11, 2013 4:52 pm

Ahora que estamos con el baloncesto... Buena asistencia Ulysess, siempre facilitándonos las cosas. La canasta para tí.

Return to “Español”