Cuando dns-sd no está disponible en tu sistema.

By | Debian, IoT, Linux, Ubuntu | No Comments


Hace muy poco tiempo necesité resolver el nombre y la IP de un servicio de un dispositivo relacionado con el IoT. Se trata de Nature Remo. Un dispositivo capaz de mimetizar cualquier control remoto que trabaje por tecnología de infrarrojos.

En este caso utilicé la instrucción dns-sd. Éste programa no es libre y es el responsable de hacer hablarse entre ellas las máquinas de la manzana (Bonjour).

Esta es la intrucción:

% dns-sd -B _remo._tcp
Browsing for _remo._tcp
DATE: ---Sun 29 Oct 2017---
11:07:03.591 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
11:07:07.835 Add 2 4 local. _remo._tcp. Remo-XXXXXX


% dns-sd -G v4 Remo-XXXXXX.local
DATE: ---Sun 29 Oct 2017---
11:08:56.804 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
11:08:56.806 Add 2 4 Remo-1FFDEF.local. 192.168.2.20

Y así finalmente obtenemos la ip qué necesitamos.

En linux tenemos la librería Avahi que podremos instalar así:

$ sudo apt-get install libavahi-compat-libdnssd-dev avahi-utils

Tecleando la instrucción:

avahi-browse -a
Obtendremos un listado de todas las máquinas de la red pero no aparecerá el servicio de dispositivo que estamos buscando, se esconde.

Esta es la manera de averiguar el nombre y posteriormente la IP del dispositivo Nature Remo.

% avahi-browse -tl _remo._tcp
+ eth0 IPv4 Remo-1FFDEF _remo._tcp local


% ping Remo-468D83.local
PING Remo-1FFDEF.local (192.168.2.20) 56(84) bytes of data.

Listos. 🙂

Homebridge en MacOSX y Nature Remo

By | Hakintosh, IoT | No Comments

La domótica está en pañales, pero no recién nacida. Un ejemplo de ello es "Nature Remo", definitivamente es uno de los mejores periféricos que permiten controlar cualquier cosa que se deje comandar por un control remoto,  pero "Nature Remo" trabaja casi por libre y la mayoría —por no decir todos—, los nexos de unión con algún asistente de control los hace mediante la aplicación IFTTT (If This, Then That). En definitiva, retales que se unen porque funcionan, pero sin algo que tienda a unificar de una forma elegante... o sí. Una de las aplicaciones reinas de la unificación y que permite crear automatismos que hagan la casa más inteligente es HomeKit de Apple, pero muy pocas marcas pueden pagar la certificación (es irrazonablemente cara)  y lo hacen encareciendo el producto, entre otras cosas. Así pasa con muchos periféricos de tecnología IoT. "Nature Remo" no se queda atrás en ese aspecto y Homebridge se encarga de enlazar todos los dispositivos inteligentes y dotarlos de las características que tienen los accesorios HomeKit.

Resultado de imagen de homekit

Vamos a instalar el servidor Homebridge en un MacOSX y luego añadir la configuración de "Nature Remo". (Parte de la documentación la he conseguido de diversas páginas en japonés puesto que Nature Remo es una start up japonesa que ha llegado a ser una de las oficiales de Google Home).

Sigue este enlace en el que detalla como instalar Homebridge https://github.com/nfarina/homebridge/wiki/Install-Homebridge-on-macOS

Una vez instalado Homebridge, necesitaremos conocer datos de nuestro dispositivo Nature Remo.

% dns-sd -B _remo._tcp
Browsing for _remo._tcp
DATE: ---Sun 29 Oct 2017---
11:07:03.591 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
11:07:07.835 Add 2 4 local. _remo._tcp. Remo-XXXXXX

## Remo-XXXXXXを確認して置き換えて実行する。
% dns-sd -G v4 Remo-XXXXXX.local
DATE: ---Sun 29 Oct 2017---
11:08:56.804 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
11:08:56.806 Add 2 4 Remo-1FFDEF.local. 192.168.2.20

En este caso: 192.168.2.20

Después de esto necesitamos encontrar la codificación que utiliza el dispositivo que deseemos registrar en HomeKit. Para ello preguntaremos a Nature Remo mediante la instrucción:

% curl -i "http://192.168.2.20/messages" -H "X-Requested-With: curl"
HTTP/1.0 200 OK
Server: Remo/1.0.62-gabbf5bd
Content-Type: application/json
{"format":"us","freq":36,"data":[4339,4448,...]}

Si no te leyera bien y te diera un error 404, trata de encender y apagar el periférico. Lo mismo con el mando, "on" y "off".

Los resultados de la respuesta que te da en pantalla debes de ponerlos en el fichero de configuración de Homebridge:

Y este es un fichero de ejemplo de configuración:

{
"bridge": {
"name": "Homebridge",
"username": "CC:42:4D:A3:CQ:61",
"port": 51826,
"pin": "034-56-185"
},

"description": "Nature Remo Control",

"accessories": [
{
"name": "Room Nature",
"accessory": "NatureRemo",
"host": "192.168.10.34",
"path": "/messages",
"delayBefore": 0,
"delayAfter": 0,
"timeout": 2000,
"retry_interval": 500,
"retry": 3,
"on": {"format":"us","freq":37,"data":[3732,1946,402,525,418,1470,420,544,400,]},
"off": {"format":"us","freq":36,"data":[3732,1945,403,543,398,1471,420,522,418]},
"command_order": [{ "on": ["on"] }, { "off": ["off"] }] }
],
"platforms": [] }

Necesitaremos instalar el plugin de Nature Remo con la línea que sigue:

% sudo npm install -g homebridge-nremo
+ [email protected]

Luego podemos ya acceder al registro en HomeKit. (aunque en japonés, la imagen es altamente descriptiva).

Añadimos accesorio escanendo el código que nos da el servidor HomeKit.

IMG_3617

Registramos Homebridge.

IMG_3618

Nos avisa de que no es un accesorio certificado y le decimos que "a delante".

IMG_3619

Una vez añadido, pulsamos "siguiente" hasta completar todos los pasos.

IMG_3621

Ya podremos hablar con Siri para que accione los dispositivos que hayamos configurado.

Enlace de interés: https://www.imore.com/how-connect-non-homekit-devices-homekit-using-homebridge

Despertador OSX

By | Hakintosh | No Comments

Un pequeño tip que me sirvió cuando me quedé sin batería (bueno y sin móvil) un día aciago:

Stuck away from home with a dead mobile phone battery, I needed an alarm clock—no sign of it in Date and Time.

The solution: use iCal on the MacBook. Set an event at the time you want the alarm. Set up an alarm action to open a suitably noisy audio file (which will open with iTunes if you have the default setup).

Make sure you set the alarm to go off on date (not 15 minutes beforehand as I first did). Make sure the volume is set high, headphones removed. Leave the lid open and, preferably, power connected. The alarm will wake the laptop from sleep, and play your song.

Update 2009-02-15 In Leopard 10.5.6 the alarm does not wake your computer from sleep 🙁 In System Preferences >> Energy Saver >> Schedule, set your computer to wake a couple of minutes before the alarm goes off.

If you subscribe to any external calendars, set iCal offline — otherwise any alerts complaining that some calendar is unreachable will prevent the alarm from sounding.

How To: Getting Started with Amazon EC2

By | BSD, CentoOS, Debian, DragonFlyBSD, FreeBSD, Gentoo, Linux | 2 Comments

Así.. sin valium y sin nada:

Amazon EC2 is among the more potent items in Amazon's web services arsenal. You've probably heard of many of the other services such as S3 for storage and FPS for payments. EC2 is all about the "elastic compute cloud." In layman's terms, it's a server. In slightly less layman's terms, EC2 lets you easily run and manage many instances (like servers) and given the proper software and configurations, have a scalable platform for your web application, outsource resource-intensive tasks to EC2 or for whatever you would use a server farm.

There are three different sizes of EC2 instances you can summon and they're all probably more powerful than the server currently running your blog. Unless you're offloading video processing or something intense to EC2, the default small instance with its 1.7GB of RAM and 160GB disk should be more than fine. It's just nice to know that if for any reason I need a farm of machines each with 15GB of RAM, I can get that easily.

EC2 has been around for a while but has gained interest in the last few weeks as Amazon released an elastic IP feature. One of the larger EC2 issues deals with data persistence on instances. There are many limitations with EC2 that make it difficult to use unless you carefully build around the EC2 architecture and don't just assume that you can move your app to EC2 flawlessly. If an instance crashes and you run it again, you'll loose data and when the instance comes back up it will have a new IP, adding another hurdle with DNS issues. Fortunately, the elastic IP feature lets you assign a static IP address to your instances.

As the title of this article implies, this article is meant to be a beginner's look into tinkering with EC2. Just because you will be able to host a page on EC2 at the end of this article does not mean you should start using it as your only server. Many considerations need to be made when using EC2 to get around the data persistence issue. If your startup is looking to use EC2 as a scalable platform, fortunately there are many services that have already built stable systems on top of EC2, ready for your consumption: WeoCeo, Scalr and RightScale. Enough talk, shall we jump right in?

Note: Most of the information below (and more) is available in the EC2 API doc if you enjoy reading those things.

Read More

Cómo obtener la longitud y latitud en Google Maps

By | Miscelánea | One Comment

Excelente este truco que he encontrado en Tech-Recipes (vía Lifehacker) para obtener la longitud y latitud de cualquier localidad o calle o plaza o edificio… en Google Maps. La fórmula es bien sencilla:

  1. Encontrar el punto deseado en el mapa (lo más sencillo, el buscador incorporado).
  2. Centrarlo en la ventana del mapa con la herramienta ‘arrastrar’ (la mano, vaya).
  3. Cuando lo tengas centrado, copia y pega en la barra de direcciones de tu navegador este código:

    javascript:void(prompt('',gApplication.getMap().getCenter()));

  4. Pulsas ‘enter’ y voilà. Te aparece una ventanita con los datos deseados.

Sencillo, y muy útil. Que te aproveche.

Vía: http://mangasverdes.es/2007/06/09/como-obtener-la-longitud-y-latitud-en-google-maps/

Sincronizar gCalendar con Mac, iPhone e iPad

By | Hakintosh | 7 Comments
Los calendarios y el uso del iPad con Google Calendar para sincronizar de modo inalámbrico sin necesidad de iTunes.
Es un método que llevo tiempo usando en el iPhone, probado y fiable. Demostraremos además que pueden usarse los servicios de Google sin necesidad de ligarse a Android.
Hablamos en mi caso de varios calendarios, no sólo el principal. Tenemos en primer lugar uno Personal y otro de Trabajo que sólo uso yo. Otro con mi mujer para gestionar asuntos comunes. Otro con toda la familia para temas de todos. Por último un calendario en el que entran las tareas programadas en Toodledo. No está mal.
El modo más inmediato y el que primero nos propone Google es creando una cuenta de Exchange. Para ello pasamos a crear una del modo habitual. ¿Qué configuración hemos de usar?
En el campo correo colocaremos nuestra dirección de Gmail completa. Se dejará el campo Dominioen blanco. Como Usuario pondremos de nuevo nuestra dirección de Gmail y nuestra Clave en el apartado correspondiente. Pulsaremos Siguiente y elegiremos Cancelar si nos indica "Imposible verificar certificado".
Cuando aparezca el campo Servidor escribiremos m.google.com y luego Siguiente. Elegiremos los servicios que queremos sincronizar, en este caso Calendario. Luego elegir si queremos conservar las citas que tenemos en el iPhone/iPad o dejarlo todo "en la nube". Listo. Como se ve muy sencillo y "limpio".

Pero la cosa se complica si tenemos nuestra única cuenta Exchange ocupada por ejemplo con el correo del trabajo. En el iPhone/iPad (como en casi todos los teléfonos excepto el Nexus One, creo) sólo puede gestionarse una cuenta Exchange. Es algo que con la llegada del sistema operativo 4.0 para iPhone/iPad se solucionará.
Para ello usaremos CalDav una alternativa un poco más complicada de configurar pero efectiva. Deberemos crear tantas cuentas CalDav como calendarios queramos añadir.

Configurar iCal:

Ahora toca configurar iCal para que se sincronice con GCal. Abrimos iCal y seleccionamos la opción de menú iCal/Preferencias… y luego Cuentas. Nos aparecerá esta pantalla:


Pulsa en el botón + que apareceabajo a la izquierda. Aparecerá una nueva ventana en la que debemos introducir estos datos:

Descripción: Puedes poner lo que quieras para identificar la cuenta.
Nombre usuario: Tu cuenta de Gmail
Contraseña: Tu contraseña para acceder a Gmail
URL de la cuenta: www.google.com
Pulsa en Añadir y verás que a los pocos segundos (quizá la primera vez tarde un poco más) te aparece un nuevo calendario en la parte izquierda de tu iCal. Ese es el calendario de Google.
Si quieres haz la prueba. Pon un evento en Gcal y verás como al poco tiempo aparece en iCal. Por defecto, iCal se conecta cada 15 minutos a Gcal para comprobar si hay eventos nuevos, pero eso se puede cambiar en las preferencias de la cuenta que acabamos de crear.
También puedes crear un evento nuevo en iCal y verás como aparece en Gcal al momento.

Para ello iremos a Configuración y en el apartado Correo, Contactos y Calendario iremos a Otros. EnCalendarios optamos por Crear una cuenta Caldav.
Como Servidor pondremos www.google.com y como Usuario y Contraseña los de nuestra cuenta deGmail. Y luego una Descripción para identificar el calendario. Importante, de este modo tendremos nuestro calendario principal.
Para el resto de calendarios la cosa se complica un poco más, vamos a verlo. Deberemos crear tantas cuentas CalDav adicionales como calendarios secundarios tengamos, asignando a cada una un nombre adecuado.
Tras ello deberemos editar la configuración de cada una en Ajustes Avanzados cambiando la URL de cada uno de los calendarios.
Para ello deberemos buscar en nuestra configuración de calendarios de Google en la web la identificación del calendario, la encontraremos junto a los botones de XML, iCal, HTML y tiene este aspecto:

Tendremos la URL de nuestro calendario copiando la identificación anterior en una dirección de este tipo.
https://www.google.com/calendar/dav/copiar aquí ID /user

Con ello nuestro calendario de ejemplo quedaría así:
https://www.google.com/calendar/dav/[email protected]/user
No nos asustemos, tiene peor pinta de lo que parece, realmente es sencillo. De este modo tendremos sin ocupar nuestra preciada cuenta Exchange configurados nuestros calendarios que se sincronizarán con la frecuencia que marquemos en Ajustes. Disponibles en todo lugar, sin necesidad de ordenador, ni iTunes y para todos los ususarios con acceso autorizado. Y sin gastar un duro en programas...

Vía: http://elmundoesmovil.blogspot.com/2010/05/tutoriales-ipad-calendarios-con.html

iTunes varias carátulas un sólo CD

By | Hakintosh | No Comments

Problema:

Filtras un CD y te aparecen varias catárulas en el navegador de titulos. Es un bug.

Se arregla selecionando todos los temas y en las propiedades (cmd+i) en una de las pestañas te deja marcar el disco como una "recopilación", lo haces y aceptas y después repites el proceso desmarcando esa opción y si el resto de tags son iguales en todo el disco ya debería salir bien, como un solo cd.

Gracias @AluminiuM