Está en la página 1de 17

Manual de desarrollo de Custodium Tracker 1.

0
Custodium soluciones y sistemas SL

Ernesto Snchez
Custodium soluciones y sistemas S.L.
info@custodiumtracker.net
www.custodiumtracker.com
www.custodium.net

Algunas partes de ste documento, en concreto "Instalacin del IDE de Arduino", "Introduccin al IDE de Arduino" han
sido realizadas a partir de las guas existentes de la web de Arduino (http://www.arduino.cc).

Este trabajo est publicado bajo la licencia


Creative Commons Attribution-Noncommercial-Share Alike 3.0.
Para ver una copia de esta licencia, visita:
http://creativecommons.org/licenses/by-nc-sa/3.0/
Excepciones:
- Todas las marcas y marcas registradas mostradas en este documento, as como todos los logotipos mostrados en este
sitio son propiedad de sus respectivos propietarios y NO estn bajo la licencia mencionada.
- Las pginas que vinculen a este documento o sean vinculadas desde este manual NO tienen porqu estar bajo la
licencia mencionada a menos que se indique lo contrario por sus respectivos propietarios.

Revisin:
Fecha

Comentarios

9 de diciembre de 2013

Primera versin pblica.

17 de marzo de 2014

Se aade como actualizar el firmware con Arduino

22 de abril de 2014

Correccin de error en los pines Rx/Tx del diagrama Pinout

ndice
Prefacio.................................................................................................................................................5
Introduccin..........................................................................................................................................6
Que es Custodium Tracker...............................................................................................................6
Por qu Custodium Tracker.............................................................................................................6
Hardware..............................................................................................................................................7
Como funciona Custodium Tracker.................................................................................................7
Conexin para programacin...........................................................................................................8
Conexin a travs de un mdulo FTDI.......................................................................................8
Conexin a travs de un Arduino UNO......................................................................................9
Software..............................................................................................................................................10
Instalacin del IDE de Arduino.....................................................................................................10
Windows....................................................................................................................................10
Linux.........................................................................................................................................11
MacOsX....................................................................................................................................11
Introduccin al IDE.......................................................................................................................12
Comenzando con Custodium Tracker................................................................................................15
Ejemplos de aplicacin.......................................................................................................................16
Blinking led....................................................................................................................................16
Sensor de luz..................................................................................................................................16
Comunicacin por el puerto serie..................................................................................................17
SIM908..........................................................................................................................................17
RTC................................................................................................................................................17

Prefacio
Esta gua de desarrollo intenta ser una forma de acercarse al diseo y desarrollo de proyectos
basados en Custodium Tracker para aquellas personas que que disponen de unos conocimientos
bsicos de Arduino, o si bien nunca han trabajado con l poseen un buen nivel en programacin y
electrnica y desean acercarse al interesante mundo del geoposicionamiento y el internet de las
cosas. Por esta razn y para hacerlo fcil, se ha excluido mucha informacin existente en Internet y
otros manuales para centrarse en los aspectos ms bsicos de las caractersticas de Custodium
Tracker.
Es interesante para el desarrollador recordar que Custodium Tracker nace con la idea de ser
compatible con la informacin y ejemplos ya existentes de Arduino.
Esperamos que les sea de utilidad.

Introduccin
Que es Custodium Tracker
Custodium Tracker es el primer tracker gps en miniatura, libre y modular que proporciona toda la
documentacin, ejemplos y soporte necesarios para que el usuario final o desarrollador pueda
adaptarlo a sus necesidades especficas, haciendo que se comunique con otros dispositivos,
sensores etc.
Nuestra idea es que el usuario y el desarrollador tenga total libertar para elegir el proveedor de datos
gprs, aplicacin web, mapas etc. Sintete libre de crear tu propio firmware, aplicacin web o
accesorios.
A su vez, y en lugar de crear una plataforma nueva desde cero hemos querido mantener la
compatibilidad de Custodium Tracker con el IDE y ejemplos de Arduino ya existentes en la red, con
lo que cualquier desarrollador que ya tenga conocimientos de sta plataforma puede usarlos
directamente, adems de ser respaldado y ayudado por la comunidad ya existente de Arduino.

Por qu Custodium Tracker


Existe una amplia gama de dispositivos en el mercado para poder realizar localizacin gps, pero
ninguno de ellos enteramente libre, y los que se podan realizar a partir de hardware libre eran muy
aparatosos y no cumplan correctamente los requerimientos de modularidad y tamao deseables, por
eso desde Custodium quisimos poner nuestro granito de arena y contribuir al progreso y desarrollo
del hardware libre.

Hardware
Como funciona Custodium Tracker
Custodium Tracker es un dispositivo que cuenta con los siguientes mdulos claramente
diferenciados:
- Microcontrolador Atmega328P a 8mhz
- Reloj en tiempo real (RTC)
- Alojamiento para tarjeta SIM
- Interruptor de encendido/apagado
- Puerto mini USB para carga de batera
- Pads para entrada de carga
- Conector tipo JST para batera LiPo de 3,7v
- Mdulo de comunicaciones GSM/GPRS/GPS SIM908
- Conectores para antena GSM y GPS
- Conector ISP
- Puerto serie
Los componentes estn conectados al microcontrolador siguiente forma:
- ISP: D13 SCK, D12 MISO, D11, MOSI, D10 SS
- JP2: Rx - D0 y Tx - D1
- SIM908: D4 - Rx , D5 - Tx, D8 - ON/OFF , D9 - RST
- RTC: ICSP (MISO, MOSI,SCK y SS), D2 SWQ , D3 SS

Descripcin general

Pinout

IMPORTANTE:
A nivel de hardware hay que tener en cuenta las siguientes consideraciones, no seguirlas puede
conllevar la destruccin del hardware:
- El puerto USB y los pads de carga solamente sirven para cargar la batera, en ningn caso
alimentan el resto del circuito, necesitan 5V estabilizados.
- El interruptor de encendido/apagado debe ser manipulado con cuidado, en ningn caso realizando
palanca sobre el mismo con un elemento externo.
- Las bateras han de ser de tipo LiPo y de 3,7V nominales.
- No se debe tener conectada la batera y una fuente de alimentacin externa al mismo tiempo.

Conexin para programacin


Custodium necesita una placa externa para su programacin u actualizacin del firmware, esto es
debido a que en su diseo ha primado el minimalismo, modularidad y economa.
sto puede hacerse de dos formas, que se detallan a continuacin.

Conexin a travs de un mdulo FTDI


Para poder programar Custodium Tracker con un mdulo FTDI se necesitan los siguientes
componentes:
- 1 Custodium
- 1 conversor FTDI (en ste ejemplo se usa FTDI Basic Breakout 3.3/5V de dfrobot.com, pero se
puede emplear cualquier otro conversor FTDI del mercado)
- 1 condensador cermico de 100 nf
- 1 cable mini USB

IMPORTANTE:
- Se puede alimentar Custodium Tracker para su programacin mediante el pin de Vcc del
bus ISP, en este caso la batera debe estar desconectada o el interruptor en posicin de
OFF, en caso contrario Custodium Tracker puede resultar seriamente daado.
- En caso de alimentarse a travs del pin Vcc del bus ISP algunas comunicaciones del
SIM908 pueden no funcionar correctamente, ya que el puerto USB no tiene potencia
suficiente.
AVISO SOBRE EL USO DE OTROS MDULOS FTDI:
- En algunos mdulos FTDI los pines Rx y Tx estn etiquetados al revs, en caso de obtener algn
error hay que probar a invertir dichos pines.
Se habr de cablear como muestra el siguiente esquema:

El resultado quedar como se muestra a continuacin:

INSERTAR FOTO CON FTDI


(En la imagen se han usado hooks o garfios para no soldar permanentemente componente a la placa
principal, as mismo se ha confeccionado una protoboard con el condensador de 100nf y los cables
para ser conectada al conversor FTDI de dfrobot.com y facilitar su manejo)

Conexin a travs de un Arduino UNO


Para poder programar Custodium Tracker con un Arduino UNO se necesitan los siguientes
componentes:
- 1 Custodium
- 1 Arduino UNO(se pueden usar otras versiones de Arduino (Duemilanove, Diecimila, NG...),
siempre que se les pueda retirar el microcontrolador)
- 1 cable USB tipo B

IMPORTANTE:
- Se puede alimentar Custodium Tracker para su programacin mediante el pin de 5V del
Arduino, en este caso la batera debe estar desconectada o el interruptor en posicin de
OFF, en caso contrario Custodium Tracker puede resultar seriamente daado.
- En caso de alimentarse a travs del pin de 5V del Arduino algunas comunicaciones del
SIM908 pueden no funcionar correctamente, ya que el puerto USB no tiene potencia
suficiente y Arduino dispone de un fusible autorearmable que se dispara cuando se
consumen mas de 500mA.
- El primer paso es retirar el microcontrolador de Arduino, sta operacin se ha de realizar
mediante un destornillador y mucho cuidado para no daar las patillas del microcontrolador.
- Una vez retirado el microntrolador se habr de cablear como muestra el siguiente esquema:

Software
Instalacin del IDE de Arduino
En esta seccin se va a tratar la instalacin y configuracin del IDE de Arduino en Windows,
GNU/Linux y MacOsX

Windows
* Descarga la ltima versin del IDE de Arduino de http://arduino.cc/en/main/Software
Cuando la descarga finalice, descomprime el fichero. Asegrate de mantener la estructura de
directorios. Haz doble click en la carpeta arduino-00XX para abrirla. Deberas ver una serie de
ficheros y carpetas ah dentro.
* Conecta la placa
Conecta la placa Custodium a tu ordenador usando el cable mini USB.
* Instala los drivers
Cuando conectas la placa, Windows debera inicializar la instalacin de los drivers (siempre y
cuando no hayas utilizado ese ordenador con una placa Arduino anteriormente).
En Windows Vista y Windows 7, los drivers deberan descargarse e instalarse automticamente.
En Windows XP, se abrir el dilogo de instalacin de Nuevo Hardware:
Cuando te pregunten: Puede Windows conectarse a Windows Update para buscar el software?
selecciona No, no esta vez. Haz click en Siguiente.
Selecciona Instalar desde una lista o localizacin especfica (Avanzado) haz click en Siguiente.
Asegrate que Buscar los mejores drivers en estas localizaciones est seleccionado; deselecciona
Buscar en medios removibles; selecciona Incluye esta localizacin en la bsqueda y navega al
directorio drivers/FTDI USB Drivers dentro de la carpeta que has descomprimido previamente. (La
versin ms reciente de los drivers se puede encontrar en la pgina web
http://www.ftdichip.com/Drivers/VCP.htm) Haz click en Siguiente.
El asistente de instalacin buscar los drivers y te anunciar que encontr un "USB Serial
Converter" (se traduce por Conversor USB-Serie). Haz click en Finalizar.
El asistente de instalacin de hardware volver a iniciarse. Repite los mismos pasos que antes y
selecciona la misma carpeta de instalacin de los drivers. Esta vez el sistema encontrar un "USB
Serial Port" (o Puerto USB-Serie).
Puedes comprobar que los drivers se han instalado correctamente abriendo la carpeta del
Administrador del Dispositivos, en el grupo Dispositivos del panel de control del sistema. Busca
"USB Serial Port" (o Puerto USB-Serie)en la seccin de puertos; esa es tu placa Arduino.
*Ejecuta la Aplicacin Arduino
Haz doble click en la aplicacin Arduino.

Linux
* Descarga la ltima versin del IDE de Arduino de http://arduino.cc/en/main/Software
Cuando la descarga finalice, descomprime el fichero. Asegrate de mantener la estructura de
directorios. Haz doble click en la carpeta arduino-00XX para abrirla. Deberas ver una serie de
ficheros y carpetas ah dentro.
* Conecta la placa
Conecta la placa Custodium a tu ordenador usando el cable mini USB.
* Instala los drivers
Todas las versiones modernas de GNU/Linux (con un kernel superior al 2.4) reconocen
inmediatamente los conversores FTDI, para estar seguro de ello abre una consola y teclea el
comando dmesg la salida, justo despues de conectar la placa deberia ser imilar a:
[33695.259417] usb 2-1: Detected FT232RL
[33695.259420] usb 2-1: Number of endpoints 2
[33695.259424] usb 2-1: Endpoint 1 MaxPacketSize 64
[33695.259427] usb 2-1: Endpoint 2 MaxPacketSize 64
[33695.259430] usb 2-1: Setting MaxPacketSize 64
[33695.261615] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0
[33695.261633] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
Siendo ttyUSB0 en ste caso el puerto serie que se utilizar para programar Custodium desde el
IDE
*Ejecuta la Aplicacin Arduino
Haz doble click en la aplicacin arduino en la carpeta que has descomprimido anteriormente.

MacOsX
* Descarga la ltima versin del IDE de Arduino de http://arduino.cc/en/main/Software
La imagen de disco (.dmg) debera montarse automticamente. Si esto no ocurre, haz doble click
sobre ella. Debera verse algo como en la siguiente figura.

* Instala la aplicacin y los drivers USB


Copia la aplicacin Arduino en tu carpeta de aplicaciones (o en cualquier otro lugar de tu
ordenador).
Si esta es la primera vez que usas Arduino en tu ordenador, necesitars instalar los drivers para el
chip FTDI de la placa. Haz doble click sobre el icono
FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg y sigue las indicaciones del instalador. Necesitars
reiniciar el sistema despus de instalar los drivers. (La ltima versin de los drivers pueden
encontrarse en http://www.ftdichip.com/Drivers/VCP.htm)
* Conecta la placa
Conecta la placa Custodium a tu ordenador usando el cable mini USB.
* Lanza la aplicacin Arduino
Haz doble click sobre la aplicacin Arduino.

Introduccin al IDE
En sta seccin vamos a hacer una introduccin a la configuracin del IDE de Arduino para que
funcione correctamente con Custodium.

IDE de Arduino configurado para programar Custodium

*Selecciona la placa
El primer paso para poder programar correctamente Custodium es seleccionar el tipo de placa en el
IDE de Arduino, a ste nivel es compatible al 100% con la placa LilyPad Arduino w/ATmega328
Hay que seleccionar el tipo de placa en el men Tools > Board > LilyPad Arduino w/ATmega328
* Selecciona el puerto serie
Selecciona el dispositivo serie de la placa Arduino en el men Tools | Serial Port (Herramientas |
Puerto Serial). En caso de Windows Lo ms probable es que sea COM3 o superior, en caso de
Linux y MacOsX se puede comprobar mediante a la orden dmesg como se ha explicado en el
apartado de instalacin del IDE, en cualquiera de los dos casos para asegurarte de cual es, puedes
desconectar la placa y volver a mirar el men; el puerto de la placa habr desaparecido de la lista.
* Botones del IDE
El IDE tiene los siguientes botones:
Verificar, comprueba y compila el sketch actual SIN subirlo a la placa, NO sobrescribe el
contenido actual del Custodium que est conectado.

Cargar, comprueba y compila el sketch actual subindolo a a la placa, SI sobrescribe el


contenido actual del Custodium que est conectado, al ser pulsado debers esperar unos
pocos segundos mientras se compila el sketch y despus deberas ver parpadear los led
RX y TX de la placa FTDI. Si el cdigo se ha grabado correctamente vers aparecer el
mensaje "Done uploading" en la barra de estado.
Nuevo, crea un nuevo sketch en blanco, NO cierra el sketch actual.

Abrir, abre un sketch existente, NO cierra el sketch actual.


Guardar, guarda los cambios del sketch actual, SI sobrescribe los cambios del fichero
original.

Comenzando con Custodium Tracker


ste apartado debera ser una introduccin al lenguaje de programacin de Arduino, como ste
manual est dirigido a gente que ya dispone de esos conocimientos vamos a pasar sta parte por
alto, no obstante recomendamos la adaptacin del libro del libro "Arduino Programming Notebook"
realizada por Rafael Enriquez Salvador, publicado en el Laboratorio de Software Libre de la
Universidad de Crdoba, que puedes descargar de www.custodium.net/blablaclabla

Ejemplos de aplicacin
En ste apartado se van a exponer varios ejemplos de cdigo o sketches para Custodium Tracker,
para todos ellos se necesita Custodium cableado para su programacin como se explica en el
apartado Hardware Conexin para programacin de ste mismo manual.
Todas las librerias y ejemplos estn disponibles para su descarga en
http://www.custodiumtracker.com/files/

Blinking led
El blinking led es el Hola mundo del hardware, es implemente un led que parpadea a una cierta
frecuencia.
Material necesario:
- 1 Custodium Tracker cableado y configurado para programacin
- 1 led (diodo de emisin de luz)
Pasos:
- Conectar Custodium Tracker cableado y configurado para programacin al ordenador.
- Cargar el programa de ejemplo en IDE de Arduino de haciendo click en Archivo Ejemplos
Basics Blink
- Modificar la lnea del programa que pone int led = 13; para que ponga int led = 13; sta
modificacin es necesaria debido a que Arduino lleva un led por defecto en el pin digital 13,
mientras que nosotros vamos a poner uno en el pin digital 0 (Rx).
- Pulsar el botn Cargar, una vez est la carga finalizada se podr leer Carga finalizada en el IDE
- Desconectar Custodium del adaptador FTDI y apagarlo
- Conectar el led a los pines Gnd y D0 de Custodium Tracker (Aviso: El led es un componente con
polaridad, su patilla mas corta, que corresponde con el borde liso del encapsulado es Gnd o tierra,
mientras que la otra tiene que ir a D0)
- Encender Custodium y verificar que el led parpadea.
Nota: en caso de querer experimentar y observar diferentes frecuencias de parpadeo se pueden
cambiar los valores de las lneas delay(1000); siendo 1000 en el caso del ejemplo los milisegundos
que espera entre encender y apagar el led.

Sensor de luz
Con este ejemplo vamos a ver como leer los datos de un sensor de luz o ldr desde Custodium
Tracker
Material necesario:
- 1 Custodium Tracker cableado y configurado para programacin
- 1 ldr
- 1 resistencia de 2k2
Pasos:
- Blablablablablabla

Comunicacin por el puerto serie.


Custodium Tracker puede comunicarse a travs del puerto serie con el ordenador u otros
dispositivos, en ste ejemplo veremos
Material necesario:
- 1 Custodium Tracker cableado y configurado para programacin
Pasos:
- Conectar Custodium cableado y configurado para programacin al ordenador.
- Cargar el programa de ejemplo en IDE de Arduino de haciendo click en Archivo Ejemplos
Communications ASCIITable
- Pulsar el botn Cargar, una vez est la carga finalizada se podr leer Carga finalizada en el IDE
- Desconectar Custodium del adaptador FTDI y apagarlo
- Conectar el led a los pines Gnd y D0 de Custodium (Aviso: El led es un componente con
polaridad, su patilla mas corta, que corresponde con el borde liso del encapsulado es Gnd o tierra,
mientras que la otra tiene que ir a D0)
- Encender Custodium y verificar que el led parpadea.

SIM908
Custodium Tracker es compatible con la librera de GSM Shield de Arduino, disponible en
https://code.google.com/p/gsm-shield-arduino/
Para que dicha librera funcione con Custodium Tracker hay que modificar las siguientes lneas del
archivo GSM.cpp:
Original:
#define _GSM_TXPIN_ 2
#define _GSM_RXPIN_ 3
Modificar por:
#define _GSM_TXPIN_ 4
#define _GSM_RXPIN_ 5

RTC
El RTC de Custodium Tracker es un DS3234, que se comunica con el microcontrolador a travs del
bus ISP, siendo el pin de CS (Chip Select) el 3.
Se pueden descargar libreras para el uso de ste chip de https://github.com/rodan/ds3234
Una de las ventajas que tiene ste RTC es que se pueden configurar alarmas y que el
microcontrolador entre en funcion de sleep para el ahorro de bateria, un ejemplo de ste uso se
puede descargar de:
http://www.custodiumtracker.com/files/rtc_ds3234_alarm_every_5m_interrupt.zip

También podría gustarte