Integración IDM: Sonoff Switches


Veamos en esta entrada como programar los interruptores inálambricos Sonoff con el mismo firmware que llevan los nodos de Logic Wire.

sonoff-headline

¿Qué es Sonoff?

Sonoff es un producto de Itead Studio. Básicamente son unos interruptores WiFi, que emplean un relé de láminas para controlar una carga de potencia (10 A según las especificaciones). Curiosamente parecidos a los nodos de control de Logic Wire, pero sin relación alguna de parentesco. ¿Su coste? Poco más de 4.50 €. Sorprendente.

Internamente, montan un chip ESP8266EX con 1 MiB de flash. Además, llevan un pulsador conectado al GPIO0 (necesario para poner el chip en modo programación), y un LED en GPIO13. El relé es accesible por el pin GPIO12. Y todo ello en una práctica caja de plástico ABS, con tornillos de sujeción.

Cómo cargar un nuevo firmware

En este ejemplo, usaremos el firmware disponible en el repositorio de Logic Wire, en Light Node. Solo es necesario realizar una pequeña modificación en la configuración de los pines, y cambiar el Makefile para que se adapte al nuevo tamaño de la flash. Estos cambios ya están aplicados en el código del repositorio, por lo que simplemente es necesario compilar con el habitual make.

Para programar el Sonoff, será necesario soldar una tira de 4 pines en el hueco disponible para ello. El pinout es el siguiente:

sonoff-serial-pinout

Para entrar en modo programación, conecta primero el FTDI a esta tira de pines. Después, pulsa el switch que incorpora el Sonoff y, sin soltar el switch, conecta la alimentación del dispositivo. Una vez haya arrancado, se puede soltar el botón. En ese estado, para cargar el firmware ejecuta:

$ make upload

Este firmware incorpora programación vía OTA, por lo que, en adelante, es posible programarlo utilizando ese medio, ejecutando:

$ make ota-upload NODE_IP=a.b.c.d

Todas las herramientas y mecanismos descritos en la entrada sobre Logic Wire antes mencionada son aplicables a este dispositivo.

Referencias

Advertisements

19 thoughts on “Integración IDM: Sonoff Switches

    • Hola. Perdón, tenía el repositorio como privado. Ya lo he cambiado, debes poder entrar sin problemas.
      Un saludo.

      Like

      • Gracias ahora ya sí pero veo que no existe la libreria “IceC” ¿podrias colocarlas en el repertorio?

        #include
        #include
        #include

        Gracias de antemano

        Like

    • iot.h es un fichero generado a partir de la interfaz definida en iot.ice (src/slice/iot.ice). El ejemplo tiene un Makefile con una regla para compilarlo, pero para ello necesitarás tener instalado el programa slice2c, que viene en el paquete Debian de IceC…

      Me temo que llevas razón, este ejemplo es una extensión de otro anterior, que a su vez está dividido en dos partes… en fin, un jaleo. Si estás interesado, puedo hacer otra entrada partiendo desde cero para usar IDM o IceC en los SonOff. Ya me dices algo.

      Saludos.

      PD: puedes encontrar algo más de información aquí: https://arcoresearchgroup.wordpress.com/2016/10/13/comunicacion-serie-con-arduino-i/

      Like

      • Sería genial tener un manual desde cero, todo tiene muy buena pinta

        Voy a revisar la información que me dejas en el PD

        muchas gracias por todo

        Like

  1. Ok. ¿En qué estás especialmente interesado? ¿En IceC, en los SonOff, en IDM, en la integración de tecnologías? Si me comentas un poco, lo puedo orientar más a tus necesidades 😉

    Saludos.

    Like

    • Realmente estoy interesado en todo lo relacionado con los Sonoff que es por donde he empezado en el mundo Arduino e IOT.
      Me interesaria comunicarme con los Sonoff con alguna app movil directamente sin usar un servidor en casa (algo parecido a como lo hace originalmente Sonoff)
      Hasta ahora todo lo que estoy leyendo parte de la base de tener en casa un servidor (casi siempre en una raspberry) y usar DOMOTICZ para comunicarse mediante MQTT.
      Yo busco que sea comunicacion directa mediante CLOUD y al poder ser una app que se pueda usar en IOS.

      Espero haberme aclarado en cualquier otro caso no dudes en preguntarme.

      muchas gracias por el interes.

      Like

      • Ok, entiendo lo que quieres. Creo que el tutorial from scratch que tengo pensado te puede ser útil. Te aviso cuando lo tenga listo (esta semana ando un poco liado), y me cuentas qué te parece. 🙂

        Saludos.

        Like

    • Hola!

      Cayenne tiene muy buena pinta, y proporcionan lo que tú necesitas: un cloud para evitar tener que abrir puertos en tu router de casa. Sin embargo, me temo que no va a ser fácilmente integrable con IceC o IDM. Ambas tecnologías solucionan dos problemas distintos.

      Cayenne no soporta directamente los SonOff, ni tampoco los ESP8266 (que yo haya visto), pero sí que es compatible con Arduino, por lo que no creo que sea difícil integrar el SonOff. Yo empezaría por ahí 😉

      Un saludo.

      Like

      • Exacto, tengo funcionando el sonoff correctamente. eso sí, tanto la app como las configuraciones no son muy personalizables. Asi que sigo buscando la solución perfecta.

        Por favor, cuando tengas un hueco, a ver si puedes publicar lo que me comentaste. Tengo mucho interes en aprender cosas nuevas de este mundo.

        Gracias.

        Like

  2. Ok. En cuanto que pueda, te lo termino 😉 De todos modos, el enfoque que puedes tener con IceC o con IDM es diferente, no está orientado a cloud, es más directo, sin intermediarios. Eso implica que la tecnología de comunicaciones subyacente debe permitirte la conectividad: si quieres acceder a tu dispositivo desde fuera de casa, necesitas que el router de casa te deje “entrar”.

    De todos modos, visto lo visto, se pueden analizar opciones a partir del ejemplo básico. Te aviso cuando lo tenga listo.

    Cheers!

    Like

  3. Tiene buena pinta, esperando con muuuuuuuchas ganas que esté finalizada y con algun ejemplico para zoquetes 😀

    Muchas gracias por el esfuerzo y trabajo realizado.

    Like

    • Jejeje, gracias! ¿Has visto la parte “Getting Started”? He intentado poner un ejemplo sencillo, pero si lo ves muy elaborado, entonces quizá haga falta darle otra vuelta 😀

      Like

      • Soy bastante zoquete… no logro entender la documentación ni los ejemplos y no sé como adaptarlo al Sonoff :-\

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s