DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA BOX TO MARKET BTM
INFORME DE RESULTADOS DE PASANTIA
Jorge Ivan Tapicha Bedoya
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA
PROYECTO CURRICULAR DE INGENERÍA ELECTRÓNICA BOGOTÁ
2016
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA BOX TO MARKET
BTM
JORGE IVAN TAPICHA BEDOYA
Informe de resultados de pasantía
Director Roberto Ferro Escobar
Profesor Facultad de Ingeniería
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERIA
PROYECTO CURRICULAR DE INGENERÍA ELECTRÓNICA BOGOTÁ
2016
Tabla de contenido
1. RESUMEN ................................................................................................................................... 4
2. JUSTIFICACION............................................................................................................................. 6
3. OBJETIVOS ................................................................................................................................... 7
3.1 Objetivo General: ................................................................................................................... 7
3.2 Objetivos Específicos: ............................................................................................................. 7
4. MARCO TEORICO ......................................................................................................................... 8
5. DISEÑO DE APLICATIVOS ........................................................................................................... 12
6. DESARROLLO DE APLICATIVOS ................................................................................................. 16
7. ANALISIS Y EVALUACION DE RESULTADOS ............................................................................... 25
8. CONCLUSIONES .......................................................................................................................... 26
9. REFERENCIAS…………………………………………………………………………………………………………………………27
4
1. RESUMEN
El BTM (Box to market) es un sistema C2C (Customer to Customer) el cual permite a los clientes interactuar con los demás mediante la compra y venta de productos.
Este surge basado en los fundamentos principales de Instapagos, empresa cuyo propósito es facilitar la vida a los usuarios registrados quienes, por medio de la aplicación pueden vender algún servicio o producto, hacer pagos electrónicos, transferencias de dinero a otras cuentas, entre otros servicios que hacen de éste todo un ecosistema de productos y servicios transaccionales enfocado en una plataforma compuesta por billeteras móviles y negocios colaborativos [1].
Como expansión de la empresa no solo a nivel de software si no a nivel físico Instapagos ha creado sistemas como el de contador prepago, el cual es un aparato que nos suministra energía eléctrica preparada, siendo esta útil para restringir el consumo de energía eléctrica en el caso de un hogar o una empresa, o para cargar cual tipo de tipo de dispositivo o vehículo que requiera de esta. Estos son ubicados en empresas, colegios o sitios públicos.
En el campo de los productos transaccionales esta la reserva de la capsula en donde una persona puede reservar un apartamento o una habitación en un hotel, sin importar el lugar en el que se encuentre, e incluso pueden reservarla por horas o días y se le entrega al usuario una clave de acceso que solo servirá en el horario de reserva de dicha capsula.
Con el propósito de seguir creciendo, el nuevo proyecto de esta empresa BTM se basa en un armario con 13 compartimientos de diferentes tamaños, que se van a prestar para que un usuario pueda depositar un producto en uno de sus compartimientos donde cualquier persona que se acerque pueda comprarlo. Esto mediante una interfaz de software, que consiste en una aplicación android en una Tablet en la que los usuarios van hacer todas sus transacciones. Los compartimientos se manejan mediante unas cerraduras especiales conectadas a un módulo de potencia que trabaja de acuerdo a las órdenes que le mande la aplicación. La primera instalación de este prototipo será en el campus de Movistar en conjunto con el fondo de empleados de telefonía colombiana, Fecel.
En este proyecto se llevó a cabo el primer demo de la BTM que se desarrolló en cinco etapas, la primera consta del diseño de la aplicación en android en la que se hicieron las interfaces principales, con las que el usuario iba a comunicarse con la BTM con el fin de comprar o vender un producto. Para la comunicación con la BTM fue necesario usar unas librerías de comunicación serial. La segunda etapa fue el montaje de la BTM en cuanto a sus instalaciones eléctricas y la circuitería necesaria para el control, de manera que una vez hecho el montaje se procedió a programar el dispositivo para que se comunique con la aplicación. Como último, se tuvo el proceso de sincronizar todas las partes de la aplicación android y dispositivo
5
programable en cuanto a comunicación serial bidireccional, y la sincronización del dispositivo programable con los módulos de potencia encargados de abrir las puertas.
6
2. JUSTIFICACION
En el mundo de los negocios y los mercados, el marketing es la herramienta esencial en la cual nos basamos para lograr la comercialización de un producto. Este es un conjunto de técnicas con las cuales un empresario le llega a un cliente para que este último compre un producto o servicio.
Hoy en día entrar en el mundo de los negocios es cada vez más difícil debido a la
demanda que hay, puesto que ya hay muchas redes de comercialización en línea,
redes de servicios, redes de pagos por internet, cantidad de oligopolios a la hora de
ir a comprar cualquier tipo de producto, por lo que si se quiere entrar a interactuar
con los mercados es necesario crear un modelo de negocio que abastezca ciertas
necesidades de interacción.
Por lo que surge la idea del BTM (Box to Market) el cual no se basa en un negocio
a gran escala si no por el contrario consiste en pequeños negocios cuyo papel
fundamental es la interacción de cliente a cliente, donde podrán tanto vender o
comprar productos de forma inmediata. Este sistema de compras y ventas va
dirigido para los empleados de cualquier empresa o institución que este afiliada a
Instapagos y puedan depositar los productos a vender en los casilleros del BTM por
un costo de alquiler equivalente al tiempo que el usuario quiera ofrecer dicho
producto, de esta misma manera la persona que compre el producto lo hará
consignando el dinero en la billetera electrónica del sistema y dicho monto se le
consignará a la cuenta del cliente.
Cada vez que una persona quiera vender algún producto no tiene que desgastarse
ofreciéndolo ni publicándolo en muchos sitios, porque si el producto es bueno este
se podrá dejar en un casillero de la BTM, y solo tendrá que esperar a que el valor
de ese producto sea consignado en la cuenta del cliente que ofreció dicho producto.
7
3. OBJETIVOS
2.1. Objetivo general
Diseñar e implementar el primer prototipo de BTM.
2.2. Objetivos específicos
Crear la aplicación móvil del BTM en Android lo bastante robusta y sin
problemas de conexiones con el servidor, para que los usuarios interactúen
entre sí comprando y vendiendo productos.
Diseñar e implementar el módulo de potencia que se encargara de manipular
las cerraduras de los 13 compartimientos.
Diseñar un algoritmo que permita saber el estado de las cerraduras mediante
las acciones de abrir/cerrar cerraduras.
Diseñar e implementar la comunicación por puerto serial entre la aplicación
android y el micro controlador central lo que se encargará de enviar las
órdenes al módulo de potencia para abrir o cerrar las cerraduras de los
compartimientos. Enviar las acciones de abierto/cerrado de cerraduras desde
la Tablet mediante puerto serial.
8
4. MARCO TEORICO
El presente proyecto a desarrollar se enfoca en el diseño e implementación de un
sistema BTM (Box to Market) el cual consta de la interacción entre software y
hardware por medio de una aplicación en Android y una tarjeta Arduino que se
encargaran de comunicarse con el fin de abrir y cerrar los compartimientos de la
BTM. Esta comprende todo un sistema de potencia y de control que se relaciona
con todas las cerraduras del sistema e indica el estado de cada cerradura a la
aplicación móvil, para que ella informe de que compartimientos se pueden usar para
vender productos y en cuales solamente se pueden comprar los productos. Las
etapas fundamentales del proyecto son el desarrollo de la aplicación móvil, diseño
del módulo de potencia, comunicación serial entre la arduino y la Tablet, y la
sincronización de todo el sistema en su conjunto. A continuación se presentan una
serie de definiciones con el propósito de realizar un primer acercamiento a lo
expuesto anteriormente.
4.1 APLICACIÓN ANDROID
La telefonía móvil está cambiando la sociedad actual de una forma tan significativa como lo ha hecho el internet [2]. El lanzamiento de Android como una nueva plataforma para el desarrollo de aplicaciones móviles tuvo una gran aceptación en todo el mundo convirtiéndose en el sistema móvil más usado en todo el mundo [3].
Android es un sistema operativo y una plataforma de software, basado en Linux para teléfonos móviles. Además, también usan este sistema operativo (aunque no es muy habitual), tabletas, notebooks, reproductores de música e incluso PC’s. Android permite programar en un entorno de trabajo (framework) de Java, aplicaciones sobre una máquina virtual Dalvik (una variación de la máquina de Java con compilación en tiempo de ejecución). Además, lo que le diferencia de otros sistemas operativos, es que cualquier persona que sepa programar puede crear nuevas aplicaciones o incluso, modificar el propio sistema operativo, dado que Android es de código libre, por lo que sabiendo programar en lenguaje Java, va a ser muy fácil comenzar a programar en esta plataforma [4].
Los componentes de una aplicación en android son [2]:
Vista: son cada uno de los elementos que componen la interfaz de usuario.
Layout: es el conjunto de vistas que determinan la forma como se va ver la aplicación.
Actividad: son las acciones que interactúan con el usuario en un layout.
Servicio: proceso que se ejecuta en segundo plano sin la necesidad de una interacción con el usuario.
Intención: es la parte encargada de realizar alguna acción.
9
Receptor de anuncios: es el encargado de recibir y reaccionar ante anuncios de tipo broadcast.
4.2 ARDUINO ATMEGA 2560
Placa basada en el microcontrolador ATmega2560. Como características más destacables diremos que tiene 54 pines de entrada/salida digitales (de los cuales 14 pueden ser usados como salidas analógicas PWM), 16 entradas analógicas y 4 receptores/transmisores serie TTL-UART. Consta de una memoria Flash de 256 Kilobytes (de los cuales 8 están reservados para el bootloader), una memoria SRAM de 8 KB y una EEPROM de 4 KB. Su voltaje de trabajo es de 5V [5].
Fig. 1. Arduino atmega 2560. http://saber.patagoniatecnology.com/arduino-mega-
2560-atmega-mega-arduino-clon-compatible-argentina-tutorial-basico-informacion-arduino-argentina-ptec/
4.3 MODULO DE POTENCIA
El módulo de potencia es el encargado de suministrar la energía necesaria para que con los pulsos que se van enviar desde la tarjeta arduino se energicen de manera que las cerraduras abran sin problema. Para este caso, la potencia es suministrada por una fuente de 12V, y los módulos de potencia encargados de hacer la conmutación son tarjetas de 8 relés para arduino.
4.3.1 Relé
Es un dispositivo que consta de dos circuitos diferentes: un circuito electromagnético (electroimán) y un circuito de contactos, al que aplicaremos el circuito que queremos
10
controlar. En la siguiente figura se puede ver su simbología así como su constitución (relé de armadura) [6].
Fig. 2. Partes de un relé. http://www.electronicafacil.net/tutoriales/El-rele.php
Su funcionamiento se basa en el fenómeno electromagnético. Cuando la corriente atraviesa la bobina, produce un campo magnético que magnetiza un núcleo de hierro dulce (ferrita). Este atrae al inducido que fuerza a los contactos a tocarse. Cuando la corriente se desconecta vuelven a separarse. Los símbolos que aparecen en las figuras poseen solo 1 y dos circuitos, pero existen relés con un mayor número de ellos.
4.3.2 Modulo de relés para arduino.
Como se dijo anteriormente, se usan dos módulos de 8 relés cada uno para manejar la apertura y cierre de las 13 cerraduras.
Fig. 3. Módulo relés para conectar a arduino y a las cerraduras. http://www.dx.com/es/p/8-channel-5v-relay-module-board-for-arduino-red-
156424#.VjzWFbcvfIU
11
4.4 COMUNICACIÓN SERIAL
La comunicación serial consiste en el envío de un bit de información de manera secuencial, esto es, un bit a la vez y a un ritmo acordado entre el emisor y el receptor.
Existen en la actualidad diferentes ejemplos de puertos que comunican información de manera serial (un bit a la vez). El conocido como “puerto serial” ha sido gradualmente reemplazado por el puerto USB (Universal Serial Bus) que permite mayor versatilidad en la conexión de múltiples dispositivos. Aunque en naturaleza serial, no suele referenciarse de esta manera ya que sigue sus propios estándares y no los establecidos por el RS-232.
La mayoría de los microcontroladores, entre ellos Arduino, poseen un puerto de comunicación serial. Para comunicarse con los computadores personales actuales que poseen únicamente puerto USB requieren de un dispositivo “traductor”. Arduino emplea el integrado FT232R, el cual es un convertidor USB-Serial. A través de este integrado el microcontrolador puede recibir y enviar datos a un computador de manera serial [7].
12
5. DISEÑO DE APLICATIVOS
En el desarrollo del proyecto se planteó construir la aplicación en Android y el sistema electrónico de aperturas de cerraduras, quienes se comunican vía serial entre sí, con el fin de controlar el sistema electrónico que se encarga de controlar la BTM, el esquema general del sistema se muestra a continuación:
Fig. 4. Esquema general del sistema (software DIA)
Como se puede observar hay dos tipos de usuario, los usuarios que venden productos, los cuales se comunican con la aplicación Android para fijar el precio del producto y depositarlo en la BTM; y los usuarios que compran donde se comunican con la aplicación para hacer efectiva la compra del producto y sacarlo de la BTM.
5.1. ANÁLISIS DE REQUERIMIENTOS
Se requiere el demo del sistema BTM, cuyo principal requerimiento para el desarrollo del proyecto, es garantizar la comunicación serial de forma bidireccional entre la Tablet y el sistema electrónico que maneja las cerraduras. Tomando como eje fundamental este requerimiento, se diseñan los demás requerimientos.
13
5.1.1. Aplicación Android
En la aplicación Android se deben crear las siguientes actividades:
La actividad principal en donde el usuario escoge si vende, compra, o ve el precio de un producto que haya dentro de la BTM.
La actividad de vender, donde el usuario escoge en que compartimiento (Box) va a depositar el producto y fija el valor de venta del mismo.
La actividad de ‘cerrar venta’ en donde se le pide al usuario que cierre la puerta del compartimiento y presione continuar. Si el usuario no cierra la puerta, la App no continua para garantizar que el producto a vender quede correctamente almacenado en el compartimiento.
La actividad ‘comprar’, en donde el usuario selecciona su método de pago.
La actividad ‘selección’, la cual el usuario selecciona un compartimiento sea para comprar, vender o ver el precio de un producto.
La actividad ‘abrir box’ que se va prestar para compra o venta de un producto.
5.1.2. Sistema electrónico
El sistema electrónico debe cumplir las siguientes funciones:
Manejar la apertura de todos los compartimientos mediante algún módulo de potencia.
Realimentar los estados de las cerraduras (abierto/cerrado), cada vez que el sistema lo solicite.
5.1.3. Sincronización de la aplicación android con el sistema electrónico
La sincronización de la aplicación con el sistema electrónico se hace por medio de la comunicación serial bidireccional que deben responder a estos procesos:
Cada vez que la aplicación requiera el estado de un compartimiento, el sistema deberá devolverlo.
Cada vez que se requiera abrir un compartimiento, se envía la orden desde la aplicación y el sistema electrónico deberá activar el módulo de potencia encargado de abrir ese compartimiento.
14
5.2. DIAGRAMAS DE FLUJO
A continuación se mostrará los diagramas de flujo de los requerimientos del proyecto:
5.2.1. Aplicación Android
En el diseño de la aplicación Android se crearon 3 actividades las cuales son ‘comprar’, ‘vender’ o ‘mirar precio’. A la hora de comprar o vender un producto se necesita abrir el compartimiento, por lo que la App envía comandos por comunicación serial para que el sistema electrónico abra los compartimientos.
Fig. 5. Diagrama de flujo general diseño App.
15
En la actividad ‘vender’, cuando pasamos por el proceso de elegir box disponible, se manda un dato por comunicación serial que abrirá el box seleccionado. Cuando fijamos el precio, la App le estará pidiendo al sistema electrónico el estado del compartimiento donde se ingresó el objeto a vender y no dejará continuar hasta verificar que el compartimiento donde se ingresó el objeto esté cerrado.
En la actividad ‘comprar’, una vez se ha hecho la transacción por el precio del producto, se enviará un dato al sistema electrónico para que abra dicho compartimiento en donde fue comprado el producto.
5.2.2. SISTEMA ELECTRÓNICO
La principal función del sistema electrónico es estar escuchando por el puerto serial hasta detectar un dato y ejecutar alguna de sus dos funciones, que son regresar el estado de un compartimiento o abrir un compartimiento.
Fig.6. Diagrama de flujo general sistema electrónico
Cuando el dato escuchado hace referencia a abrir algún compartimiento, se activa el módulo de potencia que corresponde al compartimiento que queramos abrir. Si el dato hace referencia a devolver el estado, este devuelve el estado que muestran las cerraduras que son abierto o cerrado.
16
6. DESARROLLO DE APLICATIVOS
En este capítulo se planteó partes de los desarrollos del proyecto de pasantía, los cuales los dividimos en la aplicación Android y el sistema electrónico.
6.1. APLICATIVO ANDROID
Se desarrolló el aplicativo Android en la plataforma Android Studio, de forma nativa, cuyo lenguaje usado para la programación lógica fue Java y las interfaces gráficas las hicimos mediante diseño en XML.
Fig.7. Entorno de desarrollo android studio
Como se puede observar en la figura 7 que representa el entorno de desarrollo donde se hizo la aplicación del BTM, al fijarse en el lado izquierdo de la imagen se muestra el contenido de dos carpetas principales: la carpeta azul llamada ‘java’ es donde se alojan todas las clases lógicas, sean propias de las actividades principales o clases constructoras donde se especificó ciertas funciones que tiene la aplicación. La carpeta ‘res’, es donde se aloja todos los materiales de diseño que serán usados en la aplicación; por ejemplo, en el drawable se guardan todos los iconos e imágenes que se mostrará en las vistas, y en la carpeta ‘layout’ se encuentran todas las vistas que serán visibles al usuario. Las actividades desarrolladas con sus vistas correspondientes fueron las siguientes:
17
6.1.1. Actividad y vista principal
Fig.8. Vista principal
En esta actividad el usuario escogerá entre vender, comprar o ver el precio de un producto del BTM. Para los tres métodos existentes en esta actividad, se usará una vista llamada ‘selección’ la cual mostrará todos los compartimientos libres y ocupados, y los que estén ocupados se encontrarán con un precio de venta.
6.1.2. Actividad y vista vender.
Fig. 9. Vista vender.
18
El atributo y característica de esta actividad es de fijar el valor con el que venderá el producto. 6.1.3. Actividad y vista cierre de venta.
Fig. 10. Vista cierre de venta.
Una vez fijado el precio del producto, la actividad ‘vender’ nos redirige a la actividad ‘cierre de venta’, la cual tiene como condiciones que el usuario cierre la puerta del box y esté registrado en Instapagos para que la venta solicitada sea un éxito. Sin embargo, para el caso de este demo la única condición es que el usuario cierre la puerta del compartimiento. En esta actividad la aplicación le está pidiendo al sistema electrónico que le mande el estado del compartimiento donde se ingresó el producto. 6.1.4. Vista y actividad comprar
El proposito de esta actividad es que el usuario escoja con que medio de pago va a comprar el producto seleccionado dentro de los cuales se tiene cuatro opciones, con tarjeta de credito, con token, con billetera Instapagos que es el dinero que se tiene como usuario registrado en la plataforma de Instapagos, y por último, la Billetera institucional la cual será un billetero que se implementará a futuro en el prototipo comercial de Instapagos. A base de demo, cualquiera de los pagos seleccionados mandará un mensaje al servidor de Instapagos con la información del precio del producto, para luego redirigir a la selección del box que se quiera comprar.
19
Fig. 11. Vista comprar.
6.1.5. Actividad y vista selección
Fig.12. Vista selección
La selección se presta para los tres procesos principales los cuales son vender, comprar y ver precio. Al elegir cualquiera de estos métodos, aparecerá el listado de los compartimientos con dos estados libres en caso de no estar en uso, y con el precio fijado en caso de estar ocupados. La razón por la que en la vista de la Fig. 12 no se puede visualizar los box es porque para esta actividad se crearon unas clases en Java llamadas Boxadapter y SeleccionActivity, en las cuales se crean
20
vistas personalizadas para el listado de box, por lo que estas se podrían ver solo en tiempo de ejecución como se muestra en la figura 13.
Fig.13. Vista selección en tiempo de ejecucion.
6.1.6. Actividad y vista abrir box.
Fig.14. Vista abrir box
21
En esta actividad lo que se hace es abrir el compartimiento que se ha seleccionado para depositar el producto a vender, en el momento que se selecciona abrir la aplicación, se le da la orden al sistema electrónico que active el módulo de potencia que se encarga de abrir el box requerido. Para el caso de la compra de un producto, el box donde se compró abre automáticamente en la medida que se compra el producto.
6.2. Aplicativo Del Sistema electronico Se desarrolló el sistema electrónico usando una plataforma de hardware libre llamada Arduino, en la cual se dividió en tres etapas, la etapa de potencia que es la que maneja la apertura de los compartimientos, la etapa de lectura de estados que nos dice si un box está cerrado o abierto, y la etapa de comunicación serial la cual se encarga de enviar y recibir información proveniente de la aplicación Android.
Fig.15. Diagrama del Sistema electrónico
22
6.2.1. Etapa de comunicación serial
Para la comunicación serial se conectaba un conversor de USB a RS232 macho
desde la Tablet que aloja la aplicación Android. Para conectarlo al Arduino es
necesario convertir la señal RS232 a TTL, debido a que la Arduino solo recibe
voltajes de 0 a 5 V, por lo que se necesitó usar un integrado llamado max232. Con
el fin de simplificar el circuito que convirtiera esta señal se compró el módulo de
comunicación max232.
Fig. 16. Modulo Serial Tipo Hembra RS232 TTL MAX3232
http://www.vistronica.com/comunicaciones/serial/modulo-serial-tipo-hembra-rs232-
ttl-max3232-detail.html
La comunicación serial con la aplicación Android se sincronizó de tal manera que
la Arduino siempre estaba en estado de escucha de datos que le enviara la App.
Esta podía enviar datos que abrieran los compartimientos o datos en donde se pedía
el estado de una cerradura.
6.2.2. Etapa de potencia
En esta etapa se usaron dos módulos relés, como los que se muestran en la figura
3. Para activar la apertura de las cerraduras se enviaba un pulso durante 0.5
segundos, el tiempo suficiente para que la cerradura expulsara la puerta. Luego
para activar las cerraduras era necesario que los pulsos fueran a 12V. Los cables
rojos y negros son por donde va el pulso, es decir uno a 12V y el otro a tierra para
que esta expulsara la puerta.
23
Fig.17. Cerradura modelo KR-1407
6.2.3. Etapa de lectura de estados de cerraduras.
En esta etapa le brindamos a la aplicación el estado de la cerradura de acuerdo a
si el compartimiento está abierto o cerrado, para esta la App manda un comando
cuando necesite saber el estado de una cerradura en específico.
Fig.18. Cerradura con herradura puesta.
24
Para el caso de los estados, en la figura 18 se puede ver que hay un cable blanco
y uno azul. De esos dos cables sacamos la información de si la puerta del
compartimiento está abierta o cerrada, para ello nos basamos en que cuando la
herradura esta puesta en la cerradura los dos cables hacen corto, de lo contrario
hacen circuito abierto. Fue necesario montar una resistencia de pull-up por cada
estado, de esta manera cuando la puerta está cerrada el estado son 5V y cuando
está abierta el estado son 0V.
25
7. ANALISIS Y EVALUACION DE RESULTADOS
El Sistema electrónico y la aplicación Android cumplen con los requerimientos necesarios para seguir avanzando en busca del prototipo comercial. En cuanto al sistema electrónico queda de forma comercial, aunque la empresa Instapagos piensa extenderlo a 15 compartimientos, lo cual no es problema ya que el programa creado en el microcontrolador se dejó lo suficientemente escalable, por lo que aumentar los compartimientos solo tardaría unos 30 minutos en cuanto a programación de la tarjeta Arduino. Con los módulos de potencia se tiene 3 relés libres por lo que no es necesario adquirir material electrónico extra, ya que con lo que se dejó montado hay para una capacidad de hasta 16 compartimientos.
Se establecieron varios puntos de manera robusta en la aplicación Android, uno de ellos que era objetivo específico, fue la conexión con el servidor, por lo que la aplicación se dejó hecha para cuando la parte del servidor de Instapagos finalice su construcción, empiece a mandar datos reales de cuenta de usuario y transacciones en línea de forma exitosa. A manera de pruebas, se mandaron datos aleatorios al servidor de Instapagos y este nos respondió exitosamente con 200 OK como códigos de estado en el protocolo HTTP.
En cuanto a la comunicación serial entre la aplicación y el Arduino, fue un poco más compleja de hacer en la aplicación Android, debido a que la librería tomaba solo de a un dato char por instantes de lectura. Debido a esto, se optó a que la Arduino fuera quien escuchara todo el tiempo la comunicación, ya que la App Android estaría haciendo muchas tareas al tiempo, tanto en primer plano como son las vistas y los procesos de cambios entre actividades, como en segundo plano que son el envío de mensajes TCP/IP, y el envío de datos a la Arduino por comunicación serial. Dado esto, la sincronización se hizo desde la App. La App envía un mensaje a la Arduino y se daba un tiempo pequeño en segundo plano para que concatenara la respuesta que le envía la Arduino, todo esto sin interrumpir las actividades visibles para el usuario.
Los módulos de relés para manejar las cerraduras fueron bastantes sencillos de usar ya que traen todos los circuitos de manejo incorporados en ellos. Así las cosas, lo necesario sería polarizarlos y mandar el pulso a cualquier relé para cambiar su estado, aunque cuando se mandaba el pulso, interfería en el envío de datos que se hacía desde la Arduino hasta la aplicación. Esto se solucionó generando retardos entre los pulsos a los módulos de potencia y los mensajes que se enviaban a la aplicación Android.
Los algoritmos creados para el manejo de estados funcionaron perfectamente, esta tarea se realizó de forma inmediata con cada cambio que hacia el microcontrolador, por lo que no afecto en ningún momento el tiempo de respuesta de la comunicación serial ni la apertura de compartimientos en la BTM.
26
8. CONCLUSIONES
Se desarrolló un aplicativo Android y un sistema electrónico mediante comunicación serial que permite al usuario interactuar con unos compartimientos en donde puede comprar o vender un producto.
Cuando se inició este proyecto se tenían unos planes en cuanto a cómo se iban a proyectar los estados. Estos consistían en pantallas LCD por compartimiento para proyectar si estos estaban libres o en caso de ocupado ahí aparecería su precio fijado. Sin embargo, a medida en que se avanza en el proyecto surgen nuevas ideas que logran optimizar y reducir el presupuesto, ya que en lugar de los LCD que requerían más material físico y consumo eléctrico se eligió proyectar los estados en la misma aplicación Android.
El lograr la comunicación serial entre la aplicación Android y la Arduino nos extiende a pensar en muchas más aplicaciones que podemos realizar con esta aplicación. En el caso de IoT nuestra IP seria la del móvil y podemos estar controlando muchos actuadores y a la vez monitorear la cantidad de factores que tengamos de acuerdo a los sensores que queramos usar.
El BTM es un gran proyecto que va facilitar mucho los negocios de marketing en donde su filosofía es “si no lo usas, véndelo”, por lo que al instalarse en sitios corporativos será una gran dinámica ir hasta donde se encuentra la BTM y mirar que cosa interesante hay por comprar, o que producto podemos vender sin tener que preocuparnos por ofrecerlo de nuevo, sino solo esperar que el valor de venta del producto sea depositado en nuestras cuentas.
Se cumplieron satisfactoriamente los objetivos del proyecto, aunque este es apenas el principio de lo que será la brecha BTM ya que este proyecto tiene mucho que ofrecer, y a medida que sigan haciendo mejoras en este, saldrán más ideas que harán de esto un pilar corporativo.
27
9. Referencias
[1] «Instapagos,» [En línea]. Available: www.instapagos.com.
[2] J. T. Girones, El gran libro de android, Marcombo, 2012.
[3] «dedalofundacion,» [En línea]. Available: http://www.fundaciondedalo.org/Ultimas-
Noticias/el-sistema-movil-mas-usado-en-el-mundo-se-llama-android.html. [Último
acceso: 25 10 2015].
[4] D. Sanz, M. Saucedo y P. Torralbo, de Introduccion a android, E.M.E, pp. 1-3.
[5] O. T. Artero, de Arduino curso practico de formacion , Alfaomega, 2013, pp. 101-105.
[6] «Electronicafacil,» [En línea]. Available: http://www.electronicafacil.net/tutoriales/El-
rele.php. [Último acceso: 26 10 2015].
[7] «galaxi0,» [En línea]. Available: https://galaxi0.wordpress.com/el-puerto-serial/.
[Último acceso: 26 10 2015].
28
ANEXOS
1. APUNTES SOBRE LOS SOFTWARE UTILIZADOS
SOFTWARE LICENCIA Android studio Apache 2.0
Ide Arduino Creative Commons
DIA GNU
Fritzing GNU
Tabla 1. Softwares usados y sus licencias
Todos estos softwares que se usó en la realización del
proyecto de pasantía tienen licencias libres por lo que no hay
ningún problema de desarrollo y publicación sobre el trabajo
hecho en los mismos.
Bogotá DC, 19 de Febrero de 2016 Señores Consejo de Carrera Proyecto Curricular Ingeniería Electrónica Universidad Distrital Francisco José de Caldas Ciudad Bogotá Asunto: Concepto del director externo Yo, EDWIN ALBERTO ARGOTE VILLALBA gerente general de la empresa Instapagos, y director externo del proyecto de grado en modalidad de pasantía titulado “DISEÑO E IMPLEMENTACION DE UN SISTEMA BOX TO MARKET (BTM)” a cargo del estudiante JORGE IVAN TAPICHA BEDOYA, con código 20082005012, doy por notificado la finalización con éxito del proyecto de grado cumpliendo todos los objetivos y realizando todas las actividades, por tanto la nota que le doy a este proyecto de grado en modalidad de pasantías es de 5.0. De antemano agradezco la atención prestada.
EDWIN ALBERTO ARGOTE VILLALBA Gerente general Instapagos Director externo proyecto de grado www.instapagos.com [email protected]
La primera
Vitrina Colabora,va en COLOMBIA
Permite la venta de productos nuevos o usados entre usuarios
Facilita la venta de productos al interior de campus empresariales y educa5vos
Funciona como casilla de correos para recibir paquetes
Los usuarios pueden crear clubes de compras y reservar los boxes
Si ya no lo usas… Yo lo quiero…
Cualquier usuario puede u5lizar la BtM para vender cualquier 5po de producto nuevo o usado.
Al realizarse la venta, al vendedor se le acredita en la Billetera instapagos el valor de venta menos el 20%.
El usuario que vende debe registrarse previamente en instapagos.
Interfaz de control intui5va y fácil de usar
Medios de Pago
Modelo de Negocio Adaptable • Fondos de Empleados: Permite que los afiliados comprar
y vender usando un cupo asignado por el fondo integrado a la Billetera instapagos.
• Campus Empresariales y Educa,vos: Los usuarios pueden comprar y vender, así como crear clubes de compra y recibir los pedidos de forma fácil.
• Edificios y Conjuntos Residenciales: Los residentes pueden comprar, vender ó compar5r productos.
• Empresas de Mensajería: Impulsa la rotación de personas en los locales, aportando nuevos modelos de negocio con potencial de crecimiento.
• Empresas de Venta en Línea: Para aumentar la confiabilidad en el comercio electrónico, las empresas pueden ubicar previamente en la BtM los productos que ofrecen en línea como garanIa de su disponibilidad.