jueves, 2 de mayo de 2013

Dómotica libre II (cargando configuración en arduino desde tarjeta SD)

Lo primero que se ha considerado necesario para desarrollar un sistema domótico basado en arduino mínimamente decente, ha sido la implementación de un sistema de configuración de red que cargue los valores definidos desde un fichero guardado en una tarjeta SD instalada en la placa ethernet conectada a nuestro arduino.

placa_ethernet
Tarjeta Ethernet

De esta manera, evitamos tener que reprogramar la tarjeta arduino cada vez que sea necesario modificar la configuración de red o necesitemos hacer una nueva instalación en una red diferente.

Para esta finalidad utilizaremos un fichero guardado en el directorio raíz de nuestra tarjeta SD al que llamaremos, por ejemplo, "network.ini" que contiene los siguientes datos:

MAC: 90.A0.DA.0D.22.4F
IP: 192.168.1.110
PORT: 80

MAC se refiere a la dirección MAC de la tarjeta ethernet, se trata de un código de 6 números hexadecimales que viene en un pegatina adherida en la parte inferior de la tarjeta.

La IP se refiere a la dirección que ocupa nuestra placa arduino en la red, mientras que PORT define el puerto de comunicaciones, siendo el puerto 80 el puerto usual de comunicación para el protocolo HTTP.

Para la lectura de este fichero hacemos uso de la librería incluida en el IDE de Arduino SD.h.

Se han añadido algunas funciones adicionales para la eliminación de los espacios en blanco del buffer de lectura, conversión de hexadecimal a decimal, etc.

Ponemos a continuación el enlace de descarga del sketch que hemos creado. Si quieres descargarlo pincha aquí. Próximamente espero podamos disponer de espacio en Github donde colgaremos todo el software que se vaya desarrollando de este proyecto.

El tamaño final del sketch utilizando el IDE de Arduino 1.0.3. es de 22.078 bytes incluyendo algunas líneas de código para monitorizar el resultado de la lectura de la configuración a través del puerto usb, lo cual supone el 8,42% de los 256kb de memoria disponible en la tarjeta arduino mega 2560 que hemos utilizado.

IDE_Arduino
IDE Arduino

El resultado final de esta primera fase del proyecto, que era disponer de un sistema de configuración por fichero instalable en la tarjeta SD de la placa ethernet conectada a la tarjeta arduino, podemos considerar que se ha cumplido de una forma razonablemente satisfactoria.

1 comentario:

  1. Muy buenas!!!
    Primero que me entanta tu proyecto y me tendras por aqui viendo como evoluciona.

    Yo tambien tengo un proyecto de la misma naturaleza y me encantaria presentartelo para que me des tu opinión.
    Se trata de un sistema domotico basado en arduino, este es totalmente funcional y lleva mucho tiempo funcionando sin ningún tipo de problema, se maneja desde cualquier dispositivo android.
    Entre sus características se encuentran:
    Control de iluminación con control de potencia.
    Control de iluminación on off.
    Control de persianas. Control de toldos.
    Control de climatización con temperaturas de consigna.
    Control de Calefacción con temperaturas de consignas.
    Control de riego automático.
    Programación de horarios.
    Programación de escenas o ambientes.
    Control por voz.
    Posibilidad de control desde fuera de la red local sin ip fija.
    Los dispositivos mínimos para hacer funcionar el sistema son:
    Arduino Mega.
    Arduino Ethernet Shield.
    Real Time Clock Module RTC DS1307
    En el siguiente enlace podeis visitar la web del proyecto en el se colgara toda la documentacion, programas y ejemplos para configurar el sistema.
    http://www.excontrol.es/Domotica-Arduino/
    El codigo para arduino lo podeis descargar en el siguiente enlace
    http://www.excontrol.es/Domotica-Arduino/Descargas/Programa_Arduino_Sistema_Domotico.rar
    Y la aplicacion android esta disponible en playstore, puedes acceder con el siguiente enlace:
    https://play.google.com/store/apps/details?id=arduino.domotics.home.excontrol.free
    Si antes de comprar un arduino mega y una ethernet shield queréis haceros una idea del manejo del sistema podéis descargar una aplicación demo, esta no se conecta a ninguna shield de arduino pero sirve para hacerse una idea del manejo del sistema, la podeis instalar en dispositivos android.
    http://www.excontrol.es/Inmotica/Descargas/SistemaDomoticoDemo.rar
    Si necesitais ayuda con la instalacion consultar el siguiente enlace
    http://www.excontrol.es/Inmotica/Descargas/Instrucciones%20Instalacion%20Demo.pdf
    El sistema tiene 30 puntos de control, podéis descargar el siguiente archivo para ver los mismos.
    http://www.excontrol.es/Inmotica/Descargas/Listadocircuitos.pdf

    ResponderEliminar