Desarrollo de un terminal móvil inteligente CDMA destinado a

Transcription

Desarrollo de un terminal móvil inteligente CDMA destinado a
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
DESARROLLO DE UN TERMINAL MÓVIL INTELIGENTE CDMA
DESTINADO A APLICACIONES M2M
POR
GUILLERMO DANIEL ZERPA ZERPA
Sartenejas, Febrero de 2007
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
DESARROLLO DE UN TERMINAL MÓVIL INTELIGENTE CDMA
DESTINADO A APLICACIONES M2M
POR
GUILLERMO DANIEL ZERPA ZERPA
REALIZADO CON LA ASESORÍA DE
TUTOR ACADÉMICO: PROFESOR CARLOS BIANCHI
TUTOR INDUSTRIAL: INGENIERO PEDRO RÍOS ROLDÁN
INFORME FINAL DE CURSOS EN COOPERACIÓN TÉCNICA Y DESARROLLO SOCIAL
Presentado ante la Ilustre Universidad Simón Bolívar
como requisito parcial para optar al título de
INGENIERO ELECTRÓNICO
Sartenejas, Febrero de 2007
UNIVERSIDAD SIMÓN BOLÍVAR
Decanato de Estudios Profesionales
Coordinación de Ingeniería Electrónica
DESARROLLO DE UN TERMINAL MÓVIL INTELIGENTE CDMA
DESTINADO A APLICACIONES M2M
INFORME FINAL DE CURSOS EN COOPERACIÓN TÉCNICA Y DESARROLLO SOCIAL
PRESENTADO POR
GUILLERMO DANIEL ZERPA ZERPA
REALIZADO CON LA ASESORÍA DE
TUTOR ACADÉMICO: PROFESOR CARLOS BIANCHI
TUTOR INDUSTRIAL: INGENIERO PEDRO RÍOS ROLDÁN
RESUMEN
El proyecto de pasantía presentado a continuación, se basa en el estudio y desarrollo de
una plataforma de pruebas para el manejo de un Terminal Móvil Inteligente sobre una red de
comunicaciones CDMA y abarca el diseño, desarrollo e implantación de un prototipo sobre
una de las aplicaciones comerciales para lograr la incorporación del mismo a una red de
máquinas expendedoras de productos; con el principal objetivo de despachar un producto de
manera local a un usuario que haya enviado un mensaje de texto desde su celular para su
adquisición.
El diseño a grandes rasgos comprende tres etapas. Una primera etapa llamada
“investigación”, donde se identificaron y analizaron los aspectos y características más
importantes de los equipos, tecnología y protocolos de comunicación, que permitieron la
elaboración de criterios de selección y la escogencia de los elementos fundamentales para el
prototipo. Una segunda etapa llamada “desarrollo”, donde se construyó y probó el
funcionamiento del software y hardware del prototipo. Y por último la etapa de
“documentación y elaboración del informe técnico”, donde se presentan los resultados y los
detalles del proyecto de pasantía.
En el presente informe se tiene como objetivo realizar una descripción de las
actividades realizadas, las herramientas utilizadas y los resultados obtenidos durante el
desarrollo del prototipo propuesto por la empresa Dinama C.A, haciendo énfasis en la
investigación y en el desarrollo del nuevo Terminal. La empresa Dinama C.A. opera dentro
del mercado de las telecomunicaciones y específicamente en el área de la televisión y las
aplicaciones móviles.
PALABRAS CLAVES: Telecomunicaciones, Terminal Móvil, CDMA, Kyocera M200, M2M
business, SMS, Microcontrolador.
Sartenejas, Febrero de 2007
iii
A mis padres, Esvelia y Guillermo,
por todo ese amor incondicional que me han otorgado en cada instante de mi vida.
“... Si puedes obligar a tu corazón, a tus nervios y a tus músculos
a obedecerte, aún después de que hayan perdido su fuerza,
y solo tengan tu voluntad que les dice que continúen adelante.
Si puedes dirigirte a las multitudes sin perder tu virtud,
y codearte con reyes sin perder tu sencillez...;
... Si puedes llenar el implacable minuto
con sesenta segundos de esfuerzo denodado,
tuya será la Tierra y cuanto ella contenga,
y, lo que vale mas, ¡serás un hombre, hijo mío!“
Rudyard Kipling
iv
AGRADECIMIENTOS
A mi papá, por guiarme en todo momento de mi vida, por forjar en mí los valores de
constancia, honestidad y lealtad y por ser más que un amigo en quien poder confiar.
A mi mamá, por llevarme de la mano cuando daba mis primeros pasos, por enseñarme a
levantar y a luchar después de una derrota, por amarme y confiar en mí de manera incondicional.
A mi Mari, mi mejor amiga, mi princesa, mi corazón; por estar allí siempre. Por motivarme en
cada instante y brindarme todo tu apoyo de manera incondicional. Por compartir todos estos
maravillosos momentos de mi vida juntos.
A mis hermanos, Vane y Gusta, por esos momentos juntos que hemos compartido día a día y
en los cuales hemos ido creciendo poco a poco y tomados de la mano.
A mis mejores amigos y amigas, Alito, Ernesto, Daniel, Alejandra, Elena, Melany, por ser los
pilares fundamentales en muchos aspectos de mi vida, estando a mi lado y brindándome todo su apoyo
siempre que los he necesitado. Gracias por todos esos excelentes momentos que hemos vivido y
seguiremos viviendo juntos.
A todos mis amigos de la Universidad, por compartir conmigo todos esos momentos increíbles
dentro y fuera de la USB. Las rumbas, las playas, las risas, los trasnochos, las interminables y
divertidas sesiones de estudios y todos esos recuerdos que jamás olvidaremos.
A Pedro Ríos, por ser más que mi jefe, un excelente compañero. Por todo ese apoyo que me
has brindado y más aún, por creer en mí y darme la oportunidad de desarrollar este proyecto.
A Nelson Belfort, por todo tu apoyo, ideas y conocimientos que durante el período de mi
pasantía, me permitieron a seguir adelante de manera exitosa.
A todo el equipo de Dinama C.A. y Dinama Servicios C.A. a quienes considero excelentes
amigos y compañeros de trabajo. Gracias por las mil formas en las que me ayudaron a llevar a cabo de
manera exitosa este proyecto de pasantía. En especial a Pedro, Juan, Gerardo, Javier y Daniella.
A Bruce York, por todo el soporte técnico y la ayuda que me has brindado durante el desarrollo
del prototipo.
A Mariela Velásquez, Ángel Amejeiras, Juan Amejeiras y Richard Ramos, de la empresa
Global Vending CA., por brindarme la ayuda y facilitarme las máquinas expendedoras de café para la
realización de las pruebas del prototipo.
v
ÍNDICE GENERAL
RESUMEN ..................................................................................................................................... iii
AGRADECIMIENTOS ...................................................................................................................... v
ÍNDICE GENERAL ......................................................................................................................... vi
ÍNDICE DE TABLAS Y FIGURAS ..................................................................................................... ix
TABLAS ........................................................................................................................................... ix
FIGURAS .......................................................................................................................................... ix
LISTA DE SÍMBOLOS Y ABREVIATURAS ....................................................................................... xii
CAPÍTULO 1. INTRODUCCIÓN ........................................................................................................ 1
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA .................................................................................... 4
2.1. DESCRIPCIÓN DE LA EMPRESA................................................................................................... 4
2.2. EJECUCIÓN DE PROYECTO: UNIDAD DE NUEVOS NEGOCIOS Y DESARROLLO .......................... 7
2.3. PLANTEAMIENTO DEL PROBLEMA............................................................................................. 8
2.4. JUSTIFICACIÓN DEL PROYECTO ............................................................................................... 10
CAPÍTULO 3. OBJETIVOS Y ALCANCE .......................................................................................... 11
3.1. OBJETIVO GENERAL ................................................................................................................ 11
3.2. OBJETIVOS ESPECÍFICOS ......................................................................................................... 11
3.3. ALCANCE Y LIMITACIONES ..................................................................................................... 11
CAPÍTULO 4. FUNDAMENTOS TEÓRICOS ..................................................................................... 13
4.1. LAS TELECOMUNICACIONES ................................................................................................... 13
4.2. SISTEMAS DE COMUNICACIONES MÓVILES............................................................................. 14
4.2.1. REDES CDMA .................................................................................................................. 18
4.2.2. LOS TERMINALES MÓVILES ............................................................................................. 20
4.3. REDES DE COMPUTADORAS .................................................................................................... 21
4.3.1. MODELO OSI.................................................................................................................... 22
4.3.1.1. CAPAS DEL MODELO OSI .......................................................................................... 22
4.3.2. ARQUITECTURA CLIENTE SERVIDOR ............................................................................... 24
vi
ÍNDICE GENERAL
4.3.3. SISTEMAS OPERATIVOS .................................................................................................... 25
4. 4. TECNOLOGÍA M2M................................................................................................................. 29
4.5. MÁQUINAS EXPENDEDORAS .................................................................................................... 33
4.5.1. ESTÁNDAR MDB.............................................................................................................. 34
4.5.1.1. SISTEMA DE PAGO ELECTRÓNICO O “CASHLESS DEVICE”......................................... 38
CAPÍTULO 5. MARCO METODOLÓGICO ....................................................................................... 40
5.1. PERSPECTIVA TEÓRICA Y TIPO DE INVESTIGACIÓN ................................................................ 40
5.2. OBJETO DE ESTUDIO ................................................................................................................ 40
5.3. FASES DE LA INVESTIGACIÓN .................................................................................................. 41
5.4. PROCEDIMIENTOS .................................................................................................................... 43
5.5. TÉCNICAS E INSTRUMENTOS DE RECOLECCIÓN DE DATOS..................................................... 51
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS ........................................................... 52
6.1. AMBIENTE DE DESARROLLO .................................................................................................... 52
6.2. MÓDULO KYOCERA M200 ...................................................................................................... 52
6.2.1. DESCRIPCIÓN .................................................................................................................... 52
6.2.2. PROTOCOLO DE COMUNICACIÓN KMIP.......................................................................... 54
6.3. RUTINAS Y FUNCIONES BÁSICAS ............................................................................................ 59
6.4. FUNCIONALIDADES DEL MODULO........................................................................................... 62
6.5. DESCRIPCIÓN DEL PROGRAMA PRINCIPAL DE LA PLATAFORMA. ............................................ 63
6.6. DIAGRAMAS DE FLUJO DEL PROGRAMA PRINCIPAL DE LA PLATAFORMA. ............................. 64
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA .................................. 68
7.1. TERMINAL MÓVIL INTELIGENTE DE DINAMA ......................................................................... 68
7.1.2. ELEMENTOS QUE LO CONFORMAN
Y DIAGRAMA DE BLOQUES .................................... 69
7.1.3. ESPECIFICACIONES ........................................................................................................... 71
7.1.4. APLICACIONES DEL TERMINAL MÓVIL INTELIGENTE ...................................................... 72
7.1.5. ARQUITECTURA DEL TERMINAL MÓVIL INTELIGENTE .................................................... 74
7.2. APLICACIÓN PARA MÁQUINA EXPENDEDORA DE CAFÉ.......................................................... 74
7.2.1. ELEMENTOS Y REQUERIMIENTOS ..................................................................................... 75
7.2.3. PROTOTIPO EN TÉRMINOS DE HARDWARE ....................................................................... 75
7.2.3.1. DIAGRAMA DE BLOQUES DEL HARDWARE. .............................................................. 76
7.2.3.2. PROTOTIPO REAL DEL TMI ....................................................................................... 77
7.2.3. PROCESO DE COMPRA A TRAVÉS DEL TMI...................................................................... 77
vii
ÍNDICE GENERAL
7.2.4. PROGRAMA EN EL SERVIDOR ........................................................................................... 83
7.2.5. PROGRAMA DENTRO DEL TERMINAL ............................................................................... 85
7.2.5.1. DIAGRAMA DE FLUJO DE LA APLICACIÓN ................................................................ 87
7.2.6. LIMITACIONES .................................................................................................................. 88
CAPÍTULO 8. RESULTADOS Y ANÁLISIS....................................................................................... 90
8.1. RESULTADOS ........................................................................................................................... 90
8.1.1. DEMOSTRACIÓN DEL SERVICIO........................................................................................ 93
8.2. ANÁLISIS DE LOS RESULTADOS OBTENIDOS ........................................................................... 93
CONCLUSIONES Y RECOMENDACIONES ....................................................................................... 97
CONCLUSIONES .............................................................................................................................. 97
RECOMENDACIONES....................................................................................................................... 98
REFERENCIAS BIBLIOGRÁFICAS ................................................................................................ 100
APÉNDICES ............................................................................................................................... 103
APÉNDICE A. TABLA COMPARATIVA MICROCONTROLADORES Y TARJETAS DE EVALUACIÓN .. 103
APÉNDICE B. MATERIALES Y EQUIPOS UTILIZADOS ................................................................... 105
APÉNDICE C. ESQUEMÁTICOS DE LAS TARJETAS DEL PROTOTIPO TMI ...................................... 121
ESQUEMÁTICOS KIT DE DESARROLLO DEL MÓDULO M200 (MDK)....................................... 121
ESQUEMÁTICO TARJETA OLIMEX STR-P711 ........................................................................... 125
ESQUEMÁTICO DE LA INTERFAZ ELÉCTRICA MDB ................................................................. 126
viii
ÍNDICE DE TABLAS Y FIGURAS
TABLAS
TABLA 4.1. CAPAS DEL MODELO OSI ................................................................................................................. 24
TABLA 4.2. INTERFACES Y ESTÁNDAR DE MÁQUINAS EXPENDEDORAS. .............................................................. 34
TABLA 4.3. INTERFACES Y PROTOCOLO DE MÁQUINAS EXPENDEDORAS............................................................. 37
TABLA 6.1. CANALES MULTIPLEXADOS EN PROTOCOLO KMIP. ......................................................................... 55
TABLA 8.1. CÁLCULO DEL ERROR DE DESVIACIÓN EN LA COMUNICACIÓN SERIAL DEL MICROCONTROLADOR
STR711 UTILIZANDO UN FRECUENTA DE PCLK1=18,432 MHZ......................................................................... 95
TABLA APÉNDICE A.1. TABLA MICROCONTROLADORES Y TARJETAS DE EVALUACIÓN PARTE A..................... 103
TABLA APÉNDICE A.2. TABLA COMPARATIVA ENTRE MICROCONTROLADORES Y TARJETAS DE EVALUACIÓN
PARTE B ........................................................................................................................................................... 104
TABLA APÉNDICE B.1. CARACTERÍSTICAS MÁQUINA EXPENDEDORA DE CAFÉ MODELO COLIBRÍ. FUENTE N&W
GLOBAL VENDING ............................................................................................................................................ 116
FIGURAS
FIGURA 2.1 OPERACIONES CONSOLIDADAS DINAMA C.A. FUENTE INTRANET DINAMA C.A. 2006..................... 5
FIGURA 2.2 PIRÁMIDE DE VALOR AGREGADO DINAMA C.A. FUENTE INTRANET DINAMA C.A. 2006 .................. 6
FIGURA 2.3 ORGANIGRAMA DE LA EMPRESA. FUENTE INTRANET DINAMA 2006 ................................................. 8
FIGURA 2.4. CIFRAS PRELIMINARES DE LA DISTRIBUCIÓN DEL MERCADO DE TELEFONÍA MÓVIL. FUENTE
CONATEL........................................................................................................................................................... 9
FIGURA 4.1. REQUISITOS BÁSICOS DE UN CANAL DE TELECOMUNICACIÓN POR RADIO EN UN SOLO SENTIDO.
FUENTE [SMALE, 1993] ...................................................................................................................................... 14
FIGURA 4.2. REPRESENTACIÓN DE MULTIPLEXACIÓN POR DIVISIÓN DE CÓDIGO. ............................................... 18
FIGURA 4.3. ELEMENTOS DE UN TERMINAL MÓVIL. FUENTE TELEFÓNICA. ........................................................ 21
FIGURA 4.4. COMPONENTES DE UNA COMPUTADORA: VISIÓN DE ALTO NIVEL. FUENTE WIKIPEDIA.................... 26
FIGURA 4.5. NIVELES Y VISTAS DE UN SISTEMA INFORMÁTICO .......................................................................... 28
FIGURA 4.6. ARQUITECTURA DE UNA PLATAFORMA M2M. FUENTE TELEFÓNICA .............................................. 33
FIGURA 4.7. REPRESENTACIÓN DEL FORMATO DE BITS. ...................................................................................... 35
FIGURA 4.8. ESQUEMÁTICO DE CONEXIÓN DE MAESTRO Y ESCLAVO EN LAS MÁQUINAS EXPENDEDORAS. FUENTE
ESTÁNDAR MDB/ICP DE NAMA Y EVA........................................................................................................... 37
FIGURA 4.9. DIAGRAMA DE ESTADOS DE UN PERIFÉRICO TIPO CASHLESS (TMI). ................................................ 38
FIGURA 5.1. CRONOGRAMA DE ACTIVIDADES REALIZADO EN UN DIAGRAMA GANT .......................................... 42
FIGURA 6.1. ARQUITECTURA BÁSICA INTERNA DEL MODULO M200 DE KYOCERA. FUENTE KYOCERA WIRELESS
........................................................................................................................................................................... 53
ix
ÍNDICE DE TABLAS Y FIGURAS
FIGURA 6.2. MÓDULO M200 DE KYOCERA. FUENTE KYOCERA WIRELESS......................................................... 53
FIGURA 6.3. CONECTOR MACHO 54230-0578
PARA EL M200. FUENTE MOLEX................................................ 54
FIGURA 6.4. CONECTOR HEMBRA 55055-0578
PARA EL M200. FUENTE MOLEX .............................................. 54
FIGURA 6.5. DIAGRAMA DE FLUJO SIMPLIFICADO DEL PROGRAMA EN EL MAIN.................................................. 65
FIGURA 6.6. DIAGRAMA DE FLUJO DEL SEGMENTO CONFIGURACIÓN................................................................. 65
FIGURA 6.7. DIAGRAMA DE FLUJO DEL SEGMENTO ANALIZAR DATA ................................................................ 66
FIGURA 6.8. DIAGRAMA DE FLUJO DEL SEGMENTO EJECUTAR FUNCIÓN ............................................................ 66
FIGURA 6.9. DIAGRAMA DE FLUJO DEL SEGMENTO CODIFICAR DATA................................................................ 66
FIGURA 6.10. DIAGRAMA DE FLUJO DEL PROGRAMA EN LA INTERRUPCIÓN DEL UART..................................... 67
FIGURA 6.11. DIAGRAMA DE FLUJO DEL SEGMENTO DECODIFICAR ................................................................... 67
FIGURA 7.1. MODO DE OPERACIÓN DEL TERMINAL MÓVIL INTELIGENTE ........................................................... 68
FIGURA 7.2. ELEMENTOS DEL TERMINAL MÓVIL INTELIGENTE .......................................................................... 70
FIGURA 7.3. APLICACIONES O SERVICIOS ASOCIADOS AL MÓDULO M200. FUENTE KYOCERA WIRELESS. ........ 73
FIGURA 7.4. PROYECCIÓN DE MERCADO M2M EN EL 2010. FUENTES ABI RESEARCH, FROST & SULLIVAN,
KYOCERA ........................................................................................................................................................... 73
FIGURA 7.5. DIAGRAMA DE BLOQUES DE LA ESTRUCTURA INTERNA DEL TMI. ................................................. 76
FIGURA 7.6. FOTOS EXTERNA DEL TMI.............................................................................................................. 77
FIGURA 7.7. FOTOS INTERNAS DEL TMI. ............................................................................................................ 77
FIGURA 7.8. PASOS INVOLUCRADOS EN MODELO DE SICAP. FUENTE SICAP .................................................... 78
FIGURA 7.9. DIAGRAMA DE SECUENCIA. MODELO 1 COBRO POR MO SMS. ...................................................... 79
FIGURA 7.10. DIAGRAMA DE SECUENCIA. MODELO 2 COBRO POR MO SMS. .................................................... 80
FIGURA 7.11. DIAGRAMA DE SECUENCIA. MODELO 1 COBRO POR MT SMS...................................................... 81
FIGURA 7.12. DIAGRAMA DE SECUENCIA. MODELO 2 COBRO POR MT SMS...................................................... 81
FIGURA 7.13. DIAGRAMA DE SECUENCIA. MODELO 3 COBRO POR MT SMS...................................................... 82
FIGURA 7.14. DIAGRAMA DE SECUENCIA. MODELO IDEAL DE DINAMA. ............................................................ 82
FIGURA 7.15. DIAGRAMA DE FLUJO DEL PROGRAMA DE LA APLICACIÓN DE MÁQUINA EXPENDEDORA DENTRO
DEL TMI ............................................................................................................................................................. 87
FIGURA 7.16. DIAGRAMA DE FLUJO DE LA INTERRUPCIÓN DE ENCUESTA DE LA MÁQUINA EXPENDEDORA....... 88
FIGURA APÉNDICE B.1. ELEMENTOS DEL PAQUETE DE DESARROLLO DE MODULO (MDK). FUENTE KYOCERA
WIRELESS. ........................................................................................................................................................ 106
FIGURA APÉNDICE B.2. ARQUITECTURA BÁSICA INTERNA DEL MODULO M200 DE KYOCERA. FUENTE KYOCERA
WIRELESS ......................................................................................................................................................... 107
FIGURA APÉNDICE B.3. MÓDULO M200 DE KYOCERA. FUENTE KYOCERA WIRELESS. .................................... 107
FIGURA APÉNDICE B.4. CONECTOR MACHO 54230-0578
PARA EL M200. FUENTE MOLEX ............................ 107
FIGURA APÉNDICE B.5. CONECTOR HEMBRA 55055-0578
PARA EL M200. FUENTE MOLEX .......................... 107
FIGURA APÉNDICE B.6. INTERFAZ DEL PHONE SUPPORT TOOL. ....................................................................... 109
FIGURA APÉNDICE B.7. DIAGRAMA GENERAL DE LA HERRAMIENTA MARS.................................................... 111
FIGURA APÉNDICE B.8. INTERFAZ GRÁFICA DE LA HERRAMIENTA MARS....................................................... 112
x
ÍNDICE DE TABLAS Y FIGURAS
FIGURA APÉNDICE B.9. TARJETA DE EVALUACIÓN OLIMEX STR-P711. FUENTE OLIMEX ............................... 113
FIGURA APÉNDICE B.10. VENTANA PRINCIPAL DE LA HERRAMIENTA EWARM DE IAR. ................................ 114
FIGURA APÉNDICE B.11. VENTANA DE SIMULACIÓN DE LA HERRAMIENTA EWARM DE IAR. ....................... 115
FIGURA APÉNDICE B.12. EMULADOR MASTER MDB DE VENDING MACHINE. FUENTE BONUSDATA............... 116
FIGURA APÉNDICE B.13. MÁQUINA EXPENDEDORA DE CAFÉ MODELO COLIBRÍ. FUENTE N&W GLOBAL
VENDING .......................................................................................................................................................... 117
FIGURA APÉNDICE B.14. ANALIZADOR DE PROTOCOLO TELENEX 8800 TURBO............................................... 117
FIGURA APÉNDICE B.15. INTERNACIONAL DATA SCIENCES INC, BLUE BOX 100. ........................................... 118
FIGURA APÉNDICE B.16. ANALIZADOR DE PROTOCOLOS BONUSDATA. FUENTE BONUSDATA ......................... 119
FIGURA APÉNDICE B.17. ALGUNOS CABLES PARA CONECTAR DISTINTAS INTERFACES ELÉCTRICAS DE MÁQUINAS
EXPENDEDORAS................................................................................................................................................ 120
FIGURA APÉNDICE B.18. CABLE ARM-JTAG DE OLIMEX. .............................................................................. 120
xi
LISTA DE SÍMBOLOS Y ABREVIATURAS
µC
símbolo que significa Microcontrolador
3G
siglas en ingles para Tercera Generación (Third Generation)
AC
símbolo que significa Corriente Alterna
ADC
siglas en inglés de Conversor Analógico a Digital (Analog to Digital
Converter)
A-GPS
siglas en inglés de GPS Asistido (Assisted GPS)
Amp
símbolo que significa Amperios
APB
siglas en inglés de Bus Avanzado de Periféricos (Advanced Peripheral Bus)
API
siglas en inglés de Interfaz de Programación de Aplicaciones (Application
Programming Interface)
ARM
siglas en inglés para Máquinas de arquitectura RISC Avanzadas (Advance RISC
Machine)
ASCII
siglas en inglés de Código Estadounidense Estándar para el Intercambio de
Información (American Standard Code for Information Interchange)
AT
símbolo en inglés para Attention
BDV
siglas en alemán para Asociación Alemanas de Máquinas Expendedoras
(Bundesverband der Deutschen Vending)
bps
símbolo que significa bits por segundo
BREW
siglas en inglés para Tiempo de ejecución Binario para Ambiente Inalámbrico
(Binary Runtime for Wireless Environment)
CCITT
son las siglas en inglés de Comité Consultivo Internacional Telegráfico y
Telefónico (Consultative Committee for International Telegraphy and
Telephony)
CDMA
siglas en inglés de Acceso Múltiple por División de Código (Code Division
Multiple Access)
CLK
símbolo que significa Clock
CMOS
siglas en inglés de Semiconductor Complementario del Óxido de Metal
(Complementary Metal Oxide Semiconductor)
xii
LISTA DE SÍMBOLOS Y ABREVIATURAS
CONATEL
son las siglas de Consejo Nacional de Telecomunicaciones de la República
Bolivariana de Venezuela
CPU
siglas en inglés para Unidad central de Procesamiento (Central Processing
Unit)
CRC
siglas en inglés de Códigos de Redundancia Cíclica (Cyclic Redundancy
Check)
DC
símbolo que significa Corriente Directa
DCE
siglas en inglés de Equipo de Terminación del Circuito (Data Circuitterminating Equipment)
DTE
siglas en inglés de Equipo Terminal de Datos (Data Terminal Equipment)
EDGE
siglas en ingles para Velocidad de Datos Realzada para Evolución Global
(Enhanced Data Rates for Global Evolution).
EEPROM
siglas en inglés para Memoria de Solo Lectura Programable y Borrable
Eléctricamente (Electrically Erasable Programmable Read Only Memory)
EIA
siglas en inglés para Alianza de Industrias Electrónica (Electronic Industries
Alliance)
EIC
siglas en inglés de Controlador Mejorado de Interrupciones (Enhaced Interrupt
Controller)
ERI
siglas en inglés de Indicador Mejorado de Servicio fuera del área local
(Enhanced Roaming Indicador)
EVA
siglas en inglés de Asociación Europea de Máquinas Expendedoras (European
Vending Association)
EvDO
siglas en inglés de Evolución de Data Optimizada (Evolution Data Optimized)
EWARM
siglas en inglés de Banco de Trabajo Integrado para ARM (Embedded
Workbench for ARM)
E/S
siglas para Entradas y Salidas
FDMA
siglas en inglés para Acceso Múltiple por División de Frecuencia (Frequency
Division Multiple Access)
FTL
siglas en inglés de Capa de Transporte de Archivos (File Transport Layer)
GPRS
siglas en ingles para Sistema de Radio de Paquete General (General Packet
Radio System)
xiii
LISTA DE SÍMBOLOS Y ABREVIATURAS
GPS
siglas en inglés de Sistema de Posicionamiento (Global Positioning System)
GSM
siglas en inglés de Grupo Especial Móvil (Group Special Mobile)
HDLC
siglas en inglés de Control de Enlace de transmisión de alto nivel (High Level
Data Link Control)
HSCSD
siglas en inglés para Circuito de Alta velocidad Cambiado (High Speed Circuit
Switched)
I
símbolo que significa Corriente
ICP
siglas en inglés de Protocolo Interno de Comunicaciones (Internal
Comunication Protocol)
ID
siglas en inglés que significa Identificación (Identification)
IEEE
siglas en inglés de Instituto de Ingenieros Eléctricos y Electrónicos (Institute of
Electrical and Electronics Engineers)
IP
siglas en inglés de Protocolo de Internet (Internet Protocol)
J2ME
siglas en ingles para Micro Edición de Java 2 (Java 2 Micro Edition)
JTAG
siglas en inglés de Grupo de Acción Conjunto de Prueba (Joint Test Action
Group)
Kbps
siglas en inglés de kilo bits por segundo (kilo bits per second)
KMIP
siglas en inglés de Protocolo de Interfaz Multiplexada de Kyocera (Kyocera
Multiplexing Interface Protocol)
LCD
siglas en inglés de Display de Cristal Líquido (Liquid Crystal Display)
LED
siglas en inglés para Diodo Emisor de Luz (Light Emitting Diode)
LSB
siglas en inglés para Bit Menos Significativo (Less Significant Bit)
M2M
siglas en inglés de Interfaz Hombre-a-Hombre, Hombre-a-Máquina, Máquinaa-Máquina (Man-to-Man, Man-to-Machine, Machine-to-Machine)
MAR
siglas en inglés para Registro de Direccionamiento de Memoria (Memory
Address Register)
MARS
siglas en inglés para Modulo de Interfaz de Programación para el Sistema
Remoto (Module Api Remote System)
MB
símbolo que significa Mega Byte
MBR
siglas en inglés de Registro de Buffer de Memoria (Memory Buffer Register)
xiv
LISTA DE SÍMBOLOS Y ABREVIATURAS
MDA
siglas en ingles de
Tentativa de Entrega de Mensaje (Message Delivery
Attempt)
MDB
siglas en inglés de Bus de Salida Múltiple (Multi Drop Bus)
MDK
siglas en inglés de Paquete de Desarrollo del Módulo (Module Developer Kit)
mm
símbolo que significa milímetro
MMC
siglas en inglés de Tarjeta Multimedia (Multi Media Card)
MMCX
siglas en inglés para Coaxial micro miniatura (Micro Miniature CoaX)
MMS
siglas en inglés para Sistema de Mensajería multimedia (Multimedia Messaging
System)
MO
siglas en inglés para Originado en el Móvil (Mobile Originated)
MOSMS
siglas en inglés de Mensaje de texto corto Originado en el Móvil (MobileOriginated SMS)
ms
símbolo que significa milisegundos
MSB
siglas en inglés para Bit Más Significativo (Most Significant Bit)
MT
siglas en inglés para Terminado en el Móvil (Mobile Terminated)
MTSMS
siglas en inglés de Mensaje de texto corto Terminado en el Móvil (MobileTerminated SMS)
MTSO
siglas en ingles para Oficina de Conmutación de Teléfono Móvil (Mobile
Telephone Switching Office)
NAMA
siglas en inglés de Asociación Nacional de Mercadotecnia Automática
(National Automatic Merchandising Association)
NRZ
siglas en inglés para No Retorno a Cero (Non Return to Zero)
OSI
siglas en inglés para Interconexión de Sistemas Abiertos (Open System
Interconection)
OTA
siglas en inglés de Sobre el Aire (Over the Air)
PC
siglas en inglés para Contador de Programa (Program Counter)
PCB
siglas en inglés de Circuito Impreso (Printed Circuit Board)
PCLK
símbolo que significa Reloj del Procesador (Processor Clock)
PDE
siglas en inglés de Entidad de Determinación de Posición (Position
Determination Entity)
xv
LISTA DE SÍMBOLOS Y ABREVIATURAS
PHP
acrónimo recurrente en inglés de Procesador de texto PHP (PHP Text
Procesor)
PPP
siglas en inglés de Protocolo Punto a Punto (Point-to-Point Protocol)
PST
siglas en inglés de Kit de Herramientas para Soporte del Teléfono (Phone
Support Toolkit)
PYME
siglas para Pequeñas Y Medianas Empresas
RF
siglas en inglés que significan Radio Frecuencia (Radio Frequency)
RAM
siglas en inglés de Memoria de Acceso Aleatorio (Random Access Memory)
RCCU
siglas en inglés de Unidad de Control de Reset y de Reloj (Reset and Clock
Control Unit)
RISC
siglas en inglés de Computadora con Conjunto de Instrucciones Reducido
(Reduced Instruction Set Computer)
ROM
siglas en inglés de Memoria de Sólo Lectura (Read-Only Memory)
RTC
siglas en inglés de Reloj de Tiempo Real (Real Time Clock)
Rx
símbolo que significa Receptor
SD
siglas en inglés de Seguridad Digital (Secure Digital)
SIM
siglas en inglés para Módulo de Identidad de Suscriptor (Subscriber Identity
Module)
SMA
siglas en inglés para Sub Miniatura versión A (SubMiniature version A)
SMS
siglas en inglés de Servicio de Mensajes Cortos (Short Message Service)
SMTP
siglas en inglés de Protocolo Simple de Transmisión de Correo (Simple Mail
Transfer Protocol)
SO
siglas de Sistema Operativo
TCP
siglas en inglés de Protocolo de Control de Transmisión (Transmission Control
Protocol)
TDMA
siglas en inglés para Acceso Múltiple por División de Tiempo (Time Division
Múltiple Access)
TIA
siglas en inglés de Asociación de Industrias de Telecomunicación
(Telecommunication Industry Association)
TIM
símbolo en inglés que significa Contador (Timer)
TMI
siglas de Terminal Móvil Inteligente
xvi
LISTA DE SÍMBOLOS Y ABREVIATURAS
TTL
siglas en inglés de Lógica Transistor a Transistor (Transistor-Transistor Logic)
Tx
símbolo que significa Transmisor
UART
siglas en inglés de Transmisor-Receptor Asíncrono Universal (Universal
Asynchronous Receiver-Transmitter)
UIT
siglas de Unión Internacional de Telecomunicaciones
UMTS
siglas en inglés para Sistema de Telecominucaciones Universal Móvil
(Universal Mobile Telecommunications System)
URI
siglas para Unión Radiotelegráfica Internacional
USB
siglas en inglés de Bus de Serie Universal (Universal Serial Bus)
USSD
siglas en inglés para Servicio de Datos Suplementarios No Estructurados
(Unstructured Supplementary Service Data)
UTI
siglas para Unión Telegráfica Internacional
VMC
siglas en inglés de Controlador de la Máquina Expendedora (Vending Machine
Controller)
WAP
siglas en inglés para protocolo de aplicaciones inalámbricas (Wireless
Application Protocol)
WWW
siglas de World Wide Web
XOR
siglas en ingles para denotar la operación lógica de un O Exclusivo (Exclusive
OR)
XTI
símbolo que significa External Interrupt
xvii
CAPÍTULO 1. INTRODUCCIÓN
Cuando se habla de “Terminal Móvil”, se hace referencia a los dispositivos
electrónicos que permiten el acceso de manera inalámbrica a una red de comunicaciones y que
son los elementos fundamentales para la prestación de servicios; cuando a este término le
añadimos la palabra “Inteligente”, introducimos una nueva característica sumamente
importante que le permite a estos dispositivos realizar acciones más avanzadas, complejas y
específicas de manera casi autónoma, todo ello con el fin de desarrollar y ofrecer cada vez
más servicios a los usuarios.
Tomando en consideración que actualmente existen pocas soluciones con respecto a
este campo, y luego de evaluar los requerimientos, las ventajas, las aplicaciones, las
oportunidades y el valor agregado que un dispositivo de este tipo puede agregar a su portafolio
de negocios; Dinama C.A., empresa dedicada a ofrecer soluciones de vanguardia en el ámbito
de las telecomunicaciones, ha decidido desarrollar un Terminal Móvil Inteligente CDMA
(Code Division Multiple Access) con miras a ser los primeros en ofrecer este tipo de producto
al mercado Venezolano y crear un nicho en el área de soluciones y negocios M2M (Man-toMan, Man-to-Machine, Machine-to-Machine).
El proyecto mencionado se basa en el estudio y desarrollo de una plataforma de
pruebas para el manejo del Terminal Móvil Inteligente; efectuando una ingeniería del diseño y
su implantación sobre la primera aplicación comercial que éste presentará, consistente en los
servicios M2M. Este proyecto se enmarca dentro de uno más ambicioso que constituye el
desarrollo, implantación y comercialización del Terminal Móvil Inteligente de tal manera que
se adapte a los variados requerimientos de las soluciones corporativas de la empresa.
Como aporte principal del proyecto de pasantía, se espera probar y evaluar el concepto
del Terminal Móvil Inteligente obteniéndose datos valiosos sobre eficiencia técnica y
económica, capacidades funcionales y futuras aplicaciones de éste. Para ello, se realizarán
simulaciones que comprenden la adquisición y recolección de datos de operación (telemetría),
así como el control remoto de las funciones del equipo remoto; todo ello emulando el proceso
1
CAPÍTULO 1. INTRODUCCIÓN
de comunicación inalámbrica del Terminal Móvil Inteligente incorporado a una red de
máquinas expendedoras de café.
Para cumplir con estos objetivos, el presente proyecto consistió en investigar y estudiar
los elementos tecnológicos que constituyen un Terminal Móvil, diseñar la plataforma de
pruebas para este, elaborar el primer prototipo de Terminal Móvil Inteligente y elaborar el
informe técnico del proyecto.
En el capítulo 2 se presenta el contexto del proyecto de pasantía: la descripción de la
empresa, el planteamiento del problema, la descripción general del proyecto y su justificación.
El capítulo 3 cubre los objetivos generales y específicos del proyecto, así como el
alcance y las limitaciones del mismo.
El capítulo 4 desarrolla los fundamentos o el marco teórico sobre el que se basa este
proyecto. Se comienza con una descripción sobre las telecomunicaciones para llegar a los
sistemas de comunicaciones móviles y sus elementos. Posteriormente, se describe brevemente
lo que son las redes de computadoras; pera luego pasar a lo verdaderamente importante que es
acerca de la tecnología M2M y algunos estándares utilizados en la realización de la pasantía.
En el capítulo 5 se describe la metodología utilizada durante el desarrollo de este
proyecto; explicando claramente el tipo de investigación, el objeto de estudio, las fases del
proyecto, los métodos, técnicas, procedimientos, materiales y equipos utilizados.
Los capítulos 6 y 7, abarcan el grueso del informe y corresponden con la descripción
del proceso de desarrollo de Terminal Móvil Inteligente. El capítulo 6, comienza por nombrar
y explicar los requerimientos para el desarrollo de la plataforma, que conjuntamente con las
funcionalidades más importantes del módulo Kyocera M200, permitieron seleccionar los
elementos básicos que la conformarían y por último desarrollarla a nivel de Software. En el
capítulo 7 se describe básicamente el desarrollo a nivel de Hardware del prototipo que sería
acoplado a la máquina expendedora de café.
2
CAPÍTULO 1. INTRODUCCIÓN
Por último en el Capítulo 8, se presentan los resultados, análisis y conclusiones del
proyecto; incluyendo las distintas funciones y aplicaciones que podrían realizarse con el
prototipo.
3
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
En el presente capítulo se procede a describir el contexto o marco referencial del
proyecto de pasantía. Se describirá a grandes rasgos la empresa donde fue realizada la
pasantía, el problema surgido y la motivación por solucionarlo y por último la justificación
para haber planteado dicho proyecto.
2.1. DESCRIPCIÓN DE LA EMPRESA
Nacida en Mayo de 2001 en Venezuela, Dinama C.A. es una empresa multinacional
líder en desarrollo y comercialización de aplicaciones para usuarios de sistemas móviles
celulares que ofrece sus soluciones a segmentos masivos y corporativos.
Dinama C.A. crea, desarrolla (Original Product Developer) y comercializa en un
100% sin dependencias externas, con lo cual, ha logrado conceptualizar y desarrollar
productos propios en tiempo record que están a la vanguardia tanto tecnológico como
comercial en América Latina.
El objetivo de la empresa es el de afianzar una plataforma técnica y comercial regional
(Latinoamérica) que impulse el desarrollo y comercialización de productos y la operación de
servicios a través de herramientas y medios de entretenimiento y se apoye en el contexto de
los equipos móviles como parte inseparable de las actividades personales y corporativas
actuales. [Intranet Dinama C.A, 2006]
En ese contexto, Dinama es una de las empresas integradoras móviles de mayor
antigüedad y respetabilidad en Venezuela con conexión directa a 20 operadoras celulares en
Latinoamérica. Su principal función corresponde a desarrollar aplicaciones y servicios en el
área de “TV interactiva” aunque también desarrolla aplicaciones para operadoras celulares.
4
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
Actualmente presenta operaciones consolidadas en 7 países en América Latina y
próximamente espera consolidarse con 3 países más. La figura 2.1 muestra las operaciones
consolidadas de Dinama durante el ano 2006.
DINAMA
Services
(Vzla)
Participación accionaria en la sociedad local
DINAMA
ETVE
(España)
Acuerdo de Transferencia Tecnológica y
soporte comercial
Acuerdo de Servicio (desarrollo y operación)
y soporte comercial
Colombia
España
EE.UU.*
Venezuela
Ecuador
Argentina*
Pto. Rico
Mexico*
Perú
Bolivia
* En fase de desarrollo
Figura 2.1 Operaciones Consolidadas Dinama C.A. Fuente Intranet Dinama C.A. 2006
La empresa posee un amplio dominio en tecnología móvil y de medios con la
capacidad de desarrollar aplicaciones y servicios basados en ellos tales como navegación y
descarga de contenido WAP (Wireless Application Protocol), aplicaciones J2ME (Java 2
Micro Edition) y BREW (Binary Runtime for Wireless Environment), (aplicaciones sobre
tarjetas SIM, contenido en MMS (Multimedia Messaging System), Video Streaming, contenido
3G (Third Generation), publicidad interactiva entre otras. La empresa también es capaz de
crear y aplicar modelos de negocio sencillos y altamente efectivos incluyendo análisis de
resultados y generación de proyecciones apoyadas en sus bases de datos, ofrecer apoyo
creativo en la categoría de publicidad interactiva y consultoría de tecnologías asociadas a voz
tal como ser observa de manera resumida más adelante en la figura 2.2.
5
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
• Modelo de negocios (simuladores y estimadores)
• Análisis de factibilidad (apoyo creativo)
• Bases de datos de mercado (>1 millón de registros)
Negocio
Negoci
Aplicaciones
Aplicacione
Operadora
celular
Tecnología Habilitadora
• Juego y concursos
• Comunicaciones (Chat, Dating, Mobimail)
• Portales de contenido por suscripción
• TV interactiva (Video profesional y herramientas)
• (SMS)
• (WAP)
• J2ME, BREW
• (MMS)
• Video
• Plataformas de video profesional
Infraestructura
• CdmaOne (IS-95), 1X, EVDO
• GSM-GPRS-EDGE
• TDMA
Usuarios de la Red
Figura 2.2 Pirámide de valor agregado Dinama C.A. Fuente Intranet Dinama C.A. 2006
Dinama C.A., posee una plataforma tecnológica conformada por clusters de servidores
propios operando sobre el sistema operativo Linux y que se encuentran distribuidos en tres
sitios diferentes (2 países) con replicas de conexiones, aplicaciones y bases de datos. Es
importante destacar que esta plataforma puede manejar más de 120 MDA`s (Message Delivery
Attempt) o pares de mensajes MO+MT (Mobile Originated + Mobile Terminated) por
segundo. Entre las herramientas que se manejan se encuentran sistemas especiales para
programación interactiva en televisión, plataformas profesionales de video y una plataforma
súper poderosa para la distribución de contenido 3G.
Por último es importante nombrar algunos de los servicios que presta la compañía y que
han sido agrupados por categorías para facilitar su lectura:
•
iMedios: ofreciendo manejadores de campaña, administradores de concursos con
ubicación instantánea de ganadores o por sorteo, formatos de TV-chat y radio chat,
cintillos de noticias, comentarios y encuestas en línea y juegos.
6
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
•
Publicidad Interactiva: ofrece juegos y promociones orientados al incentivo de ventas,
captura de datos personales, distribución de mensajes patrocinados y estudios de
mercado.
•
Contenido especializado: como contenido textual o en MMS en demanda o por
suscripción como pueden ser noticias, información económica, direcciones, etc.,
generación y validación de claves en SMS(Short Message Service) para venta de
contenido en Web y una plataforma especializada de carga y venta de contenido 3G
apoyada en SMS y sistemas de tarificación internos.
•
Operadoras: ofreciendo principalmente trivias en SMS y MMS, juegos, chat`s,
contenido y una plataforma email SMS-WAP-WEB.
•
Agregación: oferta masiva de servicios de mensajería autoadministrados por el cliente
para las PYMEs (Pequeñas y Medianas Empresas), interfaz administrativa bajo
suscripción, gateways de paso y control y sistemas enrutadores y filtradores de tráfico
•
Aplicaciones Corporativas y Gobierno: ofreciendo plataformas de servicios bancarios
móviles, plataforma de distribución electrónica de prepago y comercio móvil,
plataformas de apuestas móviles, sistemas especializados de acceso a Bases de Datos y
procesamiento.
Todo esto nos indica que es una empresa que ofrece una gran cantidad de servicios y
productos que están asociados a tecnología móvil y de sistemas y que poseen una gran
demanda en el mercado actual; pero debido a que hoy día existe gran competencia en este
sector es necesario para la empresa desarrollar nuevos productos con el fin de entrar en nuevos
mercados y poder ofrecer nuevas soluciones a sus clientes.
2.2. EJECUCIÓN DE PROYECTO: UNIDAD DE NUEVOS NEGOCIOS Y DESARROLLO
El proyecto será llevado a cabo en la división de Nuevos Negocios y Desarrollo que es
la encargada de (como su nombre lo explica) investigar y desarrollar nuevos productos que se
adapten a los perfiles de los clientes de la empresa y que puedan ser agregados al actual
portafolio de la compañía.
7
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
La estructura general de la empresa en la cual se realizó la pasantía se encuentra
representada en el siguiente diagrama.
DIRECTORES EJECUTIVOS
ETVE
Director de Desarrollo
Tecnológico
Gerente de Proyectos
Director de Nuevos
Negocios y Desarrollo
Gerente Regional de Nuevos
Productos y Tecnologías
Director Comercial y
Aseguramiento de Calidad
GG Ecuador
Director de
Finanzas
Gerente de
Finanzas
GG Bolivia
Diseño Gráfico
Gerente de operaciones
Gerente de Medios
Desarrollo
GG. Colombia
GG. Argentina (Abierto)
GG. Perú
GG. España (Abierto)
GG USA
GG. México (Abierto)
GG Venezuela
GG. Puerto Rico (Abierto)
Desarrollo
Figura 2.3 Organigrama de la empresa. Fuente Intranet Dinama 2006
Subrayado en el diagrama se encuentra el cargo ocupado por el pasante dentro de la
organización, el cual consiste en investigar, documentar, diseñar, desarrollar y evaluar en
conjunto a todos los directores, los nuevos proyectos y soluciones que sean propuestos. El
pasante reporta directamente al Director de Nuevos Negocios y Desarrollo, quien es el
responsable de los proyectos que maneje su grupo.
2.3. PLANTEAMIENTO DEL PROBLEMA
Como se ha mencionado con anterioridad, en Dinama C.A. existe actualmente una gran
cantidad y variedad de servicios que son ofrecidos a sus clientes especialmente en el área de la
mensajería de texto; pero que desafortunadamente y de manera natural van perdiendo vigencia
o se hace más difícil su comercialización. Sabemos que con el paso del tiempo, el continuo y
rápido avance tecnológico y la gran demanda que existe en esas áreas tecnológicas tan grande
como lo son las Telecomunicaciones, la mejor solución que existe es la de innovar y añadir
nuevos servicios que no existan actualmente en el mercado. Dinama C.A, al evaluar su estatus
8
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
como empresa, ha observado una oportunidad en la categoría de micropagos, que no es más
que el medio para transferir muy pequeñas cantidades de dinero, en situaciones donde el
recogimiento de tales cantidades con los sistemas de pago habituales es poco práctico, o muy
caro en términos de la cantidad de dinero siendo recogida [W3C, 2007].
Actualmente, existen muy pocas soluciones de negocios M2M en el país y aquellas
pocas empresas que ofrecen los servicios, lo hacen utilizando tecnología que ya ha sido
desarrollada por terceros y cuya principal desventaja se encuentra en la poca flexibilidad para
ser utilizados en distintas aplicaciones o propósitos. Otro aspecto es que los módulos
funcionan bajo la tecnología GSM (Group Special Mobile) la cual no se ha explotado al máximo
en Venezuela; esto último deriva de que las dos grandes operadoras móviles Movistar y
Movilnet utilizan por ahora tecnología CDMA, y juntas poseen aproximadamente el 86% de
los usuarios de telefonía móvil [CONATEL, Octubre de 2006], a diferencia de Digitel que
sólo ocupa el 14% con su tecnología GSM, tal como se muestra en la siguiente figura 2.4.
Figura 2.4. Cifras Preliminares de la Distribución del Mercado de Telefonía Móvil1. Fuente CONATEL
En vista a los párrafos anteriores, Dinama C.A. ha estudiado el negocio M2M y lo
observa como un campo inexplorado en el país y que puede ser explotado ampliamente al
introducir el concepto de micropagos por medio de SMS. Al no existir muchas soluciones o
dispositivos para el campo M2M, los módulos adquiridos por parte de terceros, resultan muy
1
A partir del III trimestre de 2006 DIGITEL refleja las cifras correspondientes a las región Oriente y Occidente
(anteriormente Digicel e Infonet respectivamente) dada la fusión de las tres empresas el 18 de mayo de 2006.
9
CAPÍTULO 2. CONTEXTO DE LA PASANTÍA
ineficientes ya que en la mayoría de los casos, los terminales son utilizados para una sola
función o aplicación específica, lo que podría generar una desventaja notable contra un
terminal que pudiera ser flexible; también es importante indicar los altos costos que podría
tener la adquisición del equipo sin tomar en cuenta su mantenimiento y soporte.
Al existir muy pocas soluciones para GSM pero mucho menos
para CDMA, la
compañía optó por desarrollar un Terminal CDMA 100% versátil y flexible que permitiese
ofrecer varios y distintos servicios con el mismo equipo, utilizando como corazón, un módulo
Kyocera M200 cuya tecnología es CDMA 1X y que ha sido diseñado específicamente para
desarrollar aplicaciones en el negocio M2M y explotar este mercado. CDMA 1X ofrece una
velocidad suficiente tanto en los enlaces de bajada (downlink) como en los enlaces subida
(uplink) y es una tecnología que permanecerá en el mercado Venezolano aunque este se
encuentre migrando a tecnología 3G.
2.4. JUSTIFICACIÓN DEL PROYECTO
Dinama C.A. anticipa con el Terminal Móvil Inteligente la expansión de sus soluciones
corporativas móviles destinadas aumentar la productividad de las empresas. En este sentido, el
Terminal Móvil Inteligente permitirá la habilitación de servicios de telemetría, seguimiento y
control, transporte de datos seguros, y comercio móvil, al complementar las soluciones ya
existentes en el portafolio de Dinama C.A.
Como primer proyecto que servirá de avanzada, el desarrollo de la plataforma de
pruebas para el Terminal Móvil Inteligente brindará el medio de comunicación inalámbrico
eficiente (aprovechamiento del ancho de banda) y la capacidad de procesamiento adicional
(ejecución de procesos de control y despacho de forma local) a una red de máquinas
expendedoras de productos (Vending Machine), más específicamente, sobre las máquinas
expendedoras de café de la empresa Global Vending C.A.
10
CAPÍTULO 3. OBJETIVOS Y ALCANCE
En el presente capítulo se procede a indicar de manera precisa los objetivos (tanto
generales como específicos) que presenta el proyecto, así como el alcance del mismo al
encontrarse enmarcado dentro de un proyecto más ambicioso.
3.1. OBJETIVO GENERAL
Desarrollar una plataforma de pruebas y elaborar un primer prototipo de “Terminal
Móvil Inteligente” para incorporarlo a una red de máquinas expendedoras de café y lograr
realizar labores de telemetría y el control de algunas funciones básicas como lo son la venta y
el despacho de los productos con requisición desde el teléfono móvil del cliente.
3.2. OBJETIVOS ESPECÍFICOS
•
Definir la estrategia del producto
•
Definir los elementos tecnológicos básicos del proyecto
•
Evaluar y probar los elementos tecnológicos para el desarrollo del proyecto
•
Diseñar e implementar la plataforma de pruebas para el Terminal Móvil Inteligente
•
Simular el proceso de comunicación inalámbrica del Terminal Móvil Inteligente
incorporado a una red de máquinas expendedoras de café.
•
Realizar la documentación técnica del proyecto
3.3. ALCANCE Y LIMITACIONES
El “Terminal Móvil Inteligente” es un proyecto extenso que comprende una serie de
actividades como lo son el diseño completo del software (incluyendo todas las distintas
aplicaciones a las que será destinado el dispositivo) para cubrir los distintos problemas que
aparecen en el negocio M2M, el diseño y optimización del hardware, la construcción y prueba
de los mismos, la comercialización y otras actividades.
11
CAPÍTULO 3. OBJETIVOS Y ALCANCE
Es por ello que el proyecto de pasantía abarca el desarrollo de la plataforma de
pruebas a nivel de software y el desarrollo del primer prototipo a nivel de hardware,
enfocándose exclusivamente en la aplicación de la red de máquinas expendedoras de café de
Global Vending C.A. La plataforma de pruebas será lo suficientemente flexible como para
elaborar distintas aplicaciones partiendo de la misma librería de funciones y el prototipo
tendrá distintos puertos de comunicación con el mismo fin.
12
CAPÍTULO 4. FUNDAMENTOS TEÓRICOS
4.1. LAS TELECOMUNICACIONES
El desarrollo de la civilización, hasta llegar al punto en que se encuentra hoy en día, se
debe en gran medida a la habilidad del ser humano para intercambiar información e ideas
gracias a los sentidos de la vista y del oído, a través de la palabra escrita mediante alguna
forma de lenguaje o código. Desde los albores de la civilización la gente ha buscado
constantemente medios para transmitir información hacia distancias muy lejanas.
Vale la pena mencionar que tele se deriva del griego y quiere decir distancia; por lo
que la palabra Telecomunicación
cubre todas las formas de comunicación a distancia,
incluyendo radio, telegrafía, televisión, telefonía, transmisión de datos e interconexión de
ordenadores. [Smale, 1993]
El término telecomunicación fue definido conjuntamente por la Unión Telegráfica
Internacional (UTI) y la Unión Radiotelegráfica Internacional (URI) como:
”Telecomunicación es toda transmisión, emisión o recepción, de signos, señales,
escritos, imágenes, sonidos o informaciones de cualquier naturaleza por hilo, radioelectricidad,
medios ópticos u otros sistemas electromagnéticos”.
En otras palabras, Telecomunicación es el proceso de transmitir la energía de
información a grandes distancias con la ayuda de medios electrónicos. Los elementos que
integran un sistema de telecomunicación son: un transmisor, una línea o medio de transmisión
y un canal y finalmente un receptor; aunque en la práctica se requiere de algunos dispositivos
adicionales como amplificadores para elevar la fuerza de la señal hasta valores aceptables.
[Smale, 1993]
El proceso más sencillo, se describe a continuación, una cierta forma de “información”
es convertida en energía eléctrica (gracias a los trasductores) luego, el transmisor transforma o
13
CAPÍTULO 4. MARCO TEÓRICO
codifica los mensajes o energía eléctrica en un fenómeno físico llamado señal, que es el
elemento que se enviará a través del medio de transmisión, que por su naturaleza física, puede
que modifique o degrade la señal durante su trayecto. Luego el receptor ha de tener un
mecanismo de decodificación capaz de recuperar el mensaje dentro de ciertos límites de
degradación de la señal y por último, ya en su destino, la energía eléctrica se convierte de
nuevo a su forma original.
Fuente
Transductor
Antena
Transmisor
Amplificador
Transmisor
Origen de la
Información
Enlace de Radio
+ Ruido
Antena
Receptor
Receptor
Amplificador
Destino
Transductor
Información
Recibida + Ruido
Figura 4.1. Requisitos básicos de un canal de telecomunicación por radio en un solo sentido. Fuente [Smale,
1993]
Adicionalmente, La telecomunicación puede ser punto a punto, punto a multipunto o
teledifusión, que es una forma particular de punto a multipunto que funciona solamente desde
el transmisor a los receptores
Concluyendo, las Telecomunicaciones son una de las fuerzas más potentes en el
mundo hoy día. Esta, influencia a la toda la sociedad en conjunto y a cada uno como
individuo. Todas las indicaciones apuntan a que las telecomunicaciones seguirán cambiando y
creciendo a una tasa rápida, y que seguirá afectando a la sociedad. [Gross, 1997].
4.2. SISTEMAS DE COMUNICACIONES MÓVILES
Dos de los principales motores de la Sociedad de la Información han sido Internet y las
comunicaciones móviles. Dejando a un lado la influencia de Internet, el cambio que ha
producido la introducción de la movilidad en el sector de las telecomunicaciones ha sido
14
CAPÍTULO 4. MARCO TEÓRICO
crítico, no sólo por la extensión de la posibilidad de la comunicación en cualquier momento y
en cualquier lugar, sino por la propia personalización en la naturaleza de la comunicación
entre individuos. La frase “el futuro es ahora” parece tonta, pero ciertamente captura el
entorno de la dinámica industria de las comunicaciones, porque el entorno está cambiando, y
lo está haciendo con gran rapidez. [Telefónica, 2006]
Los sistemas de comunicaciones móviles comienzan a ser desarrollados como
respuesta a las limitaciones de operación que presentaban los sistemas telefónicos
convencionales, las cuales según [Lee, 1995] se resumen en:
•
Capacidad de Servicios Limitada
•
Un Funcionamiento de servicio pobre
•
La utilización ineficiente del espectro radioeléctrico de radiofrecuencia
En general, el propósito de un sistema de comunicaciones móvil es: prestar servicios
de telecomunicaciones entre estaciones móviles y estaciones terrenas fijas, o entre estaciones
móviles. [Black, 1999]
De acuerdo a [Lee, 1995], un sistema Celular Básico consta de 3 partes:
-
Unidades Móviles: conformados básicamente por una unidad de control, un
transreceptor y una antena
-
Celdas: permiten realizar la interfaz entre las unidades móviles y las MTSO.
-
Oficinas de conmutación de teléfonos móviles o MTSO (Mobile Telephone witching
Office): Son las centrales que controlan y administran a las celdas
-
Conexiones: representados por los enlaces de datos y de radiofrecuencia que permiten
interconectar los 3 subsistemas nombrados anteriormente.
De manera más simplificada: la telefonía celular, básicamente está formada por: una
red de comunicaciones y los terminales que permiten el acceso a dicha red.
Los terminales consisten en un dispositivo de comunicación electrónico con las
mismas capacidades básicas de un teléfono de línea telefónica convencional con la diferencia
que es portátil y se conecta a la red telefónica inalámbrica.
15
CAPÍTULO 4. MARCO TEÓRICO
La red de telefonía móvil o celular, la cual consiste en un sistema telefónico en el que
mediante la combinación de una red de estaciones transmisoras-receptoras de radio y una serie
de centrales telefónicas de conmutación, se posibilita la comunicación entre terminales.
El empleo de la palabra celular referido a la telefonía móvil, deriva del hecho de que
las estaciones base, que enlazan vía radio los teléfonos móviles con los controladores de
estaciones base, están dispuestas en forma de una malla, formando células o celdas. Así, cada
estación base está situada en un nodo de estas células y tiene asignado un grupo de frecuencias
de transmisión y recepción propio. Como el número de frecuencias es limitado, con esta
disposición es posible reutilizar las mismas frecuencias en otras células, siempre que no sean
adyacentes, para evitar interferencia entre ellas. [Wikipedia, 2006]
[Lee, 1995] describe que la operación de un sistema celular abarca 4 segmentos:
-
Inicialización de la unidad Móvil: consiste en que la unidad móvil al ser encendida,
debe buscar la celda con mayor potencia y conectar o realizar el enlace con la misma
-
Llamada Originada por el Móvil: consiste en que el usuario marque el teléfono de
destino y al apretar el botón “SEND”, se envía esta información a al celda a la que se
encuentra conectado; esta celda le hace una petición a la MTSO para escoger un canal
y realizar el enlace.
-
Llamada originada en la red: al recibir el MTSO la petición, este procede a procesar y
posteriormente a enviar un mensaje localización a ciertas celdas (de acuerdo al número
de destino). Estas celdas se encargan de transmitir este mensaje para que el
correspondiente celular detecte la señal y realice el enlace.
-
Terminación de llamada: cuando se va a finalizar la llamada, el transmisor antes de ser
apagado emite una señal que le indica a la celda que se acabó la llamada y se procede a
liberar de manera simultánea los enlaces ocupados.
-
Procedimiento de Traspaso de llamada (Handoff): este procedimiento ocurre cuando un
usuario o unidad móvil se aleja mucho de una celda y entra en otra. Al estar lejos de la
celda de enlace, la señal se hace débil por lo que la celda realiza una petición de
handoff para que se conmute la señal o enlace a una nueva celda y nuevo canal que se
encuentra ahora en el rango de la unidad móvil. La interrupción es imperceptible para
los usuarios.
16
CAPÍTULO 4. MARCO TEÓRICO
Para finalizar, aunque básicamente existen dos tipos de redes de telefonía móvil: la
analógica y la digital; es mejor describir la evolución de las mismas desde el punto de vista
cronológico [NET, 2001]:
■ La 1ª generación hizo su aparición en 1979 y se caracterizó por se analógica y estrictamente
para voz. La calidad de los enlaces era muy baja, tenían baja velocidad (2400 bauds). En
cuanto a la transferencia entre celdas, era muy imprecisa ya que contaban con una baja
capacidad (Basadas en FDMA, Frequency Division Multiple Access) y, además, la seguridad
no existía. La tecnología predominante de esta generación es AMPS (Advanced Mobile Phone
System).
■ La 2ª arribó hasta 1990 y a diferencia de la primera se caracterizó por ser digital.
El sistema utiliza protocolos de codificación más sofisticados que se emplean en los sistemas
de telefonía celular actuales. Las tecnologías predominantes son: GSM; TDMA (Time
División Múltiple Access) y CDMA. Los protocolos empleados en estos sistemas soportan
velocidades de información más altas por voz, pero limitados en comunicación de datos. Se
pueden ofrecer servicios auxiliares, como datos, fax y SMS (Short Message Service).
Muchos de los proveedores de servicios de telecomunicaciones se moverán a redes
intermedias entre la segunda y tercera generación. Estas ofrecen características extendidas a un
costo menos que la redes de tercera generación. Entre las tecnologías existentes se encuentran:
GPRS (General Packet Radio System), HSCSD (High Speed Circuit Switched), EDGE
(Enhanced Data Rates for Global Evolution).
■ La 3ª generación se caracteriza por contener a la convergencia de voz y datos con acceso
inalámbrico a Internet; en otras palabras, es apta para aplicaciones multimedia y altas
transmisiones de datos. Los protocolos empleados en los sistemas 3G soportan altas
velocidades de información y están enfocados para aplicaciones más allá de la voz como
audio, video en movimiento, videoconferencia y acceso rápido a Internet.
17
CAPÍTULO 4. MARCO TEÓRICO
■ La 4ª generación aún no se encuentra definida hoy día; pero podemos resumir que estará
basada totalmente en IP (Internet Protocol) y las velocidades de transmisión podrían
encontrarse en el orden de decenas de Mbits.
4.2.1. REDES CDMA
La multiplexación por división de código o CDMA es un término genérico que define
una interfaz de aire inalámbrica basada en la tecnología de espectro extendido. Para telefonía
celular, CDMA es una técnica de acceso múltiple especificada por la TIA como IS-95.y que
comenzó a desarrollarse al comienzo de 1989. [Wikipedia, 2006]
Estos sistemas de comunicación móviles son complicados y requieren una
configuración rigurosa con la finalidad de que funcione correctamente. En estos sistemas
CDMA, la capacidad de la misma depende principalmente de cuánta interferencia puede
tolerar una señal deseada. El nivel de la señal deseada debe estar siempre por debajo de la
interferencia ya que todos los usuarios deben compartir el mismo canal. En el caso de que una
señal utilice más potencia de la necesaria, va a afectar directamente a las demás y la capacidad
de la red se verá reducida. El concepto CDMA es que todos los canales de voz compartan un
gran canal de radio. Si una señal aumenta, las demás señales deben aumentar también o en el
peor caso desaparecer, aunque ninguno de estos casos es deseable. [Lee, 1995]
Figura 4.2. Representación de Multiplexación por división de Código.
18
CAPÍTULO 4. MARCO TEÓRICO
Cada dispositivo que utiliza CDMA está programado con unos pseudo-código, el cual
se usa para extender una señal de baja potencia sobre un espectro de frecuencias amplio. La
estación base utiliza el mismo código en forma invertida para reconstruir la señal original. Los
otros códigos permanecen extendidos, distinguibles del ruido de fondo. Hoy en día existen
muchas variantes, pero el CDMA original se conoce como cdmaOne bajo una marca
registrada de Qualcomm. A CDMA se le caracteriza por su alta capacidad y celdas de radio
pequeño, que emplea espectro extendido y un esquema de codificación especial y, lo mejor de
todo es muy eficiente en potencia.
Las redes basadas en CDMA están construidas con protocolos basados en IP. Lo que
indica que el estándar cdmaOne ya incorpora en sus terminales los protocolos TCP/IP
(Protocolo de control de transmisión/Protocolo de Internet) y PPP (Protocolo punto a punto).
Diseñado con alrededor de 4.4 trillones de códigos, CDMA virtualmente elimina la
clonación de dispositivos y es muy difícil capturar y descifrar una señal.
El control de la potencia es otro beneficio de los sistemas de CDMA. Empleando
técnicas de procesamiento de señales, corrección de error, etc., CDMA supera el problema de
la potencia con una serie de ciclos de retroalimentación y control automático de ganancia.
Debido al sistema de retroalimentación de CDMA que mantiene la potencia al más
bajo nivel permisible, los terminales consumen menos potencia y son más pequeños, además
de que las baterías de CDMA duran más tiempo
La señal de espectro extendido de CDMA provee gran cobertura en la industria
inalámbrica, por lo que permite a las operadoras la instalación de menos celdas para cubrir un
área más extensa. Pocas celdas significan para las operadoras mucho ahorro en infraestructura
de radiobases. Dependiendo de la carga del sistema y de la interferencia, la reducción de
celdas es 50 por ciento menor en CDMA que en sistemas como GSM (sistema global para
comunicaciones móviles),
La transferencia de celdas (handoff) de CDMA, método para transferir llamadas entre
celdas, reduce inteligentemente el riesgo de interrumpirlas durante una transferencia. El
19
CAPÍTULO 4. MARCO TEÓRICO
proceso conocido como transferencia suave o transparente (soft handoff) entre celdas conduce
a pocas llamadas caídas, ya que dos o tres celdas siempre monitorean la llamada. La
transferencia entre celdas es transparente a los usuarios debido a que como, estos utilizan el
mismo espectro, es más fácil moverse de una celda a otra sin que el suscriptor lo advierta.
El canal de 1.25 MHz de CDMA provee un recurso común a los terminales en un
sistema de acuerdo con sus propias necesidades, como voz, fax datos u otras aplicaciones. En
un tiempo dado, la porción de este ancho de banda que no utilice un terminal estará disponible
para otro usuario. Debido a que CDMA utiliza una porción grande de espectro repartida entre
varios usuarios, provee flexibilidad en el ancho de banda para permitir servicios en demanda.
4.2.2. LOS TERMINALES MÓVILES
Las capacidades exigidas a los terminales para la prestación de los servicios de
movilidad se sustentan en las funciones, prestaciones y coste de los dispositivos electrónicos
que los componen, por lo que los componentes electrónicos que constituyen estos terminales
son una base fundamental en el servicio de movilidad. En la figura 4.3 se muestran los
componentes electrónicos que podría contener un terminal móvil.
El estado actual de la tecnología de los dispositivos ha hecho posible el desarrollo de
una nueva generación de terminales avanzados que le permiten al usuario realizar una inmensa
cantidad de funciones con el mismo dispositivo. Y es que gracias a los nuevos
descubrimientos, avances tecnológicos y reducción de tamaño y costo de los dispositivos,
permiten poco a poco ofrecer terminales con mejores prestaciones a un menor precio.
20
CAPÍTULO 4. MARCO TEÓRICO
Figura 4.3. Elementos de un Terminal Móvil. Fuente Telefónica.
Es importante destacar que estos terminales aunque posean una cantidad inmensa de
funciones no pueden considerarse del todo inteligentes; ya que en la mayoría de los casos es
indispensable la manipulación por parte del usuario para ejecutar una actividad.
El adjetivo Inteligente, significa añadirle a estos terminales la capacidad de tomar
acciones propias y de manera autónoma de acuerdo a una serie de variables o acontecimientos
previos. Para lograrlo, estos terminales deben estar programados de tal manera que puedan
tomar decisiones ante una situación específica para lograr responder o actuar ante el estímulo.
4.3. REDES DE COMPUTADORAS
Una red de computadoras es un conjunto de computadoras y/o dispositivos conectados
por enlaces de un medio físico ó inalámbrico y que comparten información, recursos y
servicios.
21
CAPÍTULO 4. MARCO TEÓRICO
4.3.1. MODELO OSI
El modelo de referencia de Interconexión de Sistemas Abiertos (OSI, Open System
Interconnection) lanzado en 1984 fue el modelo de red descriptivo creado por ISO.
Proporcionó a los fabricantes un conjunto de estándares que aseguraron una mayor
compatibilidad e interoperabilidad entre los distintos tipos de tecnología de red producidos por
las empresas a nivel mundial.
4.3.1.1. CAPAS DEL MODELO OSI
La descripción de las diversas capas que componen este modelo es la siguiente
[Tanenbaum, 2003], [Comer, 1997]:
1. Capa física: es la encargada de transmitir los bits de información por la línea o
medio utilizado para la transmisión. Se ocupa de las propiedades físicas y características
eléctricas de los diversos componentes, de la velocidad de transmisión, si esta es
unidireccional o bidireccional (simplex, duplex o full-duplex). También de aspectos mecánicos
de las conexiones y terminales, incluyendo la interpretación de las señales eléctricas.
2. Capa de enlace: puede decirse que esta capa traslada los mensajes hacia y desde la
capa física a la capa de red. Especifica como se organizan los datos cuando se transmiten en
un medio particular. Esta capa define como son los cuadros, las direcciones y las sumas de
control de los paquetes Ethernet.
Además del direccionamiento local, se ocupa de la detección y control de errores
ocurridos en la capa física, del control del acceso a dicha capa y de la integridad de los datos y
fiabilidad de la transmisión. Para esto agrupa la información a transmitir en bloques, e incluye
a cada uno una suma de control que permitirá al receptor comprobar su integridad
22
CAPÍTULO 4. MARCO TEÓRICO
3. Capa de Red: esta capa se ocupa de la transmisión de los paquetes de datos y de
encaminar cada uno en la dirección adecuada, tarea que puede ser complicada en redes
grandes como Internet, pero no se ocupa para nada de los errores o pérdidas de paquetes.
Define la estructura de direcciones y rutas de Internet. A este nivel se utilizan dos tipos de
paquetes: paquetes de datos y paquetes de actualización de ruta.
4. Capa de Transporte: esta capa se ocupa de garantizar la fiabilidad del servicio,
describe la calidad y naturaleza del envío de datos. Esta capa define cuando y como debe
utilizarse la retransmisión para asegurar su llegada. Para ello divide el mensaje recibido de la
capa de sesión en trozos, los numera correlativamente y los entrega a la capa de red para su
envío.
5. Capa de Sesión: es una extensión de la capa de transporte que ofrece control de
diálogo y sincronización, aunque en realidad son pocas las aplicaciones que hacen uso de ella.
6. Capa de Presentación: esta capa se ocupa de los aspectos semánticos de la
comunicación, estableciendo los arreglos necesarios para que puedan comunicar máquinas que
utilicen diversa representación interna para los datos. Describe como pueden transferirse
números de coma flotante entre equipos que utilizan distintos formatos matemáticos.
7. Capa de Aplicación: esta capa describe como hacen su trabajo los programas de
aplicación (navegadores, clientes de correo, terminales remotos, transferencia de archivos
etc.). Esta capa implementa la operación con archivos del sistema. Por un lado interactúan con
la capa de presentación y por otro representan la interfaz con el usuario, entregándole la
información y recibiendo los comandos que dirigen la comunicación.
23
CAPÍTULO 4. MARCO TEÓRICO
En resumen, la función principal de cada capa es:
No. de Capa
Nombre
Nivel 7
Aplicación
Nivel 6
Presentación
Nivel 5
Sesión
Nivel 4
Transporte
Nivel 3
Red
Nivel 2
Enlace
Nivel 1
Físico
Descripción
El nivel de aplicación es el destino final de los datos donde se proporcionan los
servicios al usuario.
Se convierten e interpretan los datos que se utilizarán en el nivel de aplicación.
Encargado de ciertos aspectos de la comunicación como el control de los
tiempos.
Transporta la información de una manera fiable para que llegue correctamente a
su destino.
Nivel encargado de encaminar los datos hacia su destino eligiendo la ruta más
efectiva.
Enlace de datos. Controla el flujo de los mismos, la sincronización y los errores
que puedan producirse.
Se encarga de los aspectos físicos de la conexión, tales como el medio de
transmisión o el hardware.
Tabla 4.1. Capas del modelo OSI
4.3.2. ARQUITECTURA CLIENTE SERVIDOR
En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente,
produce una demanda de información a cualquiera de las computadoras que proporcionan
información, conocidas como servidores, estos últimos responden a la demanda del cliente que
la produjo.
Los clientes y los servidores pueden estar conectados a una red local o una red amplia,
como la que se puede implementar en una empresa o a una red mundial como lo es la Internet.
Bajo este modelo cada usuario tiene la libertad de obtener la información que requiera
en un momento dado proveniente de una o varias fuentes locales o distantes y de procesarla
como según le convenga. Los distintos servidores también pueden intercambiar información
dentro de esta arquitectura.
24
CAPÍTULO 4. MARCO TEÓRICO
Las características más importantes del modelo son:
1. El Cliente y el Servidor pueden actuar como una sola entidad y también pueden
actuar como entidades separadas, realizando actividades o tareas independientes.
2. Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la
misma plataforma.
3. Un servidor da servicio a múltiples clientes en forma concurrente.
4. Cada plataforma puede ser escalable independientemente. Los cambios realizados en
las plataformas de los Clientes o de los Servidores, ya sean por actualización o por reemplazo
tecnológico, se realizan de una manera transparente para el usuario final.
5. La interrelación entre el hardware y el software están basados en una infraestructura
poderosa, de tal forma que el acceso a los recursos de la red no muestra la complejidad de los
diferentes tipos de formatos de datos y de los protocolos.
6. Un sistema de servidores realiza múltiples funciones al mismo tiempo
7. Se constituye como el nexo de unión mas adecuado para reconciliar los sistemas de
información basados en mainframes o servidores, con aquellos otros sustentados en entornos
informáticos pequeños y estaciones de trabajo.
8. Designa un modelo de construcción de sistemas informáticos de carácter distribuido.
4.3.3. SISTEMAS OPERATIVOS
Un sistema operativo explota los recursos del hardware de uno o más procesadores,
para ofrecer un conjunto de servicios a los usuarios del sistema. El sistema operativo también
gestiona la memoria secundaria de los dispositivos de Entrada y Salida (E/S) en nombre de los
usuarios. Por consiguiente es importante tener un cierto conocimiento del hardware del
sistema informático subyacente, antes de comenzar el estudio de los sistemas operativos
25
CAPÍTULO 4. MARCO TEÓRICO
Al más alto nivel, un sistema informático consta de procesador, memoria y
componentes de entrada salida, con uno o más módulos de cada tipo. Estos componentes están
interconectados de alguna forma para llevar a cabo la función principal del computador, que es
ejecutar programas. [Stallings, 2001]
•
Procesador: controla la operación del computador y lleva a cabo las funciones de
procesamiento de datos. Cuando existe un solo procesador, se suele denominar
unidad central de programación o (CPU, Central Processing Unit).
•
Memoria Principal: almacena los datos y los programas. Esta memoria es
normalmente volátil; también se la conoce como memoria real o memoria
principal.
•
Módulos E/S: transportan los datos entre el computador y su entorno exterior. El
entorno exterior consta de una variedad de dispositivos externos de comunicación y
los terminales.
•
Interconexión de los sistemas: ciertos mecanismos y estructuras que permiten la
comunicación entre procesadores, memoria principal y los módulos de E/S.
Figura 4.4. Componentes de una computadora: visión de alto nivel. Fuente Wikipedia
Un programa para ser ejecutado por el procesador consta de un conjunto de
instrucciones almacenadas en memoria. En su forma más simple el procesamiento de las
instrucciones está formado por dos pasos: el procesador lee las instrucciones desde la memoria
(una cada vez) y ejecuta cada una de ellas. La ejecución de un programa consiste en la
repetición de de este proceso de lectura y ejecución de las instrucciones.
26
CAPÍTULO 4. MARCO TEÓRICO
Una de las instrucciones más importantes son las interrupciones, las cuales aparecen
como una vía para mejorar la eficiencia del procesamiento. Su funcionamiento consiste en
interrumpir el proceso normal del programa para la ejecución de instrucciones específicas y
que no son parte del programa principal. Con las interrupciones, el procesador se puede
dedicar a la ejecución de otras instrucciones mientras una operación de E/S está en proceso.
Aún con el uso de interrupciones, puede que un procesador no sea aprovechado
eficientemente. Por lo que es necesario desarrollar sistemas operativos mas complejos pero
que a su vez permitan optimizar y mejorar la eficiencia del un programa o aplicación.
Un sistema operativo puede definirse según [Stallings, 2001] como:
“Un programa que controla la ejecución de los programas de aplicación y que actúa
como interfaz entre las aplicaciones del usuario y el hardware de un computador”
Se le pueden asociar tres objetivos fundamentales:
•
Comodidad: un sistema operativo hace que un computador sea mas cómodo de
utilizar
•
Eficiencia: un sistema operativo permite que los recursos de un sistema informático
se aprovechen de una manera más eficiente.
•
Capacidad de evolución: un sistema operativo debe construirse de modo que
permita el desarrollo efectivo, la verificación y la introducción de nuevas funciones
en el sistema operativo y, a la vez, no interferir en los servicios que brinda.
El hardware y el software que se utilizan para proveer de aplicaciones a los usuarios
pueden contemplarse de forma estratificada o jerárquica, como se muestra en la
27
CAPÍTULO 4. MARCO TEÓRICO
Usuario Final
Programador
Programa de Aplicación
Diseñador del
sistema
Utilidades
Sistema Operativo
Hardware del Computador
Figura 4.5. Niveles y vistas de un sistema informático
De manera resumida, los sistemas operativos ofrecen servicios en el área de creación
de programas, ejecución de programas, acceso a los dispositivos de E/S, acceso controlado a
los archivos, acceso al sistema, detección y respuesta de errores, contabilidad. El SO es un
gestionador de los recursos de un computador.
Un sistema operativo evolucionará en el tiempo por tres razones principales:
-
actualizaciones de hardware y nuevos tipos de hardware.
-
Nuevos servicios como respuesta a las nuevas demandas de los usuarios.
-
Correcciones de errores o fallas dentro del mismo sistema operativo
Los sistemas operativos están entre los elementos de software más complejos que se han
desarrollado. Esto refleja el reto de tratar de conjugar las dificultades y, en algunos casos,
objetivos opuestos de comodidad, eficiencia y capacidad de evolución.
Según Stallings, [Denn, 1980] propone cinco avances teóricos significativos en el
desarrollo de los sistemas operativos:
-
Los procesos
-
La gestión de memoria
-
La seguridad y la protección de la información
-
La planificación y la gestión de recursos
-
La estructura del sistema.
28
CAPÍTULO 4. MARCO TEÓRICO
4. 4. TECNOLOGÍA M2M
Cuando hablamos de tecnología M2M, estamos hablando de un concepto que engloba
la automatización de los procesos de comunicación entre máquinas (Machine to Machine),
entre dispositivos móviles y máquinas (Mobile to Machine), y entre hombres y máquinas (Man
to Machine). Estas máquinas pueden ser de muchos tipos y dependerá del tipo de aplicación al
que puede ser implementado. [WamTech, 2006]
Según la empresa WamTech:
"Para el año 2010, un mínimo de 1.500 millones de dispositivos alrededor del mundo
estarán conectados a Internet. Estos dispositivos generarán una oportunidad de por lo menos
700 millones de dólares para las compañías involucradas en el desarrollo, monitoreo y
provisión de servicios con valor agregado"... Harbor Research Inc.
Lo que representa una gran oportunidad para los negocios M2M ya que se puede
implementar una gran cantidad de aplicaciones y servicios en este campo.
Las aplicaciones pueden constar de los siguientes componentes:
La recolección de datos, a través de sensores para luego ser enviados y almacenados en el
centro de control o en los sistemas de gestión de las empresas.
El control remoto de una serie de operaciones sobre la máquina remota.
La configuración remota, de la programación o de los modos de funcionamiento de las
máquinas controladas.
La supervisión remota. En los sistemas con capacidad para detectar situaciones de alarma.
En estos casos, la información que se transmite suele ser crítica.
La presentación de datos debe poder ser visualizada a través de diversos dispositivos como
pantallas, avisos luminosos, etc.
El conjunto de uno o varios de esos componentes permite crear una aplicación para un
determinado servicio. Estos servicios se pueden categorizar de acuerdo a los siguientes
escenarios:
29
CAPÍTULO 4. MARCO TEÓRICO
Vending: el vending es el sector por excelencia de los servicios M2M. Las máquinas
expendedoras de productos reúnen una serie de características que las hacen idóneas para ser
controladas o monitoreadas remotamente. La reposición de productos y monedas puede
optimizarse conociendo en tiempo real las existencias, también puede conocerse el estado de
la máquina en lo que a funcionamiento se refiere (averías). Por último, existe la posibilidad de
realizar el cobro de los productos de manera electrónica.
Procesos de fabricación industrial: en estos procesos existe un gran número de máquinas y
robots que suelen estar controlados por autómatas. Dadas las condiciones de estos entornos
(temperatura, ruidos, etc.), resulta interesante poder reprogramar las máquinas de forma
remota.
Lectura de contadores: las empresas distribuidoras disponen de personal que se desplaza
hasta cada contador para efectuar la lectura e introducir los datos correspondientes en los
sistemas de las empresas. En este escenario, los servicios M2M permitirían no sólo realizar
una lectura más cómoda y rápida de los contadores, sino también ofrecer a sus clientes
servicios de valor agregado relacionados con el consumo y de la información en tiempo real.
Medicina: en el ámbito de los tratamientos domiciliarios, los servicios M2M permiten la
transferencia de la información recogida por diversos dispositivos médicos, sin que sea
necesario enviar manualmente dicha información a los hospitales. También los vehículos de
emergencias pueden aprovechar los servicios M2M, disponiendo de conectividad con los
hospitales.
Automoción: aprovechando los sistemas de control electrónico con los que se equipan los
vehículos en la actualidad, los servicios M2M permiten realizar diagnosis remotas sin
necesidad de desplazar el vehículo al taller, mejorando, por tanto, su mantenimiento. También
pueden implementarse alarmas que pueden notificarse en tiempo real.
Control de acceso: permitiendo automatizar el control de acceso a edificios,
estacionamientos, etc. proporcionando no sólo un canal de comunicación con los centros de
control, sino también la posibilidad de llevar a cabo la identificación de los usuarios.
30
CAPÍTULO 4. MARCO TEÓRICO
Control y supervisión del tráfico: en este sector existen multitud de dispositivos que pueden
aprovecharse de los servicios M2M, bien sea para establecer la comunicación con los centros
de control de tráfico, o bien como redes de respaldo a las existentes basadas en fibra.
Medio ambiente: generalmente, las estaciones, así como los medidores de variables
ambientales, están situados en lugares con escasas posibilidades de comunicación. Los
servicios M2M permiten establecer una red de comunicación móvil sobre la que poder
transferir toda la información necesaria.
Gestión de flotas: consiste en la localización a través de A-GPS, con respaldo en la red
móvil, para proporcionar un medio de localización que puede resultar suficiente para ciertas
aplicaciones. Además, se cuenta con la posibilidad de transferir información sobre rutas,
avisos, etc.
El principal valor de los servicios M2M consiste en la posibilidad de establecer
comunicaciones de datos remotas entre máquinas apoyándose en la red móvil. Uno de los
servicios más efectivos por parte de la red es:
El servicio SMS (Short Message Service), el cual puede resultar útil en los casos en
que la cantidad de información a transmitir por las aplicaciones M2M es baja y a ráfagas, y no
se requiere total fiabilidad en la transmisión de datos (seguridad en la entrega de los mensajes,
desorden en la entrega, etc.). Es servicio se basa en la transmisión de mensajes cortos de textos
donde se puede transportar instrucciones e información en forma de caracteres.
En la mayor parte de los casos, además de contar con los medios para llevar a cabo la
comunicación entre máquinas, será necesario contar también con un sistema que ofrezca una
solución M2M completa. En este sentido, para poder definir una arquitectura orientada a M2M
es necesario analizar previamente los distintos factores que intervienen en un servicio M2M
completo.
31
CAPÍTULO 4. MARCO TEÓRICO
Las máquinas: estas representan la razón principal de la existencia de los servicios M2M,
pues al fin y al cabo constituyen aquello que se quiere controlar o monitorizar remotamente.
Estas máquinas presentan las siguientes características: como las interfaces, el tamaño, el
consumo, la ubicación, y el tráfico generado. Todas estas características deben ser analizadas
al momento de desarrollar cualquier aplicación o servicio.
La red móvil: constituye el medio de comunicación remoto que utilizarán las máquinas.
Por lo que la solución ideal es combinar todos los servicios ofreciendo a las aplicaciones M2M
una línea de comunicación que se ajuste de forma transparente a sus necesidades y a las
condiciones de la red.
La gestión e implantación de los servicios: como en cualquier servicio, el usuario
necesitará una consola desde la que poder administrar los componentes del servicio y obtener
la información relativa a sus máquinas. Esto obliga a contar con un centro que controle todas
las máquinas y que ofrezca a los usuarios las interfaces necesarias para obtener información de
sus máquinas, controlarlas, generar informes, etc.
El desarrollo de los servicios: una de las características en la que más se ha incidido hasta
ahora es la heterogeneidad de los servicios M2M. Por tanto, es conveniente proporcionar
herramientas que permitan personalizar las soluciones M2M a cada escenario particular.
Teniendo en cuenta todos los factores anteriores, se podría definir una arquitectura
para una plataforma de servicios M2M basada en tres componentes principales:
1. Los módulos de control: son unos dispositivos electrónicos que se instalarán en cada
máquina a controlar, y que se comunicarán con el centro de control para recibir instrucciones,
notificar avisos y alarmas, etc. Incorporan toda la lógica necesaria para su funcionamiento y
las interfaces necesarias para mantener comunicación tanto con el centro de control como con
la máquina en la que están instalados.
32
CAPÍTULO 4. MARCO TEÓRICO
2. El centro de control: concentra todas las comunicaciones con los módulos de control
y permite a los usuarios obtener toda la información relacionada con sus máquinas. Su
comportamiento será parcialmente configurable en función del servicio M2M concreto.
3. Las herramientas de configuración: Tal como se ha descrito hasta ahora, la propuesta
de arquitectura se basa en una solución universal en la que ni los módulos de control ni el
centro de control están previamente diseñados para llevar a cabo una funcionalidad concreta.
En su lugar, los usuarios utilizarán las herramientas de configuración para particularizar el
comportamiento de la solución M2M.
Con estos tres elementos, se puede crear una arquitectura parecida a la ClienteServidor, donde un programa cliente interactúa con un programa servidor con la finalidad de
realizar alguna acción.
Figura 4.6. Arquitectura de una Plataforma M2M. Fuente Telefónica
4.5. MÁQUINAS EXPENDEDORAS
Son máquinas de venta automática que no necesitan intervención humana por parte del
vendedor para su funcionamiento. Normalmente suelen vender: refrescos, golosinas, comida,
bebidas, tabaco, boletos de tren o autobús. Y periódicamente un empleado repone el producto
y recoge el dinero en forma de monedas y billetes, aunque a veces se puede pagar con tarjeta o
incluso con el teléfono móvil. [Wikipedia, 2006]
33
CAPÍTULO 4. MARCO TEÓRICO
Las principales ventajas de las máquinas expendedoras respecto a la venta tradicional
son: un menor precio de los productos y su disponibilidad en cualquier momento del día. Entre
sus principales desventajas cabría destacar la pérdida del contacto personal con el vendedor
Desde el punto de vista técnico, una máquina expendedora no es más que un robot que
mediante un protocolo de comunicación entre el cerebro y sus periféricos, puede ejecutar
funciones como lo son el cobro y despacho del producto.
Las máquinas expendedoras de hoy día, poseen un controlador electrónico que usualmente
permite la interfaz con los sistemas de pago mediante varios protocolos y distintas
configuraciones que se muestran en la siguiente tabla:
Interfaz
Protocolo
Dispositivo
Maestro
Intervalo de
Encuesta
Número de Periféricos o
Esclavos
“Executive”
Protocolo Executive 'A' emitido por
“Mars Electronic International”.
Sistema de
Pago
40 ms
Max. 5. Lector de tarjetas y
unidad de auditoria.
“BDV”
BDV001 emitido por el
“BDV Comitee”
Sistema de
Pago
1000 ms
Max. 5. Lector de tarjetas y
unidad de auditoria.
“MDB”
Multi Drop Bus emitido por “NAMA”
y “EVA”
VMC
50 - 200
ms
Max. 5. Validador de Monedas,
Aceptor de billetes, Lector de
tarjetas y unidad de auditoria.
Tabla 4.2. Interfaces y Estándar de máquinas expendedoras.
4.5.1. ESTÁNDAR MDB
El propósito de estos párrafos es describir de manera breve pero completa, la
estandarización del programa y los comandos que utiliza el sistema electrónico o Controlador
de Máquina Expendedora (VMC, Vending Machine Controller) para comunicarse con los
periféricos, mediante el protocolo MDB (Multi Drop Bus). Antes de comenzar con la
descripción, es importante destacar que muchos fabricantes poseen programas y
especificaciones que no son exactas al estándar por lo que deben proveer las verdaderas
especificaciones de sus productos.
34
CAPÍTULO 4. MARCO TEÓRICO
La interfaz “MDB” o Bus de Salida Múltiple se basa en la comunicación serial bajo
una arquitectura Maestro-Esclavo donde los periféricos son esclavos al controlador maestro o
VMC. Debe existir un solo maestro con capacidad de comunicarse con hasta 32 periféricos
donde cada uno posee una dirección y un conjunto o set de comandos únicos. La interferencia
o choques de información dentro del bus se evitan ya que cada periférico responde únicamente
cuando es encuestado o interrogado (Poll es el término correcto para esta acción). Todos los
periféricos deben reconocer los comandos enviados por el Maestro y poder ser deshabilitados
y habilitados.
El funcionamiento básico es el siguiente, el VMC encuestará a los periféricos a través
del bus, con el propósito de detectar actividad; estos periféricos deben responder con un
Acknowledge, un Negative acknowledge o un comando de datos específico dependiendo se su
estado actual. Si un periférico específico no responde en un tiempo definido a la encuesta del
controlador, éste asume que el periférico no se encuentra conectado al bus.
La última versión del estándar MDB introdujo nuevas especificaciones como distintos
niveles y opciones de funcionamiento, con la finalidad de aumentar la capacidad de desarrollar
e implementar nuevas funciones de acuerdo a los requerimientos que vayan apareciendo. Una
de esas funciones es la Capa de Transporte de Archivos (FTL, File Transport Layer), la cual
proporciona un método para enviar y/o recibir información de alto nivel entre periféricos o
entre un periférico y el VMC.
Las características más importantes del estándar MDB son las siguientes:
•
Formato del Byte de Comunicación
-
Velocidad de transmisión en baudios: 9600 NRZ
-
Formato de bit Serial: 1 Bit de inicio, 8 Bits de datos, 1 Bit de modo y 1 Bit de parada
(11 bits en total); donde el MSB siempre es enviado de primero.
LSB
Inicio
MSB
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Figura 4.7. Representación del formato de bits.
35
Modo
Parada
CAPÍTULO 4. MARCO TEÓRICO
-
El tratamiento del bit de modo en el sentido Maestro a esclavo permite diferenciar
entre un byte de dirección (Uno lógico) o un byte de data (Cero lógico). Los bytes de
dirección deben ser leídos por todos los periféricos mientras que los bytes de datos solo
pueden ser leídos por el periférico que ha sido diseccionado. En el sentido esclavo a
maestro, el bit de modo se coloca en uno lógico cuando se envía el último byte de dato.
•
-
Formato de Bloque de Comunicación
Un bloque de comunicación enviado en sentido maestro a esclavo, es definido como 1
byte de dirección, bytes de datos (opcionales) y un byte de chequeo (CHK). El bloque
está limitado a un máximo de 36 bytes. Los 5 bits más significativos (MSB) del byte
de dirección corresponden al direccionamiento mientras que los 3 bits menos
significativos (LSB) contienen comando específicos para el periférico. El VMC
responderá a la data proveniente del periférico con un Acknowledge, un Negative
Acknowledge o un byte de Retransmisión. En caso de que el VMC no reciba ningún
byte proveniente el periférico, se retransmitirá la data hasta que el tiempo máximo de
respuesta se haya cumplido.
-
Un bloque de comunicación en el sentido esclavo a maestro, consiste de un bloque de
datos y un byte CHK, un byte de Acknowledge o un byte de Negative Acknowledge.
Como se indicó anteriormente, el periférico debe colocar en alto el bit de modo del
último byte a enviar con el propósito de indicar el fin de la transmisión. En caso que el
maestro no responda correctamente al byte enviado por parte del periférico, este debe
reenviar la data nuevamente o enviarla en la siguiente oportunidad. El byte CHK, es un
byte que se envía de último en cada paquete de datos y básicamente es la suma del byte
de direccionamiento respectivo y todos los bytes de datos a enviar. El bit de carga o el
carry bit es ignorado.
36
CAPÍTULO 4. MARCO TEÓRICO
•
Esquemático de conexión del VMC y los esclavos
Figura 4.8. Esquemático de conexión de maestro y esclavo en las máquinas expendedoras. Fuente Estándar
MDB/ICP de NAMA y EVA.
•
Tiempos de respuesta o de comunicación
Existen una serie de variables y tiempos para que la comunicación funcione y están
descritos en la siguiente tabla.
Nombre
Descripción
Valor
Baud Rate
La rata de bits por segundo
9600 +1%/-2% NRZ
t interbyte
Tiempo máximo permitido entre bytes en una comunicación por bloques.
Max. 1ms
t response
El máximo tiempo en que un dispositivo debe responder
Max. 5ms
t break
El mínimo tiempo en que la señal de reset de bus debe mantenerse
Min. 100ms
t setup
El tiempo mínimo de espera para que se reinicie la comunicación luego
de un reset
min. 200ms
Tabla 4.3. Interfaces y protocolo de Máquinas expendedoras.
37
CAPÍTULO 4. MARCO TEÓRICO
4.5.1.1. SISTEMA DE PAGO ELECTRÓNICO O “CASHLESS DEVICE”
Este esclavo debe verse básicamente como una máquina de estados. Donde en cada
estado se pueden realizar distintas acciones de acuerdo a los comandos que reciba y envíe.
Para conocer más acerca de este esclavo que es que se va a reproducir en el proyecto, se
procederá colocar una figura con la máquina de estados y posteriormente una breve
explicación de cada uno de los estados.
Reset
Inicio
1. Inactivo
Setup
Listo
Reset
3. Habilitado
Habiltar
Servicio
Deshabilitar
Servicio
Iniciar
Sesión
Finalizar
Sesión
Petición
Venta Inv.
2. Deshabilitado
4. Sesion en Espera
7. Venta Inversa
Petición
Cambio
Petición
Venta
5. Venta
6. Cambio
Figura 4.9. Diagrama de Estados de un periférico tipo cashless (TMI).
Estados:
-
Inactivo: este es el estado en que el periférico inicia o pasa luego de un comando de
reset. En este estado, no puede utilizar el equipo con propósitos de venta. Para pasar al
siguiente estado debe completar una etapa de configuración inicial.
-
Deshabilitado: el equipo entra automáticamente en este estado desde el estado inactivo.
También puede pasar a este estado desde el estado habilitado si recibe el comando
“Deshabilitar Lector”. En este estado, el equipo tampoco podrá ser utilizado para
propósitos de venta. El equipo se mantendrá en este estado mientras no haya recibido
el comando de “Habilitar Lector” donde pasa al siguiente estado.
-
Habilitado: en este estado, el equipo puede ser utilizado para transacciones MDB y se
mantendrá en este estado hasta que no se haya recibido o leído un método de pago
verificado y se haya recibido el comando para iniciar sesión.
38
CAPÍTULO 4. MARCO TEÓRICO
-
Sesión en Espera: este estado indica que se ha iniciado una sesión y que el periférico se
encuentra listo para actividades de venta. En este estado pueden ocurrir tres tipos de
actividades de venta que corresponden a los siguientes tres estados; pero la única
manera de salir verdaderamente de este estado es recibiendo el comando de Sesión
Finalizada por parte del VMC.
-
Venta: se entra en este estado al recibir desde el estado Sesión en espera, un comando
de “Petición de Venta”, este estado es un secuencia ininterrumpible de comandos y
respuestas que retorna automáticamente al estado Sesión En Espera luego de haber
finalizado.
-
Cambio (Nivel 2 ó 3): se entra en este estado al recibir desde el estado Sesión en
espera, un comando de “Petición de Cambio”, este estado es un secuencia
ininterrumpible de comandos y respuestas que retorna automáticamente al estado
Sesión En Espera luego de haber finalizado.
-
-Venta Inversa: se entra en este estado al recibir desde el estado Sesión en espera, un
comando de “Petición de Venta Inversa”, este estado es un secuencia ininterrumpible
de comandos y respuestas que retorna automáticamente al estado Sesión En Espera
luego de haber finalizado.
Existen muchos comandos para su manejo que permiten viajar por los estados
anteriores y realizar distintas funciones y actividades. Para mayor información consultar el
Estándar [MDB/ICP, 2003].
39
CAPÍTULO 5. MARCO METODOLÓGICO
Esta etapa del informe, expone la metodología implementada durante la ejecución del
proyecto, los lineamientos y las características que este posee; en otras palabras, se procede a
describir y analizar el fondo del problema planteado a través de procedimientos específicos
que incluye las técnicas de observación, el tipo de investigación, las técnicas de recolección de
datos y el análisis de los mismos; todo ello con la finalidad de explicar de que manera se
realizo el estudio.
5.1. PERSPECTIVA TEÓRICA Y TIPO DE INVESTIGACIÓN
De acuerdo a la perspectiva de la pasantía y tomando en cuenta la naturaleza del
problema planteado y los objetivos para solucionarlo, se optó por utilizar un método de
investigación “Cualitativo”, donde se analizan e identifican las cualidades del proyecto; desde
el punto de vista del tipo de investigación, se seleccionó el modelo de “Proyecto Factible”,
que consiste en la investigación, elaboración y desarrollo de una propuesta viable con la
finalidad de solucionar el problema en cuestión de acuerdo a los requerimientos y las
necesidades que surgieron del análisis previo del proyecto.
La investigación se apoya en la identificación y selección de una serie de documentos,
archivos e información obtenida a través de talleres vinculados a nuevas tecnologías,
telecomunicaciones, sistemas y microcontroladores sobre los cuales se realizó la formulación
de nuevos criterios, hipótesis y soluciones para el proyecto en cuestión; con el propósito de
diseñar y desarrollar la plataforma de pruebas del proyecto.
5.2. OBJETO DE ESTUDIO
El objeto de estudio del proyecto abarca de manera sintetizada la noción del caso y la
motivación para hallar las respuestas del mismo. Se define como: “El diseño de una
plataforma tecnológica para el desarrollo de aplicaciones M2M como respuesta a la carencia
de soluciones y servicios dentro del mercado Venezolano”.
40
CAPÍTULO 5. MARCO METODOLÓGICO
5.3. FASES DE LA INVESTIGACIÓN
Las actividades realizadas están divididas en varias fases secuenciales que se encargan
de responder dos preguntas importantes: ¿Cuál es el estatus actual del proyecto? y ¿Cuál debe
ser el plan a seguir para lograr desarrollar la plataforma y alcanzar los objetivos propuestos?
Fase I: Definición de objetivos y estrategias para el producto.
Esta fase corresponde a conocer el estado actual de la tecnología y entorno del
proyecto para posteriormente definir el plan o la estrategia a seguir. El resultado fue la
escogencia de los elementos tecnológicos básicos como el radio modem CDMA de Kyocera
modelo M200, el ambiente cliente-servidor y los protocolos de comunicación; también de la
escogencia del primer cliente potencial. Asimismo incluye la realización de una pequeña
evaluación o justificación del
proyecto donde de manera cualitativa se demuestra la
factibilidad del mismo.
Fase II: Evaluación y pruebas con los elementos tecnológicos básicos del Terminal Móvil
Inteligente.
En esta fase se logró la familiarización con las funciones y capacidades del radio
modem CDMA seleccionado en la fase 1. Como resultado se obtuvo una plataforma de prueba
(work bench) para evaluar las capacidades de comunicación, seguridad, localización y control
del módulo M200 de Kyocera (radio modem seleccionado) en una red celular CDMA
(Movistar y/o Movilnet) para conexiones de datos (1X o EVDO) y mensajería de texto (SMS).
Esta plataforma de prueba permite la implantación de rutinas que ejecuten diversas funciones
tratando de simular el módulo de control del Terminal Móvil Inteligente en un ambiente de
producción (recibiendo órdenes de un ente superior en un ambiente Cliente-Servidor). El
ambiente Cliente-Servidor fue preparado y provisto por Dinama C.A. para las pruebas.
Fase III: Implantación en el ambiente de prueba, de la aplicación comercial para las máquinas
expendedoras de café.
En esta fase se investigó y determinó los protocolos de control de las máquinas
expendedoras (MDB) y se propondrá un esquema de funcionamiento de la arquitectura
41
CAPÍTULO 5. MARCO METODOLÓGICO
Cliente-Servidor para permitir la medida de indicadores de la máquina (telemetría) y el control
de funciones. En este esquema el Servidor recibe las instrucciones de despachar el producto de
la máquina expendedora de un ente externo que será el encargado de procesar el pago del
cliente. Este elemento fue dispuesto por Dinama C.A.
Fase IV: Diseño de un prototipo en términos de hardware y software que reproduzca la
plataforma de pruebas con el objetivo de conformar junto al radio modem el Terminal Móvil
Inteligente.
Esta fase consiste en la realización del diseño del Terminal Móvil Inteligente, tomando
en cuenta costo, factibilidad de producción en serie, tamaño y consumo de energía. De
acuerdo con el alcance establecido para el proyecto, esta fase sólo considerará la elaboración
de una propuesta preliminar básica sobre las características y los componentes que
conformarán el Terminal Móvil Inteligente.
De acuerdo con las fases del proyecto, se prevé el siguiente cronograma de actividades,
el cual se presenta a nivel de fases en la figura 5.1.
Semana
Fase I
Fase II
Fase III
Fase IV
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Figura 5.1. Cronograma de Actividades realizado en un Diagrama Gant
El detalle por actividades se muestra a continuación:
•
Semanas 1-2: Integración a la compañía y entendimiento al detalle de los objetivos
y estrategias para el producto “Terminal móvil inteligente”.
•
Semanas 2-4: Familiarización sobre las funciones y capacidades del radio módem
CDMA seleccionado (Kyocera M200).
•
Semanas 4-5: Familiarización con respecto a “Analizadores de Protocolo”.
•
Semanas 5-7: Estudio detallado sobre protocolos de control.
•
Semana 7-8: Conceptualización detallada del módulo de control.
•
Semana 9: Revisión teórica sobre el concepto de Cliente-Servidor.
•
Semanas 9-16: Diseño e implantación del ambiente o plataforma de prueba.
42
CAPÍTULO 5. MARCO METODOLÓGICO
•
Semana 16: Elaboración del protocolo de pruebas para las simulaciones.
•
Semanas 17-18: Realización de las pruebas y recolección de información.
•
Semana 18-20: Elaboración del diseño básico del hardware del prototipo y
elaboración del documento técnico. Entrega final del proyecto de pasantía.
5.4. PROCEDIMIENTOS
En esta sección, se procederá a explicar los procedimientos o pasos realizados durante
cada fase que conformaron el desarrollo del proyecto, describiendo en detalle las actividades
del mismo.
Fase I: Definición de objetivos y estrategias para el producto.
Lo primero que se realizó fue conocer el estado de definición
del proyecto
investigando los antecedentes del mismo, observando que existían elementos tecnológicos y
estrategias escogidas previamente por los ejecutivos de la empresa. De allí en adelante, se
procedió de la siguiente manera:
Al conocer el estado de la investigación, se procedió a realizar los contactos que poseía la
empresa para la adquisición de equipos y dispositivos previamente seleccionados; los cuales
básicamente eran la tarjeta de desarrollo y pruebas del modulo, el radio modem Kyocera
M200 y un analizador de protocolos MDB junto con los cables de interfaz.
Se procedió a determinar el objetivo general del proyecto de acuerdo a las ideas o
propuestas que presentó la empresa Dinama C.A., entre las que se encontraban elaborar la
plataforma de pruebas bajo una estructura cliente-servidor utilizando el módulo seleccionado.
Esta plataforma sería la base tecnológica para luego poder elaborar aplicaciones M2M de
acuerdo a los requerimientos de los distintos clientes. Para ese momento, la aplicación que
más se adaptaba a las necesidades de la empresa resultó ser la de incorporar el producto
(Terminal Móvil Inteligente) a una red de máquinas expendedoras de café con el propósito de
despachar el producto de manera local; convirtiéndose en el objetivo principal de la pasantía.
43
CAPÍTULO 5. MARCO METODOLÓGICO
Partiendo del objetivo general, se derivaron una serie de objetivos más específicos que
permitieran dividir el proyecto en fases y posteriormente en actividades; tomando muy en
cuenta los tiempos de ejecución para cada una. Adicionalmente, para verificar que el modelo
de negocios y la aplicación seleccionada era la correcta, los directores de la empresa realizaron
un estudio y una evaluación sobre la rentabilidad del mismo. El cronograma de actividades fue
desarrollado y se verificó que los tiempos fuesen adecuados para el cumplimiento de cada
actividad, llegando a la conclusión que el proyecto es factible desde el punto de vista técnico.
Es importante destacar que se tomaron previsiones al momento de realizar el cronograma; de
tal manera que paralelamente se podían realizar diferentes actividades incluso de diferentes
fases en caso de ocurrir alguna contingencia.
2ª Fase: Evaluación y pruebas con los elementos tecnológicos básicos del Terminal Móvil
Inteligente.
Esta fase comienza con el estudio del concepto “Terminal Móvil Inteligente”,
conociendo sus elementos básicos y su potencialidad. Luego se elaboró un primer diagrama de
bloques de lo que debería contener la plataforma de pruebas; para posteriormente diseñar el
“Terminal Móvil Inteligente CDMA” tomando en cuenta sus funciones, componentes, ideas,
aplicaciones, etc.
Luego de crear el diseño; se procedió a investigar, documentar y manipular el primer
elemento tecnológico que conformaría la aplicación; el módulo Kyocera M200 y básicamente
se siguieron estos pasos:
•
Investigación y documentación acerca del módulo. Donde el aspecto más importante a
destacar fue que existen 2 protocolos distintos que manejan distintas funciones del
módulo. Entre estos dos protocolos, se decidió por adoptar el más complejo ya que el
mismo podía acceder o ejecutar casi todas las funciones disponibles.
•
Investigación y documentación de la tecnología asociada al módulo, para tener una
mejor visión de las capacidades del mismo.
•
Configuración básica del módulo; siguiendo los pasos especificados en la Guía de
Usuario del Módulo Kyocera M200, todo esto utilizando el software de soporte de
Kyocera para programar el módulo M200 llamado PST (Phone Support Toolkit).
44
CAPÍTULO 5. MARCO METODOLÓGICO
•
Investigación y documentación de la herramienta de desarrollo y pruebas llamada
MARS (Module Api Remote System).
•
Incorporación y activación de una línea telefónica móvil al módulo para poder realizar
las pruebas con la aplicación de soporte. En este paso, fue necesario contactar a las
operadoras móviles para agilizar el proceso.
•
Conexión del modulo de desarrollo de Kyocera a la interfaz de programación MARS
por medio de comunicación serial.
•
Evaluar y probar el modulo M200 al ejecutar las funciones básicas del mismo como lo
fueron: llamada de voz, envío y recepción de mensajes de texto, conexión a datos y
pruebas con el AGPS entre otras. Durante este proceso se obtuvo información acerca
de la interfaz visual y las funciones del software como por ejemplo la herramienta para
decodificar mensajes y comandos.
Una vez conocidas las funcionalidades básicas del módulo, se procedió a elaborar una lista
de requerimientos y criterios de selección para la escogencia de los otros elementos
tecnológicos básicos que conformarían el Terminal, así como las características que el
prototipo debe tener. Entre los elementos más importantes se encontraba el nuevo
microcontrolador y su compilador o software de programación; también se debía adquirir una
tarjeta con el µC (Microcontrolador) y los periféricos para tener acceso al mismo. Esta lista
puede ser observada con detalle en el Apéndice A.
Consecutivamente se realizó una búsqueda de distintos dispositivos, tarjetas y
combinaciones de productos para crear una lista detallada con sus características para luego
escoger el producto que más se adaptara a los requerimientos técnicos y económicos del
proyecto.
Posteriormente se elaboraron rutinas para comunicarse directamente con el módulo M200
(sin utilizar el API o Application Programming Interface) utilizando un microcontrolador que
posteriormente sería el cerebro del Terminal. Para lograr ello, se utilizó en primera instancia el
microcontrolador Motorola HC908GP32 que había sido utilizado con anterioridad en
proyectos más básicos dentro de la Universidad. Es importante destacar que se conocía de
45
CAPÍTULO 5. MARCO METODOLÓGICO
manera previa que este µC no era el definitivo debido a limitaciones importantes con respecto
a los requerimientos; pero el mismo podía ser programado en Lenguaje C, un lenguaje de
programación flexible y que es utilizado en la mayoría de los compiladores. Esto significó una
ventaja importante ya que se pudo empezar a trabajar sin haber adquirido el microcontrolador
final o definitivo para el proyecto.
Inmediatamente, se siguieron los pasos:
•
Estudio a fondo del protocolo de comunicación KMIP (Que es el que permite acceder a
la mayoría de las funciones del M200).
•
Elaboración de las rutinas de codificación y decodificación de los mensajes para la
comunicación entre el microcontrolador y el módulo. Estas rutinas comprenden
procesos de chequeo de errores, codificación de caracteres especiales y elaboración de
bloques de mensajes entre otros. Estas rutinas iban siendo verificadas o probadas en el
simulador de la computadora y una vez listas se probaban de manera física conectando
los dispositivos y utilizando un analizador de protocolos para observar el envío, la
recepción y la respuesta de los mensajes.
•
Desarrollo del diagrama de flujo que debería contener el archivo principal o Main del
programa incluyendo los procesos de interrupción, saltos a funciones, almacenamiento
de datos en buffers etc.
Seguidamente, el microcontrolador Motorola, llegó a su tope (máxima capacidad) por lo
que se continuó trabajando con la fase III mientras llegaba el nuevo microcontrolador; esto
con el fin de avanzar con el protocolo de comunicaciones de la Máquina Expendedora.
Paralelamente y una vez adquirido el nuevo microcontrolador y la tarjeta de programación
o evaluación del mismo; se procedió a investigar y documentar los aspectos más importantes
acerca del nuevo chip y del nuevo compilador con el fin de familiarizarse con ellos. Es
importante destacar que la forma más rápida de aprender a utilizar la herramienta EWARM es
analizando e interactuando con los ejemplos que trae la aplicación.
46
CAPÍTULO 5. MARCO METODOLÓGICO
Finalmente, se procedió de la misma manera para incluir las rutinas básicas al nuevo
compilador. En este punto se siguieron los siguientes pasos:
•
Creación de las estructuras de datos para comunicarse entre el nuevo microcontrolador
y el módulo M200. Se crearon estructuras de almacenamiento de comandos y
estructuras de envío de comandos. Se comprobó que funcionaran de manera correcta
junto con las viejas rutinas y en caso de requerirlo fueron adaptadas y optimizadas.
•
Diseño y elaboración de códigos o pequeños programas que emularán las
funcionalidades del módulo; es decir, las actividades básicas y más importantes del
radio modem Kyocera M200. Estas funcionalidades, estaban conformadas por un
conjunto de distintos comandos y en diferente orden lo que resultó ser complejo; entre
las funcionalidades creadas se encuentran:
o Reset del Módulo
o Envío de un SMS
o Recepción de un SMS
o Realizar un conexión de datos a un servidor
o Adquirir los datos de posición mediante el AGPS
o Envío de un mensaje a una cuenta de e-mail utilizando el servidor SMTP del la
empresa
•
Pruebas y optimización de las funciones previamente creadas, con el fin de que
funcionaran de manera robusta.
•
Construcción de funciones un poco más complejas (partiendo de las básicas)
relacionadas con la recepción de un SMS con un código específico para poder realizar
otras actividades. Entre las funciones más importantes construidas están las siguientes:
o Recibir un SMS y responder un SMS
o Recibir un SMS y conectarse a datos
o Recibir un SMS y enviar un e-mail
A partir de este momento se procedió a completar o seguir trabajando con la fase III;
optimizando los códigos y corrigiendo los errores que surgían durante la incorporación de las
funciones programadas del M200 a la siguiente fase.
47
CAPÍTULO 5. MARCO METODOLÓGICO
Fase III: Implantación en el ambiente de prueba, de la aplicación comercial para las máquinas
expendedoras de café.
Esta fase corresponde básicamente a implementar la aplicación que se comunicará con
las máquinas expendedoras; para ello fue necesario primero conocer la máquina con la que se
iba a trabajar, su protocolo, especificaciones eléctricas, etc.
La máquina expendedora utiliza el protocolo de comunicaciones MDB, el cual tuvo
que ser investigado y analizado para poder programar la aplicación. A continuación se indican
los pasos que conformaron esta fase:
•
Adquisición del estándar MDB/ICP; para ello se tuvo que acceder a las páginas Web
de [NAMA, 2006] y [EVA, 2006] y seguir sus instrucciones para descargar el archivo.
Durante las búsquedas, se logró leer archivos interesantes sobre el tema de negocios
M2M.
•
Lectura, análisis y documentación de los aspectos más importantes del estándar.
•
Programación de las funciones del estándar en el microcontrolador (Motorola
HC908GP32), estas funciones fueron probadas una por una para verificar que el
software estuviese correcto.
•
Pruebas del protocolo MDB utilizando un emulador de máquina expendedora
proporcionado por la empresa [Bonusdata, 2006] que es la fabricante del analizador de
protocolo MDB y sus interfaces.
•
Optimización de las funciones mediante la corrección de errores. Para ello fueron
utilizados los archivos generados por el analizador de protocolo MDB.
•
Simulación de una venta sencilla de manera manual al oprimir un botón (interrupción
de µC) de la tarjeta de pruebas. Esta simulación se logró al utilizar el emulador
previamente mencionado.
•
Simulación de la venta con la máquina expendedora real.
•
Corrección de errores o bugs. Estos errores ocurrían debido a que el programa maestro
dentro de la máquina expendedora, no era 100% estricto con el estándar; por este
48
CAPÍTULO 5. MARCO METODOLÓGICO
motivo se tuvo que se modificar algunos detalles en las funciones y se creó otra
librearía.
Una vez elaboradas todas las funciones necesarias y soportadas por la máquina
expendedora de Global Vending C.A, modelo “Colibrí” (fabricada por [Necta, 2006]), se pasó
a la fase 4 que se basa en incorporar este programa a las funcionalidades del modulo M200
para poco a poco ir creando y mejorando la aplicación final.
4ª Fase: Diseño de un prototipo en términos de hardware y software que reproduzca la
plataforma de pruebas con el objetivo de conformar junto al radio modem el Terminal Móvil
Inteligente.
Esta fase abarca el diseño del prototipo de la primera aplicación comercial y se puede
dividir en dos componentes que son: software y hardware. El componente de software esta
conformado básicamente por el programa que controlará a la máquina expendedora; mientras
que el componente
de hardware trata de los elementos y procedimientos para crear
físicamente el dispositivo llamado “Terminal Móvil inteligente”.
A continuación se describen los pasos a seguir en el desarrollo del componente de
software:
•
Incorporación de las librerías de las funciones de la fase 3 al nuevo microcontrolador.
En este punto fue necesario modificar el nombre de algunas instrucciones para que
fueran reconocidas por el nuevo compilador.
•
Modificación del diagrama de flujo para optimizarlo para que la aplicación de la
máquina expendedora fuera atendida como una interrupción. Esto fue necesario ya que
la máquina expendedora funciona como un dispositivo maestro y encuesta
continuamente al microcontrolador que resulta un esclavo inteligente, ya que puede
realizar otras actividades aparte de responder al VMC. Al colocar el programa de la
máquina expendedora como una interrupción, se libera capacidad o tiempo de
procesamiento del µC.
49
CAPÍTULO 5. MARCO METODOLÓGICO
•
Interconexión entre la función SMS del módulo y el despacho del producto. Este punto
corresponde a la interconexión entre la fase II y III de manera correcta; permitiendo no
solo controlar la venta del producto sino llevar un conteo o registro de las ventas.
•
Pruebas del software completo utilizando el emulador de máquina expendedora de
Bonusdata. Esta prueba incluye el envío real de un SMS y la simulación de la venta.
•
Elaboración de los requerimientos de la aplicación a ser colocada en el servidor. Esta
aplicación será creada en otro departamento de la empresa y su propósito es el de
mejorar el servicio a ofrecer a los usuarios.
•
Pruebas del software con la arquitectura cliente servidor completa. Este punto contiene
también la optimización de ambos programas, el cliente (Terminal Móvil Inteligente) y
el servidor (aplicación en red).
El desarrollo del componente de hardware se resume de la siguiente manera en varios
pasos:
•
Creación de una tarjeta circuital sencilla para conectar y aislar eléctricamente el puerto
serial del microcontrolador y el puerto serial de la máquina expendedora
(comunicación MDB).
•
Pruebas sobre la tarjeta creada para verificar que la interfaz funcione correctamente.
•
Medición y documentación de las dimensiones de las distintas tarjetas.
•
Búsqueda de una caja resistente y de buena calidad que funcione como carcasa.
•
Diseño y ubicación de las tarjetas dentro de la caja.
•
Diseño y ubicación de los orificios para los conectores, tornillos, etc. (modificaciones a
la caja metálica).
•
Incorporación de los elementos tecnológicos a la caja. En este punto, se colocaron
materiales aislantes para evitar accidentes.
Una vez finalizado el hardware, se realizó la prueba final del proyecto conectando el
prototipo de Terminal Móvil Inteligente a una máquina expendedora de café y realizando la
compra de un café mediante un SMS.
50
CAPÍTULO 5. MARCO METODOLÓGICO
5.5. TÉCNICAS E INSTRUMENTOS DE RECOLECCIÓN DE DATOS
Las técnicas de recolección de datos se componen de dos elementos básicos: los
instrumentos y los procedimientos. Los instrumentos son los medios materiales a través de los
cuales se hace posible la obtención y archivo de la información requerida para la
investigación. En esta etapa se nombrará cada uno de los instrumentos diseñados y/o
utilizados; para una mejor descripción de los mismos ver el Apéndice B.
a. Kit de Desarrollo de Módulo de Kyocera o MDK (Module Developer Kit).
b. Radio Modem M200 de Kyocera
c. Herramienta PST
d. Herramienta MARS
e. Tarjeta de Evaluación y Desarrollo Olimex STR-P711
f. IAR Embedded Workbench for ARM (EWARM).
g. Emulador Vending Machine Controller con protocolo MDB. Bonusdata.
h. Máquina Expendedora de Café “Colibrí”
i. Analizador de protocolo TELENEX 8800 Turbo
j. International Data Science INC. Blue Box 100
k. Analizador de Protocolos Seriales de Máquinas Expendedoras. Bonusdata.
l. Cables e Interfaces
m. Multímetro digital “Circuitmate Beckman DM 73”
n. Computadoras con Sistema operativos Windows XP y Windows 98.
51
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
En este capítulo se cubrirá lo referente a la estructura de la plataforma de desarrollo
para el Terminal Móvil Inteligente y sus distintas aplicaciones. La plataforma tecnológica,
abarca las herramientas para desplegar aplicaciones en el área de M2M al combinar distintos
protocolos de comunicación serial y distintas funcionalidades del módulo M200 de Kyocera
Wireless.
6.1. AMBIENTE DE DESARROLLO
La plataforma fue desarrollada con el banco de pruebas EWARM de la empresa “IAR
System”, funcionando bajo el sistema Operativo Windows XP. Adicionalmente, para la
programación y las pruebas en físico de las funciones y rutinas, se utilizó la tarjeta de
evaluación Olimex STR-P711 (la cual es compatible con el lenguaje de Programación JTAG y
por ende compatible con la herramienta EWARM), la herramienta MARS, la herramienta
Hyperterminal y los analizadores de protocolo.
El desarrollo de la plataforma tecnológica abarca la lectura y análisis de muchas guías
de usuario, documentos, presentaciones y muchas pruebas con distintos equipos para
garantizar su correcto funcionamiento. En los siguientes puntos, se describirá de manera mas
específica que elementos contiene la plataforma.
6.2. MÓDULO KYOCERA M200
6.2.1. DESCRIPCIÓN
El módulo CDMA de Kyocera fue concebido para empresas que desean diseñar, construir
y vender nuevos productos con esta tecnología. El módulo es apropiado para aplicaciones de
negocios como telemetría remota, puntos de venta, compras inalámbricas (Máquinas
expendedoras), supervisión y monitoreo de vehículos, sin dejar de lado soluciones de voz y
datos inalámbricos. El módulo ofrece los beneficios de la tecnología CDMA sin la necesidad
52
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
de construir un teléfono desde su inicio ya que éste se encarga de la parte de radio frecuencia
de la aplicación; sin embargo, es necesario conectar una serie de dispositivos externos a éste
para manejarlo.
El módulo posee características importantes como tres modos de operación, soporta AMPS
800MHz, CDMA 800MHz y CDMA 1900MHz, posee una memoria no volátil, un A-GPS
(Assisted Global Positioning System) integrado, capacidad para realizar y atender llamadas de
voz y datos, envío y recepción de mensajes de textos o SMS, conexión por sockets y más.
Las figuras presentadas a continuación muestran la arquitectura básica interna del modulo
y la forma externa del mismo.
Figura 6.1. Arquitectura básica interna del modulo
Figura 6.2. Módulo M200 de Kyocera. Fuente
M200 de Kyocera. Fuente Kyocera Wireless
Kyocera Wireless.
El modulo se conecta al sistema remoto a través de un conector Molex (board to
board) modelo 54230:55055 como los que se muestran en las figuras 6.3 y 6.4. La interfaz
soporta conexiones físicas para alimentación, 2 puertos seriales RS232 (UART 1 y UART 2),
micrófono, corneta y auricular. El módulo es alimentado por una fuente externa de 3,6 – 4,2
voltios que debe ser capaz de proveer una corriente promedio de 1,1 Amp y soportar picos de
corriente de 1,5 Amp.
53
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
Figura 6.3. Conector Macho 54230-0578 para el
Figura 6.4. Conector Hembra 55055-0578 para el
M200. Fuente Molex
M200. Fuente Molex
El
UART
1
provee
la
comunicación
para
ofrecer
servicios
de
datos
asíncronos/fax/paquete especificados bajo las normas del estándar TIA/EIA/IS-707-A. Este
puerto también es utilizado en conjunto a herramientas de configuración y provisión. El
UART 2 está reservado exclusivamente para ser utilizado con KMIP (Kyocera Multiplexing
Interface Protocol), por esta vía, el sistema remoto puede ejecutar acciones como emulación
de teclado, originar y atender llamadas de voz, llamadas de emergencia, envío y recepción de
SMS, adquisición de puntos del GPS, controlar ciertos modos y características del módulo y
recibir información de estatus de celular.
El protocolo de interfaz de software es el antes mencionado KMIP; el cual presenta una
estructura muy compleja e interesante que incluye parámetros, codificación, decodificación,
chequeo de errores y más, que pueden ser estudiados en detalle en la Guía de Usuario y Guía
de Referencia del M200. Es este el protocolo que se utilizó para comunicar el sistema remoto
del proyecto con el módulo para de esta manera crear la aplicación final.
6.2.2. PROTOCOLO DE COMUNICACIÓN KMIP
Comenzaremos con la explicación sobre la comunicación que debe existir entre el
sistema remoto y el módulo ya que sin ella es imposible desarrollar las funcionalidades.
54
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
El UART 2 del módulo Kyocera es un puerto de comunicación serial que funciona con
un reloj de 38,4 Kbps que no puede ser modificado; por este canal son transportados los
mensajes que permiten al Microcontrolador comunicarse y controlar el radio modem para
realizar distintas acciones.
El KMIP es un protocolo propietario de Kyocera Wireless, diseñado para enviar
mensajes multiplexados (mensajes SYS_WAKE y mensajes con el protocolo de diagnóstico).
Está diseñado para transmisión de entrada y salida serial con un mecanismo de codificación
parecido al HDLC (High Level Data Link Control). Es un protocolo de tipo Half-duplex donde
los mensajes y comandos son multiplexados en distintos canales.
Cada marco de KMIP contiene un caracter de encabezado o header y un caracter de
cola o “trailer”, con la información de capa superior intercalada entre ellos. El header
contiene la información del canal cuyo objetivo es categorizar los mensajes de acuerdo a su
tipo y viene descrito en número hexadecimal tal como indica la siguiente tabla.
Nombre del canal
Carácter
Canal “Diagnostic Protocol”
0x01
Canal “Sockets”
0x03
Canal “SYS_WAKE”
0x04
Canal “Data Service”
0x06
Tabla 6.1. Canales multiplexados en protocolo KMIP.
El caracter de cola, siempre es el mismo y corresponde al valor hexadecimal 0x8E.
Adicionalmente, la codificación y decodificación utiliza el carácter de escape 0x8D con el
valor de escape 0x20; de tal manera que cuando la data contiene un carácter igual al trailer o
al carácter de escape, este es cambiado por el carácter de escape y un segundo carácter que
ocurre al realizar el XOR entre el carácter original y el carácter de escape de complemento
0x20. Para finalizar el marco KMIP, es importante destacar que no se pueden enviar mensajes
con una longitud mayor a 42 caracteres; en caso de existir estos mensajes, los mismos son
55
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
divididos en mensajes de 42 caracteres con header y trailer y es responsabilidad de la capa de
transporte del sistema remoto, reagrupar y analizar correctamente los mensajes.
El protocolo de Diagnóstico, es el núcleo de la interfase con la que el módulo y el
sistema remoto realmente se comunican. Es un protocolo que se detiene a esperar el siguiente
mensaje antes de generar una respuesta (Stop-and-Wait) con marcos parecidos al HDLC cuyos
campos incluyen la información, un CRC (Cyclic Redundancy Check) y un trailer, también es
importante destacar que el módulo sólo envía caracteres al sistema remoto únicamente después
de haber recibido un mensaje desde el sistema remoto. Por lo general, el campo de
información contiene un primer carácter que indica el tipo de comando y una serie de
caracteres que conforman la información; pero existe un comando específico (el número 75)
que corresponde a comandos diagnósticos extendidos; donde existen dos caracteres
adicionales al primero para indicar el tipo de comando extendido y posterior a ellos la
información. Al igual que el formato KMIP, el protocolo de diagnóstico también codifica los
caracteres de data que son iguales al trailer o bandera final cuyo valor es el 0x7E ; para ello
utiliza el carácter de escape 0x7D y el valor del escape sería el mismo 0x20. El CRC es un
campo para chequear errores en el mensaje luego de la transmisión; el mismo corresponde al
generador polinomial del estándar CRC-CCITT-16
Así como el protocolo de diagnóstico, existen mensajes en otros canales que poseen
otras funciones y que presentan una estructura mas sencilla y rígida: el mensaje indicador de
servicio de datos (data service indicator) y el mensaje SYS_WAKE.
El data service indicator, permite conocer si la llamada de datos está activa o no,
mientras que el mensaje SYS_WAKE es el único mensaje que puede ser iniciado desde el
módulo M200 y puede ser interpretado como una interrupción cuya única función es indicar al
sistema remoto que ha cambiado cualquier campo de estado del módulo M200; en respuesta a
esta interrupción se debe enviar un mensaje para conocer el estado del teléfono y poder tomar
alguna decisión con respecto a ello.
56
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
El módulo utiliza una organización de final pequeño o Little Endian la cual es
apropiada ya que se hace muy intuitivo el almacenamiento de los mensajes o comandos en sus
respectivas estructuras de dato.
A continuación se muestra la forma para Codificar y Decodificar los mensajes paso por
paso:
a) Codificación de KMIP
-
Creando el Paquete del Protocolo de Diagnóstico
1. De acuerdo a los comandos y/o subcomandos a codificar (Ver Guía de
Referencia de Kyocera), se colocan los caracteres apropiados.
2. Se calcula el CRC de los caracteres utilizados en 1.
3. Se añaden los dos caracteres del CRC al final del conjunto de caracteres.
4. Se realiza el escape de cualquier byte que posee los valores 0x7E y 0x7D. (Se
realiza un XOR entre el byte anterior y 0x20 y se inserta luego de insertar el
carácter de escape 0x7D).
i. 0x7E es reemplazado por 0x7D 0x5E
ii. 0x7D es reemplazado por 0x7D 0x5D
5. Se le añade el diagnositc trailer byte 0x7E
-
Creando el Paquete KMIP
1. Se toma el paquete de diagnóstico y se realiza el escape de cualquier byte que
posee los valores 0x8E y 0x8D. (Se realiza un XOR entre el byte anterior y
0x20 y se inserta luego de insertar el carácter de escape 0x8D).
i.
0x8E es reemplazado por 0x8D 0xAE
ii.
0x8D es reemplazado por 0x8D 0xAD
2. Se divide cualquier comando en piezas o submensajes de 42 bytes
3. Se añade al inicio de cada submensaje el KMIP header 0x01
4. Se añade al final de cada submensaje el KMIP trailer 0x8E
b) Decodificación KMIP
-
Decodificando el KMIP
57
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
1. Se eliminan los caracteres KMIP header
2. Se eliminan los caracteres KMIP trailer
3. Se concatenan los pedazos de comando o submensajes.
4. Se recuperan los caracteres a los que se les hizo el escape.
i. 0x8D 0xAD es reemplazado por 0x8D
ii. 0x8D 0xAE es reemplazado por 0x8E
-
Decodificando el protocolo de diagnóstico
1. Se recuperan los caracteres a los que se les hizo el escape.
i.
0x7D 0x5D es reemplazado por 0x7D
ii.
0x7D 0x5E es reemplazado por 0x7E
2. Se remueve el diagnostic trailer 0x7E
3. Se calcula de nuevo el CRC sin incluir los últimos dos caracteres
(correspondientes al CRC del mensaje actual)
4. Se comparan ambos CRC; si son iguales, se eliminan los dos últimos caracteres
al mensaje; de otra forma, se desecha el paquete o mensaje.
5. Se almacenan en las estructuras de datos de acuerdo a la Guía de Referencia
M200 de Kyocera.
Esta serie de pasos constituyeron las primeras y más importantes rutinas que fueron
programadas y probadas hasta llegar a ser perfectas para no cometer ningún error de protocolo.
Estas funciones son fundamentales para poder comunicarse bajo el mismo lenguaje entre el
sistema remoto y el modulo M200.
Este preámbulo nos permite pasar a describir de manera mas precisa todas y cada una
de las funciones implementadas en la plataforma de pruebas.
58
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
6.3. RUTINAS Y FUNCIONES BÁSICAS
Como se menciona en el párrafo anterior, se procederá a nombrar y explicar las
funciones o rutinas básicas para lograr desplegar el protocolo KMIP en su más bajo nivel. Este
conjunto de funciones reproducen el comportamiento descrito en la sección anterior y se
pueden dividir en:
•
Función CRC
Básicamente consta de una matriz y una función que permite calcular el byte de
chequeo de redundancia cíclica o Cyclic Redundance Check del mensaje.
•
Bloque de funciones Escape_Unescape
Contiene 4 funciones básicas para simular el proceso de escaping y unescaping del
protocolo diagnóstico y del protocolo KMIP. Estas cuatro funciones son las siguientes:
-
u8 Escape_Diag (u8 *Entra, u8 *Sale, short Length); rutina que reemplaza los
caracteres prohibidos por su valor correspondiente de acuerdo al proceso de escaping
del protocolo Diagnóstico. Entra por parámetro el mensaje a modificar (apuntador
*Entra) con su tamaño (Length), retorna el parámetro del mensaje modificado (*Sale)
y se retorna por parámetro el nuevo tamaño del mensaje.
-
u8 Escape_Kmip (u8 *Entra, u8 *Sale, short Length); rutina que reemplaza los
caracteres prohibidos por su valor correspondiente de acuerdo al proceso de escaping
del protocolo KMIP. Entra por parámetro el mensaje a modificar (apuntador *Entra)
con su tamaño (Length), retorna el parámetro del mensaje modificado (*Sale) y se
retorna por parámetro el nuevo tamaño del mensaje.
-
u8 Unescape_Diag (u8 *Entra, u8 *Sale, short Length); rutina que reemplaza los el
conjunto de caracteres con escaping por su valor correspondiente de acuerdo al
proceso de unescaping del protocolo Diagnóstico. Entra por parámetro el mensaje a
modificar (apuntador *Entra) con su tamaño (Length), retorna el parámetro del
mensaje modificado (*Sale) y se retorna por parámetro el nuevo tamaño del mensaje.
-
u8 Unescape_Kmip (u8 *Entra, u8 *Sale, short Length); rutina que reemplaza los el
conjunto de caracteres con escaping por su valor correspondiente de acuerdo al
59
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
proceso de unescaping del protocolo KMIP. Entra por parámetro el mensaje a
modificar (apuntador *Entra) con su tamaño (Length), retorna el parámetro del
mensaje modificado (*Sale) y se retorna por parámetro el nuevo tamaño del mensaje.
•
Bloque de funciones Encoding_Decoding
Contiene una serie de funciones que utilizan rutinas anteriores para lograr codificar y
decodificar de manera completa los mensajes.
-
void Create_Diag_Pack (u8 *Entra, u8 *Sale, short *Length); función que calcula
el CRC del mensaje, modifica los caracteres prohibidos con la función Escape_Diag()
y añade el trailer al mensaje y retorna el nuevo tamaño.
-
void Create_Kmip_Pack(u8 *Entra,u8 *Memoria, short *Length, u8 Channel);
función que modifica los caracteres prohibidos con la función Escape_KMIP(),
convierte los mensajes largos en paquetes de 42 bytes, añade los headers y trailers
KMIP a los paquetes y retorna el nuevo tamaño.
-
void Encoding(u8 *Entra,u8 *Sale, short *Length, u8 Channel); función que
agrupa las dos funciones anteriores en una sola.
-
void Decode_Kmip_Pack(u8 *Entra,u8 *Memoria, short *Length, u8 Channel);
función que reagrupa los paquetes de 42 bytes en el mensaje original; eliminando los
headers y trailer KMIP para posteriormente realizar la restauración del mensaje con la
función Unescape_Kmip(). También devuelve el nuevo tamaño del mensaje.
-
u8 Decode_Diag_Pack(u8 *Entra,u8 *Sale, short *Length); función que realiza el
Unescape_Diag() del mensaje y verifica que el CRC este correcto o no; este resultado
se retorna al igual que el nuevo tamaño del mensaje.
-
u8 Decoding(u8 *Entra,u8 *Sale, short *Length, u8 *Channel); Función que
combina las dos funciones anteriores y además permite conocer el canal del mensaje o
si el paquete está dañado colocando el resultado en una variable.
60
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
•
Bloque de funciones CopyBuffer
Contiene un trío de funciones que se encargan de administrar el buffer de entrada, así
como de copiar bloques de datos a segmentos específicos en la memoria del programa.
-
u8 *MegaBufferCopy(u8 *dest, short *Length); función que administra los bytes de
entrada en el puerto serial y los transporta a otro espacio de memoria para que sean
analizados.
-
u8 *stringcopy (u8 *dest, const u8 *src, short length); función que permite copiar o
mover los datos de un bloque de memoria a otro bloque de memoria.
-
u8 *stringcopyExt (u8 *dest, const u8 *src, short length); realiza la misma función
que la rutina anterior pero añade unos bytes para las mensajes extendidos.
•
Bloque de funciones Cod_Decod
Contiene una serie de rutinas encargadas de la interfaz entre el puerto serial y la
memoria del microcontrolador.
-
void Decodificar_Data_M200(u8 *Bandera, u8 *Canal, u8 *ArregloMemoria, u8
*ArregloSale); función que obtiene los datos del buffer mediante la función
MegaBufferCopy() y los decodifica con la función Decoding(). Además restaura los
apuntadores del buffer circular para que se vuelva a utilizar el buffer.
-
void Codif_Data_M200(u8 Canal, u8 Comando, short Subcomando, u8
*ArregloMemoria, u8 *ArregloSale); función que de acuerdo a los parámetros,
construye el mensaje de salida a enviar al modulo M200. Esta función contiene una
serie de rutinas que se encargan de construir las estructuras específicas de los mensajes
de salida.
•
Bloque de Funciones Analizar_Data_M200
Consta básicamente de una función importante que contiene gran cantidad de subrutinas.
Esta función es la: u8 Analizar_Data_M200(u8 *Flag, u8 *Channel, u8 *Comando,
short *Subcomando, u8 *Arreglo); y su función es analizar los datos codificados y con
la ayuda de las subrutinas colocar los mensajes en sus respectivas estructuras para su
posterior uso. También contiene una bandera que indica si hay datos nuevos y a cual canal
corresponde.
61
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
Con este conjunto de bloques de funciones, se simulan los procesos de comunicación entre
el sistema remoto y el módulo M200.
6.4. FUNCIONALIDADES DEL MODULO
Ahora que se conocen las funciones básicas de la comunicación, se procederá a
describir los microprogramas que emulan las distintas funcionalidades del módulo. Estos
microprogramas son independientes entre ellos, pero no se pueden ejecutar dos o más de ellos
de manera simultánea al no poseer un sistema operativo robusto para realizarlo.
Las funcionalidades implementadas pueden ser ligeramente modificadas para adaptarse
a ciertos requerimientos; estas funcionalidades son las siguientes:
•
void Extended_State_Status(u8 *Canal, u8 *Comando, short *Subcomando); esta
rutina es considerada una funcionalidad por su constante uso ya que la mayoría de las
funciones que realiza el módulo M200 involucra el uso de manera repetida de este
comando. También es utilizada como respuesta a una interrupción SYS_Wake.
•
void Reset(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando); esta
funcionalidad permite resetear el modulo M200 en casi cualquier momento. Involucra
procesos de cambio de modos del radio modem.
•
void RecibirSMS(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando, short
*Subcomando); función que permite recibir un SMS que ha llegado al M200,
incluyendo procesos de envío y verificación de Acknwoledge. También permite
analizar el texto que proviene del mensaje de texto para realizar distintas acciones
como cambio de variables, iniciar otra función, etc.
•
void EnviarSMS(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando, short
*Subcomando); función que permite enviar un SMS con cualquier texto. Las
estructuras deben ser modificadas para cambiar los tamaños y opciones de los distintos
mensajes.
•
void HitServer(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando, short
*Subcomando); esta función permite realizar una llamada de datos y realizar una
62
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
conexión o hit a un servidor, adicionalmente permite adquirir la respuesta que este
servidor le regresa. Debe ser optimizada para adquirir respuestas de gran tamaño de
bytes.
•
void EnviarEmail(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando, short
*Subcomando); esta función permite enviar un e-mail a una persona con cuenta de email utilizando la aplicación SMTP (actualmente en el servidor de la Empresa). Para
modificar el texto y los parámetros es necesario modificar algunas estructuras de datos.
•
void AdquirirGPS(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando, short
*Subcomando); función sencilla para adquirir los datos de posición global, involucra
una llamada de datos a un servidor específico de GPS. Esta función es muy básica ya
que sólo permite adquirir un punto por sesión y no de manera continua.
6.5. DESCRIPCIÓN DEL PROGRAMA PRINCIPAL DE LA PLATAFORMA.
En esta parte se pretende explicar el programa principal que maneja la plataforma el
cual permite desarrollar las distintas aplicaciones. Este programa se divide en básicamente 2
subprogramas: la Interrupción y el Main.
•
El programa en la Interrupción
Es un programa que maneja los tiempos y la forma en cómo se archivan los caracteres y
bloques de caracteres que llegan en el pin Rx del microcontrolador. En pocas palabras, se
encarga de mover los bytes que van llegando a un espacio de memoria asignado a través de un
apuntador. Asimismo, en esta interrupción se pre-decodifica los datos con la finalidad de
liberar tiempo de procesamiento al programa principal o Main y activa la variable o bandera
que le indica al programa que hay datos para ser analizados.
•
El programa en el Main
Este programa contiene lo elementos fundamentales que enlazan las distintas rutinas,
acciones, interrupciones y microprogramas de manera sencilla y ordenada. Abarca la
declaración de estructuras, variables y constantes, la declaración de todas las funciones
incluidas, la configuración de todos los periféricos a utilizar durante la aplicación hasta el
63
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
controlador principal o esqueleto de la aplicación, la inicialización del programa y el
subprograma que controla y maneja la aplicación.
El programa que controla la aplicación funciona de la siguiente manera:
-
Si existe data para ser analizada, se analiza y se archiva el mensaje en su respectiva
estructura datos; para ello utiliza una función llamada u8 Analizar_Data_M200(u8
*Flag, u8 *Channel, u8 *Comando, short *Subcomando, u8 *Arreglo).
-
Si existe una data válida, se procede a ejecutar la instrucción de la función que
actualmente se realiza, tomando en cuenta la instrucción que debe realizar y los
subcomandos que han llegado o deben salir. Todo ello lo realiza la función void
Funciones_M200(u8 *funcion, u8 *instruccion, u8 *Canal, u8 *Comando, short
*Subcomando).
-
Si existe data por enviar, se analiza si hay que codificarla primero para posteriormente
enviarla por el pin Tx en forma de bloques. Para codificar la data se utiliza la función
void Codif_Data_M200(u8 Canal, u8 Comando, short Subcomando, u8 *Arreglo
Memoria, u8 *ArregloSale); mientras que para enviar el mensaje, se utiliza una
función predefinida por el compilador.
6.6. DIAGRAMAS DE FLUJO DEL PROGRAMA PRINCIPAL DE LA PLATAFORMA.
A continuación se muestran los diagramas de flujos del esquema principal y de las
funciones más importantes que aparecen en ellos (color Azul claro). Es importante destacar
que existen muchas más funciones en color azul oscuro que pueden ser vistas en los apéndices
ya que son rutinas más complejas y largas.
64
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
•
Diagrama del Main
Inicio
Declaración de Variables
Configuracín de Periféricos
Inicialización de Variables
Codificar Data
Si
no
Hay Data
para Analizar?
Hay Data
para Procesar?
Si
Codificar
la Data?
no
Si
Analizar Data
Si
Hay Data
para Enviar?
no
Ejecutar Funcion
Enviar Mensaje
Figura 6.5. Diagrama de Flujo Simplificado del programa en el Main
-
Configuración de Periféricos
Inicio
Configuración
Reset and Clock Control Unit
Configuración
Real Time Clock
Configuración
Timer
Configuración
UART`s
Configuración
General Purpose I/O Pins
Configuración
External Interrupts
Configuración
Enhaced Interrupt Controller
Fin
Figura 6.6. Diagrama de Flujo del Segmento Configuración
65
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
-
Analizar Data
No hay Data
Data
Switch
Tipo de Msg
Inicio
Data M200
Procesar Data = True
Fin
Data + SYS_Wake
SYS_Wake
SYS_Wake Flag = True
Msg Dañado
Figura 6.7. Diagrama de Flujo del Segmento Analizar Data
-
Ejecutar Función
Inicio
Switch
Función
Respuesta SYS_Wake
Ext. State Status
Fin
Reset
Reset()
Recibir SMS
RecibirSMS()
Enviar SMS
EnviarSMS()
Adquirir data GPS
AdquirirGPS()
Enviar Email
Email()
Hit Server
HitServer()
Figura 6.8. Diagrama de Flujo del Segmento Ejecutar Función
-
Codificar Data
Inicio
Switch
Tipo Msg
Codificar
Comandos y Subcomandos
Data Canal 1
Codificar
Comandos Sockets
Data Canal 3
Figura 6.9. Diagrama de Flujo del Segmento Codificar Data
66
Fin
CAPÍTULO 6. PLATAFORMA DE DESARROLLO Y PRUEBAS
•
Diagrama de la Interrupción
Inicio
Si
Timeout True
Buffer con Data
Si
Hay mas
Datos?
Almacenar 1 dato
no
Si
no
Almacenar 8 datos
Buffer Rx
Medio lleno?
Restaurar contador Timeout
no
Timeout True
Buffer Rx vacío
Si
Decodificar
no
Si
Buffer Ram
lleno?
no
Fin
Figura 6.10. Diagrama de Flujo del Programa en la Interrupción del UART
-
Decodificar
Inicio
apuntador lectura
menor ( < )
apuntador escritura
no
Restaurar apuntadores
Escritura y Lectura
yes
Decoding()
Figura 6.11. Diagrama de Flujo del Segmento Decodificar
67
Fin
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
El capítulo presente describe todas las características del prototipo desarrollado durante
el proyecto de pasantía; este prototipo abarca dos segmentos fundamentales que son el
terminal desde el punto de vista de Hardware y la aplicación para las máquinas expendedoras
que se encuentra incluida dentro del mismo.
7.1. TERMINAL MÓVIL INTELIGENTE DE DINAMA
El Terminal Móvil Inteligente (TMI) es un equipo basado en la tecnología de
comunicaciones inalámbricas CDMA que permite implementar servicios de voz y de datos
sobre una plataforma tecnológica con la finalidad de crear nuevas soluciones y oportunidades
de negocios en distintas áreas de las telecomunicaciones.
En la siguiente figura se puede observar el ambiente y los elementos con los que
interactúa el Terminal Móvil inteligente para su correcta operación.
Figura 7.1. Modo de operación del Terminal Móvil inteligente
68
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Como se pudo apreciar en la figura anterior; el Terminal Móvil Inteligente es un
dispositivo electrónico que está conectado a 4 elementos fundamentales como lo son:
1, Uno o varios dispositivos a controlar que denominamos como equipos remotos.
2, Un conjunto de Satélites de posicionamiento Global.
3, Una red de comunicaciones telefónicas; en este caso CDMA. Implícitamente
está conectado a los teléfonos celulares y a “Internet” gracias a las operadoras.
4, Equipos como computadoras o servidores que se encuentran del otro lado de la
Red. En esta categoría también se encuentran otros teléfonos móviles.
Principalmente, el TMI permite crear el enlace entre estos elementos con la finalidad de
crear aplicaciones y ofrecer distintos servicios a los usuarios.
Desde el punto de vista del funcionamiento, se pueden observar de manera implícita 2
sentidos de comunicación como los son el sentido TMI -> Servidor y el sentido Servidor ->
TMI, que se resumen en acciones distintas. El funcionamiento básico o más común es el de
extraer datos de los equipos remotos o satélites para ser enviados a Servidores que computen y
analicen la data y puedan generar una respuesta; sin embargo, en el otro sentido, se puede
obligar al TMI a ejecutar una acción luego de haber recibido una orden; en este caso la
transferencia de datos es en el sentido contrario, incluso podría venir de un terminal móvil
celular que interactúa con algún servidor dentro de la red.
7.1.2. ELEMENTOS QUE LO CONFORMAN
Y DIAGRAMA DE BLOQUES
Anteriormente se mostró el ambiente donde se desenvuelve el equipo; ahora se
especifica las unidades de las que está compuesto el TMI y cómo es que él mismo puede tener
conexión a tantos elementos de manera simultánea.
69
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Figura 7.2. Elementos del Terminal Móvil inteligente
La figura anterior ilustra de manera general los componentes que debe contener TMI
en su versión final; a continuación se describen cada uno de ellos de manera breve:
•
El Radio Modem o módulo M200 que se encarga de realizar el enlace con la red de la
operadora (esta a su vez está conectada a la Internet)
•
El Hardware que está dividido en un Microcontrolador o cerebro que controla las
funciones de todos los periféricos incluyendo al mismo modem de radio frecuencia, la
memoria, encargada de almacenar datos e incluso el programa de la aplicación a
ejecutar y los circuitos que permiten la conexión física de los demás componentes
electrónicos.
•
El propio Hardware presenta entradas que son básicamente por donde ingresan datos
analógicos y seriales para ser procesados; y salidas que funcionan con el propósito de
controlar otros dispositivos. Asimismo se encuentran los puertos que no son más que
interfaces eléctricas para comunicación entre el terminal TMI y otros dispositivos que
poseen un mayor nivel de inteligencia y donde es necesario implementar un protocolo
de comunicación.
•
El Software básicamente abarca las herramientas para manejar el módulo RF y la
aplicación que ejecuta actualmente el TMI; es importante destacar que en el futuro se
70
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
espera que exista un sistema operativo que pueda optimizar las tareas e incluso que
permita la actualización de software de manera remota.
•
El Firmware OTA (en desarrollo) que como dijimos anteriormente permitirá la
actualización de las aplicaciones y datos de manera remota; de acuerdo a los servicios
y requerimientos que se necesiten en el momento.
7.1.3. ESPECIFICACIONES
Luego de conocer los elementos fundamentes que conforman al TMI, se consideran a
continuación las características que actualmente presenta el Terminal Móvil Inteligente:
Características Básicas:
•
Tecnología CDMA2000 1X (153.6 Kbps Max.)
•
A-GPS integrado
•
Puerto serial RS232
•
Puerto Serial Opto acoplado (Máquinas expendedoras protocolo MDB)
•
Conector para Alimentación, (Requiere de 4,2V y 1,3 Amp min. en la entrada)
•
Entradas y salidas digitales y analógicas (Salidas a Actuadores)
•
Microprocesador integrado
•
Memoria EEPROM integrada.
•
Protocolos de Internet: TCP/IP, PPP
•
Firmware actualizable (en desarrollo).
•
Arquitectura Cliente Servidor.
Especificaciones más importantes de sus componentes:
a) Radio Módem Kyocera M200:
-
Tecnología CDMA2000 1X.
-
Sistema de Posicionamiento Global integrado (A-GPS)
-
2 puertos de comunicación Serial. UART1 (comandos AT y datos), UART2
(comandos KMIP).
-
Configuración Remota Over The Air (No disponible en Venezuela).
71
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
b) Hardware:
-
Microcontrolador: STR711FR2T6 de STMicroelectronics.
-
Procesador: Arquitectura ARM7TDMI 16/32bit RISC
-
Memoria Programable Flash o Eeprom programable de 256 KB
-
Memora Ram de 64 KB; expandidle con memorias SD.
-
Entradas: 4 digitales TTL y 2 Analógicas.
-
Salidas: 4 Digitales.
-
Puertos: 2 puertos RS-232 (DB9 + Opto acoplado) + 1 USB.
c) Software:
-
Firmware actualizable (En desarrollo).
-
Configuración de parámetros de acuerdo a la Aplicación.
-
Capacidad para realizar Spoofing (Técnica para optimizar el funcionamiento en
comunicaciones de datos)
7.1.4. APLICACIONES DEL TERMINAL MÓVIL INTELIGENTE
Cómo se ha nombrado en numerosas ocasiones, existen numerosas aplicaciones a las
que puede ser destinado el producto; en esta ocasión se nombran cada una de ellas:
•
Llamadas de voz y datos (Fax, Internet, SMS).
•
Puntos de venta y cajeros automáticos.
•
Telemetría y control de equipos remotos (medición y supervisión.
•
Localización de vehículos por Sistemas de posicionamiento Global.
•
Monitoreo y rastreo activo o en tiempo real.
•
Telemedicina.
•
Máquinas Expendedoras.
•
Otras aplicaciones M2M (dependen de la creatividad e ideas de los distintos clientes)
A continuación se muestran dos figuras acerca de los mercados en donde puede ser
introducido el TMI y sus proyecciones para el año 2010; dejando en claro que existen
infinidades de clientes y aplicaciones para este proyecto.
72
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Figura 7.3. Aplicaciones o Servicios Asociados al módulo M200. Fuente Kyocera Wireless.
Figura 7.4. Proyección de Mercado M2M en el 2010. Fuentes ABI Research, Frost & Sullivan, Kyocera
73
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
7.1.5. ARQUITECTURA DEL TERMINAL MÓVIL INTELIGENTE
La arquitectura está basada en un ambiente Cliente-Servidor. Este modelo, es una
forma de dividir y especializar programas y equipos de cómputo a fin de que la tarea que
cada uno de ellos realizada
se
efectúe
con
la
mayor
eficiencia,
y
permita
simplificarlas.
En la funcionalidad de un programa distribuido se pueden distinguir 3 capas o niveles:
Manejador de Base de Datos (Nivel de almacenamiento),
Procesador de aplicaciones o reglas del negocio (Nivel lógico).
Interfaz del usuario (Nivel de presentación).
Las ventajas de este modelo son básicamente las siguientes:
-
El servidor no necesita tanta potencia de procesamiento, parte del proceso se reparte
con los clientes.
-
Se reduce el tráfico de red considerablemente. Idealmente, el cliente se conecta al
servidor cuando es estrictamente necesario, obtiene los datos que necesita y cierra la
conexión dejando la red libre para otra conexión.
7.2. APLICACIÓN PARA MÁQUINA EXPENDEDORA DE CAFÉ
Como primer proyecto que servirá de avanzada, el desarrollo del Terminal Móvil
Inteligente brindará el medio de comunicación inalámbrico eficiente y la capacidad de
procesamiento adicional a una red de máquinas expendedoras de café, con el principal
objetivo de despachar un café de manera local luego de que el usuario haya enviado un SMS
para su compra. También con el propósito de realizar actividades de telemetría sobre la
máquina expendedora.
Esta aplicación presenta una ventaja y es que es factible de desarrollar e implementar;
no obstante
el modelo de negocios tiene que ser rentable para tres entidades distintas (El
integrador o proveedor del servicio TMI, los operadores de la red de comunicaciones y los
74
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
dueños de las Máquinas Expendedoras) sin perjudicar al cliente o usuario final de manera
sustancial.
7.2.1. ELEMENTOS Y REQUERIMIENTOS
Para ahondar más en el tema de la aplicación comercial, se empezará por identificar los
elementos que funcionan dentro de ella y que son indispensables para su implementación,
estos componentes son: el Terminal Móvil Inteligente, una máquina expendedora y una
aplicación en el lado del servidor para añadir capacidad de procesamiento al servicio.
Estos elementos ya han sido descritos con anterioridad (a excepción de la aplicación en
el servidor de la cual se hablará mas adelante) aunque es importante destacar que como
requerimiento principal la máquina expendedora debe soportar el protocolo MDB; y mejor
aun, mientras mas avanzado sea el programa instalado en la máquina expendedora, mayores
funciones se podrán realizar con el Terminal; incrementando de esta manera el valor agregado
del servicio.
7.2.3. PROTOTIPO EN TÉRMINOS DE HARDWARE
Siguiendo el cronograma de actividades y habiendo tomado en cuenta los tiempos de
ejecución de cada actividad así como el alcance del proyecto, se tomó la decisión de
desarrollar un prototipo sencillo y funcional para realizar las primeras pruebas concretas de la
plataforma y de la primera aplicación comercial.
El diseño del prototipo básicamente se basó en las ya utilizadas y probadas tarjetas de
desarrollo. El prototipo consta de tres tarjetas interconectadas entre sí mediante una serie de
cables para lograr la conexión física entre ellos, estos elementos son: la tarjeta de pruebas de
MDK, la tarjeta de evaluación de Olimex y una tarjeta que funciona como interfaz eléctrica
entre la tarjeta Olimex y la Máquina Expendedora. Al optar realizar el primer prototipo de esta
manera, existen elementos que no se necesitan y algunos que son redundantes como por
ejemplo las interfaces seriales RS-232 las cuales no son necesarias para la comunicación entre
75
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
el módulo M200 y el Microcontrolador (ya que se podrían comunicar con niveles lógicos
CMOS-TTL); pero sí son necesarias para conectar el ordenador con las mismas.
7.2.3.1. DIAGRAMA DE BLOQUES DEL HARDWARE.
Anteriormente, se han mostrado los elementos que debe poseer el Terminal Móvil
Inteligente; no obstante, el prototipo no presenta todos estos elementos e incluso presenta
componentes como manejadores o drivers (MAX232), pines, componentes de alimentación y
otros que son redundantes o no se necesitan. Igualmente, en el prototipo faltan algunos
componentes como lo son los relays u otros actuadotes.
A continuación se muestra el diagrama de bloques con los elementos que actualmente
se encuentran dentro del prototipo. Los recuadros color crema, representan las tarjetas de
circuitos que contiene el prototipo, los bloques de color azul representan los dispositivos más
importantes de la tarjeta y por último los rectángulos de color azul claro representan los demás
módulos o periféricos del prototipo. Para mayor detalle, los esquemáticos de estas tres tarjetas
pueden observarse con en el Apéndice C.
Figura 7.5. Diagrama de Bloques de la Estructura Interna del TMI.
76
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
7.2.3.2. PROTOTIPO REAL DEL TMI
Esta sección presenta las fotografías del prototipo de Terminal Móvil Inteligente.
Figura 7.6. Fotos Externa del TMI.
Figura 7.7. Fotos Internas del TMI.
7.2.3. PROCESO DE COMPRA A TRAVÉS DEL TMI
Básicamente, el proceso de compra es iniciado por parte del usuario enviando un SMS
con un código a un teléfono específico con motivo de pedir o iniciar el servicio de compra;
pero existen varias opciones de allí en adelante dependiendo de la tecnología desarrollada,
escogida o disponible.
Para desarrollar el modelo o proceso de compra correcto, se partió de las ideas y
experiencias que poseían los ejecutivos de la empresa así como del análisis de un servicio
77
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
implementado en Suiza, el cual fue desarrollado por la compañía SICAP y utiliza tecnología
USSD para realizarlo; pero en realidad lo importante es el modelo de compra y los elementos
o pasos involucrados en él y no la tecnología empleada.
A continuación se nombran los pasos del servicio implementado por SICAP:
1. Usuario pide el servicio llamando por USSD.
2. El servidor de pago móvil chequea el crédito del usuario
3. El servidor pide servicio a la máquina expendedora.
4. La máquina expendedora responde al servidor.
5. El servidor le responde al usuario acerca del estado del servicio.
6. El usuario selecciona el producto
7. La máquina expendedora notifica al servidor acerca de la acción
8. El servidor realiza la facturación.
Esta serie de pasos se pueden observar de manera más clara en la siguiente figura.
Figura 7.8. Pasos involucrados en modelo de SICAP. Fuente SICAP
Luego de analizar el modelo anterior, se logró adaptar el modelo a utilizar a dos
opciones diferentes de acuerdo a los requerimientos, opciones y limitaciones que se tienen en
el mercado actual que son cobro por MO y cobros por MT.
78
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
A continuación se darán a conocer los métodos y modalidades de los procesos de
compra diseñados incluidos en cada uno,
a) Método “Cobro por MO SMS”:
Consiste en realizar el cobro del producto en el momento en que el usuario envía un SMS.
En este tipo de cobro, se logró implementar varios modelos con opciones diferentes a modo
de ser comparados y ofrecer distintas soluciones al mismo problema.
-
Modelo 1: es el modelo más sencillo y consiste en cobrar al usuario al momento de
pedir el servicio. El problema es que el cobro se realiza de manera inmediata y el
usuario no presenta control sobre la compra y adquisición de su producto; por lo que
no se garantiza el despacho del producto.
Figura 7.9. Diagrama de Secuencia. Modelo 1 Cobro por MO SMS.
-
Modelo 2: este modelo es similar al anterior con la diferencia que el usuario presenta
un mayor control sobre su compra ya que este recibe un informe del producto
seleccionado y que debe ser aprobado antes del despacho; pero al igual que el modelo
anterior no existe garantía de que el producto sea despachado.
79
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Figura 7.10. Diagrama de Secuencia. Modelo 2 Cobro por MO SMS.
b) Método “Cobro por MT SMS”.
Consiste en realizar el cobro del producto en el momento en que el usuario recibe un SMS.
También en este tipo de cobro existen distintas modalidades como opciones y soluciones al
problema planteado. Las principales ventajas que posee este método con respecto al anterior es
que se pueden cobrar distintas tarifas y se tiene mayor control sobre el cobro del producto.
-
Modelo 1: resulta el modelo más sencillo en esta categoría; aquí el usuario asegura que
su producto sea despachado antes del cobro pero el integrador y la operadora corren el
riesgo que el producto no pueda ser cobrado si el usuario no posee saldo suficiente.
80
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Figura 7.11. Diagrama de Secuencia. Modelo 1 Cobro por MT SMS
-
Modelo 2: este modelo trata de solucionar el problema del cobro utilizando a la
operadora como intermediario, ésta debe enviar un acuse de recibo de sí se le descontó
el precio del producto al usuario. Nuevamente no se garantiza el despacho del producto
después del cobro.
Figura 7.12. Diagrama de Secuencia. Modelo 2 Cobro por MT SMS.
81
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
-
Modelo 3: es similar al modelo anterior con un mayor protagonismo y control por parte
del usuario; pero mantiene el problema de garantizar el despacho.
Figura 7.13. Diagrama de Secuencia. Modelo 3 Cobro por MT SMS
Al analizar los beneficios y defectos de cada modelo, se optó por optimizar uno de los
modelos para ofrecer el mejor servicio posible; este modelo fue nombrado como “Modelo
Ideal planteado por Dinama” y se describe a continuación.
Figura 7.14. Diagrama de Secuencia. Modelo Ideal de Dinama.
82
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Este modelo es muy parecido al “Modelo 1 de Cobro por MT”, pero incluye un
chequeo de saldo antes de proceder a preparar o despachar el producto; esta nueva opción
permite al usuario obtener su producto de manera garantizada antes de que le sea cobrado y
por el otro lado, el integrador posee la información del saldo del usuario antes de aprobar o no
la preparación del café. De esta manera, no hay ente en el proceso que salga perjudicado.
Las ventajas de este modelo son:
•
El usuario solo envía un SMS.
•
Si el usuario no posee dinero suficiente, No se procesa el pedido.
•
El teléfono del usuario nunca es revelado.
•
En caso de presentar fallas en la Máquina expendedora; no se cobra al usuario.
•
Se garantiza la entrega del producto antes de ser cobrado.
•
Es posible el cobro de distintas tarifas al realizarlo directamente sobre la cuenta del
usuario.
7.2.4. PROGRAMA EN EL SERVIDOR
El Programa en el servidor es una aplicación que actuará como intermediario entre los
usuarios y los programas clientes existentes dentro de los TMI. El propósito es añadir
capacidad de procesamiento y más funciones al servicio M2M; básicamente actúa como
administrador y enrutador de los SMS provenientes de los usuarios. De este modo, se asegura
que la máquina que despachará el café es la misma con la que el usuario va a interactuar.
Para el funcionamiento de esta aplicación se necesitan los siguientes elementos:
-
Plataforma de mensajería de texto SMS.
-
Programa de Análisis de MO SMS recibidos.
-
Programa de Enrutamiento “Usuario - Máquina Expendedora”.
-
Programa de Lista de Espera (tipo Buffer) para crear una lista ordenada entre los MO
SMS recibidos.
-
Programa de Generación de MT SMS con distintos mensajes.
-
Programa de chequeo de saldo del usuario.
83
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
De acuerdo con los elementos que incluye la aplicación y después de analizar y colocar los
requerimientos, los pasos que deben realizar son:
1. Recibir el MO SMS del cualquier usuario y con distintos códigos en el cuerpo del
mensaje de texto.
2. Revisar el estado de la línea o usuario, chequeando el saldo disponible con la finalidad
de seguir procesando el pedido o terminando la sesión.
3. Analizar o comparar el código entrante y asociarlo o enrutarlo a alguna Máquina
Expendedora (ID específico como el número celular asociado).
4. Por cada Máquina Expendedora, encolar hasta 9 SMS y añadirle un número del 1 al 9
correspondiente al Turno (Ej.: Buffer Circular). Esta cantidad de mensajes puede estar
sujeta a cambios.
5. Enviar un MT SMS de regreso al usuario, indicando que se ha procesado el pedido y
que su turno de espera es el Nº x.
6. Enviar a la Máquina expendedora (al celular asociado), un MT SMS con el código
secreto para el inicio de la sesión. Código propuesto: “Inicia x1 x2”; donde:
x1: es el dinero a cargar dividido por 10 y en formato decimal
x2: es el turno correspondiente al usuario en formato ASCII.
7. Recibir de parte del Terminal Móvil Inteligente (Vending Machine) los mensajes:
“Café Listo”: significa Café despachado correctamente.
“Error café”: significa Café no despachado por algún error de la máquina
expendedora.
8. Enviar un MT SMS de regreso al usuario, confirmando el despacho o no del producto
por parte de la máquina expendedora.
Es importante destacar que la aplicación anterior corresponde al modelo Ideal planteado
por Dinama; aunque es factible modificar partes de acuerdo con el modelo adoptado.
84
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
7.2.5. PROGRAMA DENTRO DEL TERMINAL
Lo primero que hay que mencionar es que el TMI contiene un programa tipo esclavo
que está regido por una máquina de estado (Estándar MDB/ICP), mientras la máquina
expendedora posee el programa maestro que se encarga de comunicarse con todos los
periféricos. El programa contiene todas las funciones del Nivel 1 del estándar MDB/ICP así
como la estructura para desarrollar otras funciones de nivel superior.
El programa se optimizó para que funcionara como una interrupción a la continua
encuesta de la máquina expendedora con el fin de liberar tiempo de procesamiento al
microcontrolador. Lo más importante con respecto a esta interrupción es que ya que el
protocolo MDB utiliza la modalidad de bit de modo (explicado con anterioridad en el capítulo
4), el microcontrolador sólo atiende a los comandos de contienen el byte de wake up o byte de
direccionamiento correspondiente al dispositivo “cashless” (TMI); de otra manera se hace
caso omiso a la información que sigue en el bloque, permitiendo al microcontrolador ocuparse
de otras actividades. Es importante destacar, que el programa se basa en la máquina de estados
del estándar MDB/ICP pero posee otras actividades que optimizan su funcionamiento y
amplían sus capacidades.
A continuación se nombra de manera más precisa el algoritmo que realiza la
interrupción:
1. El programa al recibir cualquier byte con el bit de modo en alto en el puerto
serial, se salta a la interrupción; de otro modo hace caso omiso a los caracteres
que lleguen.
2. En la interrupción se analiza el primer byte de direccionamiento. Si
corresponde al TMI, se procede a cambiar el modo en que se activa la
interrupción para que los siguientes bytes de datos sean tomados en cuenta y
para que ocurra la interrupción luego de haber recibido el bloque proveniente
del VMC; de otra manera se termina la interrupción y se continúa con el
programa general.
85
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
3. Al poseer la data en el buffer lo primero que se realiza es ver el estado actual de
la máquina expendedora (una variable). De acuerdo con el estado de la
máquina, se pueden tomar distintas acciones.
4. Se observa y analiza el comando de entrada y se procede a asociarlo a la acción
correspondiente que podría ser: Responder con un Ackwnoledge, responder con
información de display, responder con acciones y comandos específicos, o
simplemente no hacer nada (Equivalente a un NAK o Negative ackwnoledge)
para que la VMC retransmita el mensaje.
5. El programa se dirige a la actividad o función a realizar y la ejecuta.
6. Posteriormente se envía el mensaje de regreso a la máquina expendedora con la
información requerida o la respuesta.
7. El programa termina la interrupción y regresa al programa general.
Adicionalmente, el programa consta de ciertas funciones que interactúan con el módulo
M200. Estas funciones son básicamente dos: Recibir un SMS y Enviar un SMS y las mismas
completan la aplicación.
La función Recibir SMS fue adaptada para analizar sólo los mensajes de texto
provenientes de un número telefónico corto o “Shortcode” (Aplicación en el servidor) y en
caso de ser correcto, modifica dos variables que producirán respuestas distintas en la
interrupción ya mencionada; estas dos variables corresponden al display y al saldo disponible;
todo esto con el fin de activar la sesión en la máquina expendedora para que el cliente pueda
seleccionar su producto y continúe el proceso de compra.
La función Enviar SMS, fue modificada básicamente para enviar una confirmación a la
aplicación en el servidor indicando si se logró despachar el producto o no.
Estas dos funciones pueden ser modificadas para aceptar distintos parámetros de
configuración y producir distintas respuestas ante distintos comandos.
86
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
7.2.5.1. DIAGRAMA DE FLUJO DE LA APLICACIÓN
Para reforzar el algoritmo anterior y el funcionamiento general del prototipo TMI, se
presentarán una serie de diagramas que permitirá observar de manera visual el funcionamiento
del equipo. Primero se plasmará en un diagrama de flujo, el programa o algoritmo con la
mayor cantidad de detalles posibles para un mejor entendimiento del mismo. Posteriormente,
se coloca el proceso de interrupción que es el disparador del proceso para iniciar la sesión en
la máquina expendedora, es importante destacar que este último presenta ciertas partes
simplificadas.
Inicio Operadora
Inicio Módulo M200
Inicio µC
Operadora Envía SMS
Módulo envía Interrupción SYS_Wake
Microcontrolador pide el Estado del Teléfono
Módulo Indica existencia de Nuevo SMS
Microcontrolador poide SMS al Módulo
Módulo Envía el Mensaje
Microcontrolador Envía Acuse de Recibo
Modulo envía Acuse de Recibo
Analizar SMS
Fin operadora
Fin Módulo
Variable Iniciar Sesión Máq. Exp. = True
Variable Dinero = XX Bs.
Si
SMS
Correcto?
no
Fin µC
Figura 7.15. Diagrama de Flujo del programa de la aplicación de Máquina expendedora dentro del TMI
87
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
Modo 8 bit Data + Wake Up Bit
Nueva
Data?
Inicio
Si
no
no
no
Modo Oper.
Activo?
Si
no
Si
Almacenar en Buffer
Ocurrió
Timeout?
Byte Address
Correcto?
Modo 9 bit Data
Vaciar Mem. Buffer
Si
Buffer Mem.
Tiene Data?
Si
no
Si
Esperando
Ack.?
Analizar Comando
Switch
Comando
no
Analizar Comando
Estado = No esperar Ack
Acknowledge
Modo Operación = Standby
Neg. Acknowledge
Funciones MDB
Retranamitir
Fin
Respuesta
Encuesta
Figura 7.16. Diagrama de Flujo de la Interrupción de Encuesta de la Máquina Expendedora.
7.2.6. LIMITACIONES
Las limitaciones que actualmente se encuentran en la aplicación, se corresponden con
la función principal para realizar Telemetría. Al momento de instalar el protocolo MDB, se
observó que existían diferentes niveles de complejidad y de funciones (tres niveles); la
mayoría de las funciones del nivel 2 y 3 no eran necesarias para el propósito actual del
proyecto a excepción de una función llamada File Transport Layer, que se encarga de
transportar información entre los distintos periféricos conectados a la máquina expendedora
(incluyendo a la máquina expendedora). Según el estándar MDB/ICP, esta función permite
conocer el estado actual de cada periférico y del VMC por lo que sería muy útil esta
información para ser enviada a un centro de control para su posterior análisis y toma de
decisiones.
El problema o la limitación que se presentó fue que la Máquina expendedora Colibrí
que fue la máquina con la que se trabajó durante todo el proyecto, no soportaba una serie de
funciones entre las cuales se encontraba esta última de telemetría; por lo que no se pudo
88
CAPÍTULO 7. PROTOTIPO “TERMINAL MÓVIL INTELIGENTE” DE DINAMA
desarrollar la función dentro de la aplicación del TMI, ya que era de carácter obligatorio
poseer la estructura de los archivos que se transportarían por FTL la cual no existía.
Existen otras limitaciones y corresponden con el proceso de compra a adoptar.
Actualmente, las operadoras móviles en Venezuela sólo pueden ofrecer el “Cobro por MO
SMS” lo cual limita el proceso de compra a dos modelos distintos y donde la entidad que
pudiera salir perjudicada sería el usuario o el cliente que desea comprar el producto. En cuanto
el “Modelo Ideal de Dinama”, además que es necesario que las operadoras logren implementar
el “Cobro en Destino” por medio de mensajes MO, también es necesario implementar ciertos
elementos que actualmente no se disponen. Es por ello que el proceso de compra es una
limitante para el proyecto desde el punto de vista de negocios
89
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
De acuerdo a la metodología escogida, los resultados que se presentan a continuación
son de carácter Cualitativo. Con esto se quiere decir que se mostrarán resultados concretos,
más no datos numéricos salvo en segmentos donde sea estrictamente necesario indicarlos.
8.1. RESULTADOS
A continuación se muestran de manera progresiva los resultados más importantes
durante el desarrollo del proyecto.
La configuración del reloj principal del microcontrolador y de los relojes para los
periféricos fue la siguiente: MainClk = 32 MHz, APB1Clk = 16 MHz y APB2Clk = 8MHz
utilizando un oscilador externo de 4MHz (Original de la tarjeta Olimex)
Se logró la comunicación de manera eficiente entre el microcontrolador
STR711FR2T6 y el módulo Kyocera M200 a una velocidad de 38,4 Kbps. El
microcontrolador utilizaba una velocidad de procesamiento o reloj principal de 32 MHz, el
cual es dividido para manejar los periféricos. La arquitectura del microcontrolador posee dos
buses el APB1 y el APB2 (Advanced Peripheral Bus); que derivan del principal un reloj con la
finalidad de manejar o controlar otros periféricos. La frecuencia de estos Buses era de ¡6MHZ
y 8 MHz respectivamente, siendo el APB1 El que controla los UARTs. En la mayoría de las
veces, la comunicación no generaba ninguna clase de problemas pero para transmisiones de
mensajes muy grandes, de vez en cuando aparecía un error de framming, que significa que el
tiempo entre bits estaba corrido y generaba una serie de caracteres erróneos. De acuerdo con la
guía de referencia del microcontrolador (Manual de Referencia STR71x) para esta
configuración y para la velocidad de transmisión de 38,4 Kbauds esta frecuencia genera un
ligero error de desviación de 0.16 %.
A pesar de presentar ese problema, las rutinas resultaron bien diseñadas para evitar o
prever estos errores. Debido a las constantes pruebas, correcciones y optimizaciones, las
funciones finales quedaron funcionando de la siguiente manera:
90
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
La función Enviar SMS, funcionó de manera correcta el 99% de las veces.
La función Recibir SMS, funciona de manera correcta el 90% de las veces. El otro
10% corresponde a que la función no logró obtener el SMS correctamente la primera vez que
fue enviado desde la operadora; pero sí en la ocasión que el SMS fue retransmitido. Los
resultados dicen que se logró recibir el SMS todas las veces pero en algunas ocasiones se
recibía con un retraso notable (debido al tiempo de retransmisión de SMS de las operadoras)
alrededor de los 5 minutos.
La función Enviar Email, funcionó correctamente todas las veces que se pudo lograr la
conexión a datos con el servidor SMTP. Para esta función, se debe poseer la dirección IP
correcta del servidor; así como los parámetros bien configurados.
La función Adquirir GPS, funcionó correctamente las veces que el módulo pudo
conectarse con el servidor PDE (Position Determination Entity). La mayoría de las veces, la
función no podía lograr la conexión.
La función Hitserver, funcionó de manera correcta enviando información en la
dirección URL y recibiendo datos de tamaño pequeño cada vez que se lograba hacer la
conexión a datos. Las pruebas realizadas, involucran un programa PHP (PHP Text Procesor)
del lado del servidor para verificar que la función operaba; de igual manera para constatar que
la información enviada desde el programa PHP al servidor, se utilizó la aplicación de
depuración de la herramienta EWARM ya que nos permitió ver los espacios de memoria del
microcontrolador después de realizar la prueba.
91
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
Desde el punto de vista del programa que realizaba la comunicación con la máquina
expendedora, el mismo no presenta problemas de comunicación con el protocolo MDB ya que
fue sometido a funcionar bajo una velocidad de encuesta de 50 ms de parte del Emulador
VMC; sin embargo, existen otro tipo de problemas que a continuación se nombran:
-
Los mensajes destinados a aparecer en el display de la máquina aparecían en el
emulador VMC más no en la máquina real “Colibrí”.
-
No se pudo realizar el proceso de telemetría adecuado utilizando los comandos FTL ya
que no eran soportados por la Máquina Expendedora.
-
La telemetría opcional que se implementó, funcionó con el emulador VMC más no con
la máquina real “Colibrí”. En esta prueba, el usuario realizaba varias compras y
posteriormente, se le realizaba un push SMS al TMI para que enviara el registro de los
productos que vendió.
Desde el punto de vista de servicio M2M, se logró despachar de manera local el
producto solicitado habiendo enviado de manera previa un SMS con un código específico. La
aplicación del prototipo funcionó de manera correcta el 100% de las veces a las que fue
sometido.
Uno de los resultados más importantes es con respecto al tiempo que se demora la
aplicación en recibir la orden de iniciar la sesión en la máquina expendedora luego de que el
usuario haya realizado la petición del producto por SMS. Este tiempo de inicio de sesión varió
con respecto a las operadoras:
-
Módulo M200 con línea Movilnet presentó un tiempo de 4 a 6 segundos
aproximadamente.
-
Módulo M200 con línea Movistar presentó un tiempo de 25 a 30 segundos
aproximadamente.
92
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
8.1.1. DEMOSTRACIÓN DEL SERVICIO.
A continuación se describe el resultado más importante de todo el proyecto y que
corresponde a la demostración que se realizó con el prototipo y una máquina expendedora de
café modelo “Colibrí”.
Se realizó una demostración a dos empresas interesadas en el concepto del producto; la
demostración utiliza un proceso de compra sencillo sin verificación de despacho
correspondiente al Modelo 1 Cobro por MO ver figura 7.9. En este proceso, el usuario
básicamente debía seguir las siguientes instrucciones para lograr adquirir el café::
•
Envíe un Mensaje de Texto al número 123 con la palabra “Café”.
•
Usted debe recibir un Mensaje de Texto indicándole el Inicio de Sesión de la máquina
expendedora.
•
Espere a que la máquina expendedora indique que posee crédito para realizar su
compra.
•
Gradúe el nivel de azúcar y escoja el producto que desea presionando los botones de la
máquina de expendedora de café “Catuai”.
•
Espere mientras se elabora su bebida.
•
Retire el vaso y disfrute.
•
Luego recibirá la confirmación de que su café fue despachado vía SMS.
Los resultados fueron satisfactorios pues se logró despachar el producto en numerosas
ocasiones sin presentar fallas en ningún momento de la presentación.
8.2. ANÁLISIS DE LOS RESULTADOS OBTENIDOS
En principio, el error de desviación es el principal causante de que un comando no sea
recibido de manera correcta y ocurran retrasos en los procesos. Sin embargo, el error es tan
pequeño que la mayoría de las funciones no se ven afectadas.
93
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
El generador de baudios genera un reloj igual al número de baudios deseado
multiplicado por 16, que es utilizado para realizar el muestreo. La formula que posee es:
UART _ BaudRate =
PCLK1
16 * Baudrate
Donde <UART_BaudRate> es un campo de un registro del UART que actúa como
valor de recarga del contador y PCLK1 representa el reloj del bus de periféricos (ABP1). De
acuerdo a la fórmula, el error que se presenta con el UART es el siguiente: Los registros solo
pueden contener valores enteros; por lo que si el valor exacto del registro posee decimales, la
velocidad de transmisión no será exacta ya que este valor es truncado al entero más cercano y
se genera un corrimiento de tiempo entre bits. El valor del registro que se tiene en la
configuración del microcontrolador era el siguiente:
UART _ BaudRate =
16Mhz
= 26,042
16 * 38.4 Kbaud
por lo que el valor del error de desviación resulta:
(26,042 − 26)*100 = 0,161% .
26
A pesar de ser un error relativamente pequeño, éste afecta a la comunicación en gran
manera pues si se pierde un bit o lo que es peor, un byte de bloque de caracteres (mensaje), se
pierde todo el mensaje ya que no existe forma de conocer donde ocurrió el desfase y corregirlo
a nivel de la capa física.
Para evitar este error de desviación o desfasaje, es necesario obtener valores enteros en
el campo <UART_Baudrate> del registro; que es igual al valor de recarga del contador. Para
encontrar la frecuencia ideal, se realizó el cálculo de la frecuencia PCLK1 utilizando el valor
entero más pequeño y se obtuvo lo siguiente:
PCLK1 =
16 * 38,4 Kbauds
= 614,4 KHz
1
94
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
Este resultado nos proporciona la frecuencia mínima que debe poseer el PCLK1 para
no tener error de desviación. Puesto que el valor es muy pequeño, el verdadero valor del reloj
debe ser un múltiplo de este resultado pero en el orden de los MHz.
Analizando los valores y la disponibilidad de cristales, se observo que casualmente
existe un cristal de un valor de 6,144 MHz que sería el ideal para ser utilizado. Este permite
configurar el microcontrolador de la siguiente manera: MainClck = 36,864 MHz, APB1Clk =
18,432 MHz y APB2Clk = 9,216MHz con un oscilador externo de 6,144MHz y de esta
manera eliminar el error en la comunicación serial.
Si volvemos a calcular el error de desviación de la transmisión ahora con la siguiente
fórmula:
UART _ BaudRate =
18,432 MHz
16 * BaudRate
Obtenemos lo siguiente:
Baud Rate
Reload Value
Error
9600 bauds
10
0%
38,4 Kbauds
30
0%
115,200 Kbauds
120
0%
Tabla 8.1. Cálculo del error de Desviación en la Comunicación Serial del Microcontrolador STR711 utilizando
un frecuenta de PCLK1=18,432 Mhz
Pasando al tema de las funciones, las que necesitan conectarse a datos están
condicionadas a que la red esté libre y que la misma permita la conexión de manera eficiente;
ya que si no es posible establecer la conexión por inconvenientes con la Red Celular, la
función genera una notificación y finaliza. Un problema similar ocurre con la adquisición de
los datos del GPS ya que para obtener el punto, la información debe ser enviada a un PDE
para que el mismo procese los datos y los retorne en el formato correcto. El detalle es que la
dirección IP del PDE corresponde a un servidor de pruebas de Qualcomm que es libre y el
cual se encuentra ocupado la mayoría del tiempo.
95
CAPÍTULO 8. RESULTADOS Y ANÁLISIS
En cuanto a los resultados obtenidos con respecto a la máquina expendedora, el
problema ocurre debido a que el programa dentro de la máquina Colibrí no sigue de manera
estricta el estándar MDB. Entre los problemas más comunes se encuentra que las estructuras
de datos existen y el VMC entiende los comandos; pero no devuelve información en los
comandos, sólo la estructura correcta con los comandos pero sin información. Esto no permite
al Terminal móvil inteligente controlar ciertas funciones de la máquina expendedora de café
ya que están prohibidas.
El proceso de compra por MO permite un despacho sencillo pero existe la posibilidad
de que el café no sea despachado y ya se haya hecho el cobro al usuario lo que representa un
problema. Además, los tiempos de espera para despachar un café podrían no ser los mejores
pero depende del estado de la red de las operadoras. La diferencia de tiempos entre Movistar y
Movilnet es debido a un requerimiento impuesto por Movistar para el envío de SMS desde la
plataforma de Dinama C.A. a cualquier teléfono celular con línea Movistar.
Existe una modalidad especial en el “Modelo Ideal de Dinama” y es que si la empresa
se asocia con un Banco y logra ofrecer servicios de cuentas prepago o de crédito, la misma
compañía podría desligarse de la operadora celular en cuanto al cobro del producto; lo que se
traduce en un rango mayor de ganancia al eliminar la plataforma de la operadora y
reemplazarla por una del mismo integrador pero que involucra al banco; de esta manera, el
cobro del producto se realizaría directamente al número de cuenta asociado usuario y sin tener
a la operadora como intermediario.
96
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
•
La metodología seleccionada, ayudó al pasante a ejecutar el proyecto de pasantía de
una forma ordenada, lo que garantizó el cumplimiento del objetivo final.
•
La plataforma desarrollada demostró estar diseñada acorde con los requerimientos
planteados en la definición del proyecto. La plataforma funcionó adecuadamente y
permitió realizar las pruebas necesarias y detectar limitaciones en algunas de las
funciones.
•
El prototipo desarrollado representa una solución ante el problema formulado de
incorporar el Terminal Móvil Inteligente a una red de máquinas expendedoras. A pesar
que su diseño es muy básico a causa de limitaciones en el alcance del proyecto, el
equipo soportó las funciones necesarias y logró establecer la comunicación requeridas
para lograr despachar un producto de manera local luego que el usuario emitiera una
solicitud por medio de un SMS.
•
El cristal oscilador de 4MHz que posee la tarjeta de evaluación Olimex STR-P711, no
es el ideal para realizar una comunicación serial perfecta. Estos nos indica que para el
desarrollo futuro del Terminal Móvil Inteligente, el cristal debería cambiar de valor al
propuesto o a uno similar que no genere errores de desviación en la comunicación
serial ya que ésta es uno de los aspectos más importantes de todo el proyecto.
•
La máquina expendedora presentó restricciones importantes al funcionamiento del
prototipo de TMI. Se lograron resultados satisfactorios a pesar de las limitaciones
impuestas por el protocolo existente dentro de la máquina.
•
La utilización de máquinas expendedoras con protocolos más avanzados o más
estrictos con respecto al estándar MDB, se traducirá en un mejor funcionamiento y
mayor capacidad de operación.
97
CONCLUSIONES Y RECOMENDACIONES
•
La Aplicación constituida por el prototipo TMI y la arquitectura cliente servidor,
demostraron la capacidad de resolver problemas de acceso y control de funciones de
manera remota efectivamente. Este conjunto, servirá como base para desarrollos
futuros dentro del mismo ámbito pero con mayor capacidad, funcionalidad y
flexibilidad, tal como será requerido por el entorno.
•
El proyecto de pasantía le brindó al pasante la oportunidad de adquirir habilidades en
planificación, organización, análisis, creatividad y programación entre otras. Así como
le permitió desarrollar las bases de un producto nuevo para el mercado actual
Venezolano que se perfila como una solución innovadora y prometedora en muchos
ámbitos tecnológicos.
•
El proyecto de pasantía le proporciona a la empresa la base tecnológica para desarrollar
aplicaciones en el área de M2M. Este proyecto representa el inicio de un producto que
puede ser optimizado y mejorado y que tiene grandes capacidades.
RECOMENDACIONES
•
Se recomienda la creación del Departamento Soluciones M2M de Dinama C.A. con el
objeto de independizar el producto y las soluciones involucradas con Terminal Móvil
inteligente así como dividir el segmento de hardware del de software.
•
El adquirir la licencia completa de la herramienta EWARM de IAR System permite
incrementar la capacidad de programación a 256 KB de código. El motivo es poder
desarrollar y optimizar las aplicaciones al introducir una mayor cantidad funciones,
variables, estructuras, entre otras.
•
Es importante que se comience a trabajar con los nuevos módulos de radiofrecuencia
de Kyocera que próximamente reemplazaran al módulo M200. Estos nuevos módulos
presentaran distintas dimensiones y conectores a nivel de hardware que deben ser
considerados al momento de diseñar el hardware definitivo.
98
CONCLUSIONES Y RECOMENDACIONES
•
Es necesario optimizar el programa actual del Terminal Móvil Inteligente programando
o incorporando un sistema operativo eficiente dentro del microcontrolador utilizado.
Con el propósito de incrementar la eficiencia del Terminal Móvil Inteligente al
introducir actividades multitareas, semáforos, control de flujo, manejo optimizado o
dinámico de la memoria y otros beneficios.
•
Se invita a discutir con la empresa Global Vending C.A, la idea de actualizar y
expandir los programas y códigos que se encuentran actualmente en sus máquinas
expendedoras con el fin de optimizar los servicios que periféricos como el Terminal
Móvil Inteligente puede ofrecer.
•
Con la finalidad de desarrollar nuevos protocolos de máquinas expendedoras y lograr
optimizar el programa actual introduciendo funciones de nivel superior y programas
más específicos de acuerdo a los distintos modelos. Se recomienda trabajar con otras
compañías que poseen máquinas expendedoras.
•
En cuanto al Modelo de Negocios de la actual aplicación Comercial, se recomienda
adoptar el “Modelo Ideal de Dinama” lo antes posibles con la finalidad de garantizar la
entrega y el cobro del producto. Para ello es necesario establecer una posición o
acuerdo entre el integrador, la operadora móvil y los bancos así como el desarrollo de
nuevas aplicaciones o plataformas.
•
Se recomienda evaluar la posibilidad de desarrollar una plataforma para aplicaciones
M2M pero para redes GSM de manera paralela a la actual CDMA con el objeto de
ampliar el portafolio de soluciones y de ofrecer el Terminal Móvil Inteligente en varias
tecnologías.
99
REFERENCIAS BIBLIOGRÁFICAS
TEXTOS
[Black, 1999] Uyless Black. “Tecnologías emergentes para redes de computadoras”. Editorial
Prentice Hall, 2da ed. Año 1999. Páginas: 480.
[Comer, 1997] Douglas E. Comer. “Redes de Computadoras, Internet e Interredes”. Editorial
Prentice Hall Hispanoamérica S.A., 1ra ed. 1997. Páginas: 506.
[Denn, 1980] Denning, P. ET all in “Operating Systems” in Arden, B., editor “what can be
automated?” Cambridge, MA: MIT pres, 1980.
[Gross, 1997] Lynne Schafer Gross. “Telecomunications. An Introduction to electronic
media”. Editorial MacGraw Hill, 6ta ed. Año 1997. Páginas: 443.
[Lee, 1995] William C.Y. Lee. “Mobile Cellular Telecomunications: analog and digital
systems”. Editorial MacGraw Hill Inc., 2nd ed. Año 1995. Páginas: 664.
[Smale, 1993] P.H Smale. “Introducción a los sistemas de Telecomunicaciones”. Editorial
Trillas. Año 1993. Páginas: 212.
[Stallings, 2001] Williams Stallings. “Sistemas Operativos Principios de diseño e
interioridades”. Editorial Prentice Hall, 4ta ed. Año 2001. Páginas: 800.
[Tanenbaum, 2003] Andrew S. Tanenbaum. “Redes de Computadoras”. Editorial Prentice
Hall, 4ta ed. Año 2003. Páginas: 1408.
100
REFERENCIAS BIBLIOGRÁFICAS
OTRAS FUENTES
•
[Bonusdata, 2006]. Bonus Data Vending Solutions. http://www.bonusdata.com
•
[CONATEL, 2006] Consejo Nacional de Telecomunicaciones República Bolivariana de
Venezuela. http://www.conatel.gov.ve
• http://www.conatel.gov.ve/Indicadores2006/Presentacion_III_TRIMESTRE_2006.pdf
•
[Dinama, 2006] Intranet Dinama C.A, Agosto - Enero 2006.
•
[Diccionario de la Real Academia Española, 2006]. Diccionario Web, Agosto-Septiembre
2006. www.rae.es
•
[EVA, 2006]. European Vending Association. http://www.eva.be
•
[IAR, 2006] IAR Systems. http://www.iar.com/
•
[Kyocera, 2006] Kyocera Wireless. http://www.kyocera-wireless.com/
• http://www.kyocera-wireless.com/m2m-business
• Guía de Usuario del Módulo M200 de Kyocera
• Guía de Referencia Módulo M200 de Kyocera
• Libro de Datos Módulo M200 de Kyocera
•
[NAMA, 2006]. National Automatic Merchandising Association. www.vending.org
• Estándar MDC/ICP versión 3.0. 2003
•
[Necta, 2006] N & W Global Vending. http://www.nwglobalvending.com
•
[NET, 2001] Evolución de la tecnología celular. Por Evelio Martínez. Revista NET, Julio de
2001. http://www.yucatan.com.mx/especiales/celular/3g.asp
•
[Olimex, 2006] Olimex Ltd. http://www.olimex.com/
101
REFERENCIAS BIBLIOGRÁFICAS
• http://www.olimex.cl
•
•
[STMicroelectronics, 2006] STMicroeletectronics http://www.st.com
•
Manual de Referencia de STR71x
•
Manual de Usuario de STR71x
•
Datasheet STR71x
[Telefónica, 2006] Telefónica.
• http://www.telefonica.es/sociedaddelainformacion/pdf/publicaciones/movilidad
•
[W3C, 2007] W3C. http://www.w3.org/TR/Micropayment-Markup
•
[WamTech, 2006] WamTech http://www.wamtech.cl/m2m/index.htm
•
[Wikipedia, 2006] Enciclopedia Web, Julio 2006 -Enero 2007.
102
APÉNDICES
APÉNDICE A. TABLA COMPARATIVA MICROCONTROLADORES Y TARJETAS DE EVALUACIÓN
Tarjeta de Evaluación
Feature
Maxim
MAXQ
3120
ST
DK
3200
Olimex
STR
P711
IAR
STR
711F
Embest
STDV
711F
Olimex
SAM7
P256
Atmel
AT91
SAM7S
EK
Embest
ATEB
SAM7S
Olimex
LPC
P2148
IAR
LPC
2148
R2T
Keil
MCB
2140
Embedd
ed
Artist
LPC21
48
1. Microcontrolador
MCU
Maxim
MAXQ3
120
Processor
16 bit
RISC
MCU clock
8 MHz
40
MHz
50 MHz
I/O ports
32
46
30
32
45
Timers
3 x 16
bit
3 x 16
bit
4 x 16 bit
3 x 16 bit
2 x 32 bit
PWM
3
5
3
4
6
UART
USART
2
2
4
1 DBGU
2
2
SPI
-
-
2
1
2
I²C
-
1
2
1
2
CAN
-
-
1
-
-
USB
1.1
USB 2.0 Full Speed
USB 2.0 Full Speed
USB 2.0 Full Speed with 2 KB
endpoint RAM
USB
ST
uPSD32
54
8 bit
8032
MCU
ST
STR711FR2T6
ARM7TDMI 32 bit RISC
Atmel
AT91SAM7S256
Atmel
SAM7S
64
ARM7TDMI Thumb 32 bit
RISC
Phillips
LPC2148
16-bit/32-bit ARM7TDMI-S
55
MHz
60 MHz
60 MHz
HDLC
-
-
1
-
-
ADC
2 x 16
bit
4x8
bit
4 x 12 bit
8 x 10 bit
14 x 10 bit
DAC
-
-
-
-
1 x 10 bit
Package
MQFP
80
TQFP
80
LQFP 64
LQFP 64
LQFP 64
Address Mode
1.1 Memoria
On-Chip RAM
512 B
32 KB
64 KBytes
64 KBytes
16 KB
32 + 8 KBytes
On-Chip
FLASH
32 KB
256 +
32 KB
256 + 16 KBytes
256 KBytes
64 KB
512 KBytes
Tabla Apéndice A.1. Tabla Microcontroladores y Tarjetas de evaluación Parte A
103
APÉNDICES
Tarjeta de Evaluación
Feature
Maxim
MAXQ
3120
ST
DK
3200
Olimex
STR
P711
IAR
STR
711F
Embest
STDV
711F
Olimex
SAM7
P256
Atmel
AT91
SAM7S
EK
Embest
ATEB
SAM7S
Olimex
LPC
P2148
Keil
MCB
2140
IAR
LPC
2148
R2T
Embedd
ed
Artist
LPC21
48
2. En la Tarjeta (On Board)
?
Xtal
?
4 MHz
18.432 MHz
?
12 MHz
Expans
ión
Prototyping
Area
Expans
ión
Interfaz JTAG
Interfaz ETM
N.A
N.A
N.A
N.A
N.A
N.A
N.A
N.A
N.A
Opcio
nal
Routin
g
N.A
Extension
Header Ports
Dimensiones
( mm )
160 x
120
200 x
180
120 x
80
120 x
80
125 x
108
120 x
80
100 x
100
100 x
100
110 x
100
100 x
100
190 x
100
139 x
110
2.1 Entradas y Salidas (Input/Output)
2
2
4
2
4
4
2
2
2
Joysti
ck
2
2
2
4
2
4
8 Seg.
2
8
1
8
1
2
2
2
2
2
1
1
2
2
2
1
-
-
-
-
-
-
1
1
-
-
-
-
Push Buttons
4
I/O Port LEDs
6
Puerto Serial
Serial Debug
Analog Input
(Potenciomt)
Analog Output
(Speak/Buzz)
Interfaz USB
Interfaz
Tarjeta SD
Interf
az
LCD
2.2 Alimentación (Power)
Conector
Plug
Plug
Alimentación
?
?
USBPlug
6
VAC/V
DC
USBPlug
Plug
Plug
Plug
Plug
Plug
Plug
Plug
USBPlug
?
5 VDC
6
VAC/V
DC
7-14
VDC
5 VDC
6
VAC/V
DC
7-12
VDC
?
4.5-6
VDC
2.3 Otras Características
Software de
Programación
Sí
Eval.
Sí
No
Sí
Eval.
Opcio
nal
No
Sí
Eval.
Opcio
nal
No
Sí
Sí
Eval.
Sí
Precio
132 $
150 $
70 $
350 $
130 $
70 $
350 $
120 $
75 $
150 $
350 $
99
Eur.
Tabla Apéndice A.2. Tabla comparativa entre microcontroladores y tarjetas de evaluación Parte B
104
APÉNDICES
APÉNDICE B. MATERIALES Y EQUIPOS UTILIZADOS
a) Kit de Desarrollo de Módulo de Kyocera o MDK.
El paquete para desarrollar módulos de Kyocera proporciona las herramientas necesarias
para planificar, desarrollar, integrar, administrar y probar la conectividad inalámbrica del
producto final con mayor facilidad. El MDK es el punto de inicio de los proyectos M2M ya
que es ideal para obtener un enfoque de diseño estructurado para el desarrollo de las
aplicaciones, además, permite conectar el módulo a la computadora que junto con las
herramientas de diseño permite evaluar y realizar distintas actividades.
De acuerdo a [Kyocera, 2006] y como se puede observar en la figura Apéndice B.1, este
paquete consta de los siguientes elementos:
Letra A: Placa de interfaz con acceso a los UART 1 y 2 del módulo.
Letra B: Adaptador de interfaz para conectividad USB
Letra C y D: Cables RS-232 y USB
Letra E: Adaptadores de alimentación para cada tarjeta
Letra F: Audífonos manos libres.
Letra G: Adaptadores de radiofrecuencia SMA hembra a MMCX
Letra H: CD con herramientas y controladores para el desarrollo de software, documentación y
manuales, herramienta PST, herramienta MARS. (No disponible en la figura)
105
APÉNDICES
Figura Apéndice B.1. Elementos del Paquete de Desarrollo de Modulo (MDK). Fuente Kyocera Wireless.
b) Radio Modem M200 de Kyocera
El modulo CDMA de Kyocera fue concebido para empresas que desean diseñar, construir
y vender nuevos productos con esta tecnología. El modulo es apropiado para aplicaciones de
negocios como telemetría remota, puntos de venta, compras inalámbricas (Máquinas
expendedoras), supervisión y monitoreo de vehículos, sin dejar de lado soluciones de voz y
datos inalámbricos. El modulo ofrece los beneficios de la tecnología CDMA sin la necesidad
de construir un teléfono desde su inicio ya que éste se encarga de la parte de radio frecuencia
de la aplicación; sin embargo, es necesario conectar una serie de dispositivos externos a este
para manejarlo.
El módulo posee características importantes como tres modos de operación, soporta AMPS
800MHz, CDMA 800MHz y CDMA 1900MHz, posee una memoria no volátil, un A-GPS
integrado, capacidad para realizar y atender llamadas de voz y datos, envío y recepción de
mensajes de textos o SMS, conexión por sockets y más.
Las figuras presentadas a continuación muestran la arquitectura básica interna del modulo
y la forma externa del mismo.
106
APÉNDICES
Figura Apéndice B.2. Arquitectura básica interna
Figura Apéndice B.3. Módulo M200 de Kyocera.
del modulo M200 de Kyocera. Fuente Kyocera
Fuente Kyocera Wireless.
Wireless
El modulo se conecta al sistema remoto a través de un conector Molex (board to
board) modelo 54230:55055 como el que se muestran en las siguientes figuras. La interfaz
soporta conexiones físicas para alimentación, 2 puertos seriales RS232 (UART 1 y UART 2),
micrófono, corneta y auricular. El módulo es alimentado por una fuente externa de 3,6 – 4,2
voltios que debe ser capaz de proveer una corriente promedio de 1,1 Amp y soportar picos de
corriente de 1,5 Amp.
Figura Apéndice B.4. Conector Macho 54230-0578
Figura Apéndice B.5. Conector Hembra 55055-
para el M200. Fuente Molex
0578 para el M200. Fuente Molex
El
UART
1
provee
la
comunicación
para
ofrecer
servicios
de
datos
asíncronos/fax/paquete especificados bajo las normas del estándar TIA/EIA/IS-707-A. Este
107
APÉNDICES
puerto también es utilizado en conjunto a herramientas de configuración y provisión. El
UART 2 está reservado exclusivamente para ser utilizado por la Interfaz de Protocolos
Multiplexados de Kyocera (KMIP), por esta vía, el sistema remoto puede ejecutar acciones
como emulación de teclado, originar y atender llamadas de voz, llamadas de emergencia,
envío y recepción de SMS, adquisición de puntos del GPS, controlar ciertos modos y
características del módulo y recibir información de estatus de celular.
El protocolo de interfaz de software es el antes mencionado KMIP; el cual presenta una
estructura muy compleja e interesante que incluye parámetros, codificación, decodificación,
chequeo de errores y más , que pueden ser estudiados en detalle en la Guía de Usuario y Guía
de Referencia del M200. Es este el protocolo que se utilizó para comunicar el sistema remoto
del proyecto con el módulo para de esta manera crear la aplicación final.
c) Herramienta PST (Phone Support Tool)
La herramienta PST es un set de herramientas de Windows diseñadas para conectarse,
controlar y probar teléfonos y módulos CDMA de Kyocera. El programa servidor puede
mantener y monitorear múltiples teléfonos y módulos en una computadora.
Las aplicaciones que posee son las siguientes:
•
Configuración PST de Kyocera Wireless PST: provee una pantalla con estatus básico
del teléfono (MIN, ESN, modelo) así como el control y monitoreo de los mismos.
•
Programación de Servicios: permite guardar datos correspondientes a los servicios de
programación de los teléfonos como por ejemplo los datos de las operadoras.
•
Descarga de Software: permite descargar software autorizado a teléfonos Kyocera,
permite realizar backups y restaurar elementos de la memoria no volátil.
•
Editor de Lista de Roaming: muestra la información del protocolo de roaming del
teléfono.
108
APÉNDICES
Figura Apéndice B.6. Interfaz del Phone Support Tool.
d) Herramienta MARS
La aplicación MARS está diseñada para permitirle al usuario ver el potencial del modulo
M200, manejar o manipular ciertas opciones del mismo y tener la opción de poder introducir
de manera directa comandos KMIP al módulo así como utilizar otras herramientas de más alto
nivel.
MARS fue creada como un ejemplo de interfaz para el protocolo KMIP pero desde su
concepción, esta ha evolucionado convirtiéndose en una plataforma de pruebas para probar
software, realizar soporte técnico a los módulos, desarrollar aplicaciones y hasta certificar
equipos. En su ventana podemos observar todos los campos y configuraciones del módulo así
como el estatus en tiempo real de lo que ocurre (ver figura Apéndice B.8).
Entre las herramientas más importantes que se utilizaron se encuentran:
109
APÉNDICES
•
Introducción de comandos directos: permite enviar comandos predeterminados al
modulo de manera manual para observar su comportamiento ante ellos.
•
Herramienta de GPS: permite correr una sesión GPS y obtener fixes o puntos de
localización.
•
Modulo de marcado: donde el usuario tiene acceso a las teclas del módulo para realizar
ciertas operaciones como llamadas.
•
Herramienta de SMS: es modulo que permite crear SMS para enviarlos así como
recibirlos.
•
Herramienta de interfaz de Sockets: permite establecer una llamada de datos por medio
de una conexión por sockets con un servidor.
•
Decodificador de mensajes: es una aplicación que permite desglosar los mensajes en
sus respectivas estructuras
110
APÉNDICES
Figura Apéndice B.7. Diagrama General de la herramienta MARS.
111
APÉNDICES
Figura Apéndice B.8. Interfaz Gráfica de la herramienta MARS.
e) Tarjeta de Evaluación y Desarrollo Olimex STR-P711
La tarjeta Olimex, es un circuito impreso que contiene los elementos y materiales más
importantes para la prueba del microcontrolador y sus capacidades; básicamente es el corazón
y cerebro del prototipo a ser desarrollado. Esta tarjeta permite conectarse al puerto paralelo de
la computadora mediante un cable de programación tipo ARM-JTAG (ver figura Apéndice
B.18 en cables e interfases) que junto a la herramienta de desarrollo EWARM (ver más
adelante) permite tener el acceso y control de las funciones, periféricos y puertos del µC.
Las características de la tarjeta son:
•
Microcontrolador STR711FR2T6 de 16/32 bit ARM7TDMI™.
•
Un conector JTAG estándar para programación.
•
Un conector USB.
•
Dos canales de interfaz RS232 con sus drivers.
•
Un conector de tarjetas SD/MMC.
•
Dos pulsadores.
112
APÉNDICES
•
Un potenciómetro conectado a ADC del µC.
•
Dos LEDs programables.
•
Una corneta o buzzer.
•
Conector de 10 pines para expansiones de productos Olimex.
•
Dos conectores para SPI.
•
Un conector para la interfaz I2C.
•
Regulador de voltaje de 3.3V y hasta 800 mA de corriente dentro de la tarjeta.
•
Requiere de una fuente de de alimentación de 6V AC o DC
•
Un LED indicador de alimentación.
•
Circuito y botón para Reset.
•
Cristal oscilador de 4 Mhz.
•
Cristal de 32768 Hz para el controlador de tiempo real del µC.
•
Pines de expansión para todos los puertos del µC.
•
Dimensiones: 120 x 80 mm.
Figura Apéndice B.9. Tarjeta de Evaluación Olimex STR-P711. Fuente Olimex
113
APÉNDICES
f) IAR Embedded Workbench for ARM (EWARM).
Esta es una herramienta de software utilizada como plataforma de trabajo para la
codificación, programación y prueba del microcontrolador STR711FR2T6 incluido en la
tarjeta de evaluación Olimex. El banco de trabajo EWARM, ofrece un ambiente de desarrollo
integrado con un juego completo de herramientas de compilación y depuración en C/C++.
Para el proyecto se utilizó la versión “Kickstart” que es la ideal para aprender a utilizar el
microcontrolador y desarrollar pequeños proyectos ya que es de carácter gratuito y posee las
herramientas necesarias para crear una aplicación. Esta versión proporciona un tamaño
limitado de código (32 Kbytes) de programación; pero es totalmente funcional ya que integra
un administrador de proyectos, un editor, un compilador, un ensamblador, enlazador o linker,
las librerías e instrumentos de depuración, además de un juego de guías de usuario en formato
PDF.
Es con esta herramienta donde se creó la plataforma de pruebas a nivel de software así
como la primera aplicación comercial para la máquina expendedora. En las siguientes figuras
se observa la interfaz gráfica que presenta la herramienta.
Figura Apéndice B.10. Ventana Principal de la Herramienta EWARM de IAR.
114
APÉNDICES
Figura Apéndice B.11. Ventana de Simulación de la Herramienta EWARM de IAR.
g) Emulador Vending Machine Controller con protocolo MDB. Bonusdata.
Con el propósito de realizar pruebas concretas sin necesidad de manipular la máquina real,
el emulador proporciona una fiel representación o simulación de la misma; permitiendo
apretar botones, configurar precios, realizar pruebas al incluir fallas o bloqueos de los
dispositivos y hasta la posibilidad de manipular una pantalla similar a la real.
Este emulador fue utilizado durante gran parte del proyecto para detectar la correcta
comunicación entre los dispositivos, probar y evaluar cambios en el software del prototipo
para optimizarlo, observar el comportamiento del programa ante una falla o mala ejecución de
comandos, someter al dispositivo a funcionar al máximo de su capacidad, etc. La pantalla
principal o el ejecutable del programa se observa en la figura a continuación.
115
APÉNDICES
Figura Apéndice B.12. Emulador Master MDB de Vending Machine. Fuente Bonusdata.
h) Máquina Expendedora de Café “Colibrí”
Es la máquina expendedora de café con la que se realizaron todas las pruebas finales para
verificar que el prototipo funcionase correctamente y sin problemas. Esta máquina es
completamente automática y posee varios puertos para conexión de esclavos MDB entre los
que destacan monederos, billeteros y equipos de pago electrónico que es donde el “Terminal
Móvil Inteligente” encaja. A continuación se muestra una tabla con algunas características del
equipo con su respectiva imagen. [Necta, 2006].
Versión
Grupo Café
No. de Recipientes
Interfaz del Usuario
Botones de Selección
Sistema de Pago
Altura del Modelo
Altura del Gabinete
(Adicional y Opcional)
Ancho
Profundidad
Peso
Espresso
Z3000
5
Selección Directa
8
Compatible con la mayoría
de validadores de moneda y
sistemas de pago electrónico
con Protocolo MDB.
750 mm
810 mm
410 mm
490 mm
36 Kg. Aprox.
Tabla Apéndice B.1. Características Máquina expendedora de café modelo Colibrí. Fuente N&W Global Vending
116
APÉNDICES
Figura Apéndice B.13. Máquina expendedora de Café modelo Colibrí. Fuente N&W Global Vending
i) Analizador de protocolo TELENEX 8800 Turbo
Es un equipo antiguo pero poderoso gracias a su procesador 386 destinado única y
exclusivamente a monitorear, analizar, y grabar sesiones de comunicación. El analizador
contiene una librería llena de protocolos utilizados comúnmente en las telecomunicaciones así
como una interfaz amigable al usuario. Posee un monitor ámbar, dos bahías para disketts, un
teclado, LEDs indicadores y dos puertos con las interfases eléctricas V.35, EIA-530 (449) y
EIA-232 (V.24).
Básicamente fue utilizado para monitorear y analizar la comunicación serial asíncrona en
tiempo real de los otros equipos utilizados, ya que el reloj de este analizador es de alta
exactitud.
Figura Apéndice B.14. Analizador de Protocolo Telenex 8800 Turbo.
117
APÉNDICES
j) International Data Science INC. Blue Box 100
La Caja Azul o “Blue Box” 100 es un instrumento compacto que tiene acceso y supervisa
las 25 líneas de los protocolos RS-232-C, EIA-232, CCITT y el V. 24.
El bloque contiene 50 pares de LEDs rojos/verdes que muestran los altos y los bajos
de las señales de cada uno de 25 conductores del DTE y DCE de la interfaz, una serie de
conmutadores o switches que controlan las señales, 50 pines para cruzar líneas y realizar otras
conexiones de pruebas. Adicionalmente tiene dos cables planos de 25 líneas con conectores
machos y hembras que actúan como los cambiadores de sexo de los terminales de manera que
permitan la conexión a cualquier DTE o DCE.
Este instrumento básicamente permitió conectar las tarjetas al analizador de protocolos
Telenex 8800 y revisar de manera visual los estados de las líneas de comunicación, resultando
muy útil al momento de resolver algunos problemas de interfaz eléctrica. En la siguiente
figura se puede observar el equipo.
Figura Apéndice B.15. Internacional Data Sciences INC, Blue Box 100.
118
APÉNDICES
k) Analizador de Protocolos Seriales de Máquinas Expendedoras. Bonusdata.
Es un analizador de protocolos seriales de bajo costo que es conectado al puerto USB del
computador y a las máquinas expendedoras o sus esclavos, por medio de ciertos cables de
interfaz.
La ventaja de este analizador con respecto al analizador Telenex, es que además de ser
pequeño y portátil, posee un puerto que maneja protocolos seriales específicos de las máquinas
expendedoras como lo son los protocolos MDB, Executive y BDV e incluso el universal RS232. Otra ventaja importante es que se pueden grabar sesiones en archivos para su posterior
revisión dentro del computador.
Figura Apéndice B.16. Analizador de Protocolos Bonusdata. Fuente Bonusdata
l) Cables e Interfaces
Básicamente son cables de interfaz eléctrica que permitieron la conexión entre los
dispositivos que manejaban los protocolos de las máquinas expendedoras y el analizador de
protocolo serial. También se encuentra el cable de programación del microcontrolador.
En el proyecto se utilizaron los siguientes cables:
•
BD 2003. DB9 - MDB Master Converter: Cable que convierte el protocolo RS232 a
MDB Master, utilizado para transformar la computadora en una máquina expendedora
(DTE) al utilizar el emulador VMC de Bonusdata.
119
APÉNDICES
•
BD 2010. DB9 - MDB Slave Converter: Cable que convierte el protocolo RS232 a
MDB Slave, utilizado para transformar una máquina en un esclavo de vending machine
(DCE).
•
BD 4005. Adapter Cable RS232 (DB9): es un cable que tiene un conector DB9 y se
conecta al analizador de protocolo Bonusdata.
•
BD 4010. Adapter Cable MDB: cable con conector MDB que se conecta al analizador
de protocolo Bonusdata.
•
BD 4100. Interface Cable MDB Slave: cable con conector MDB que se conecta al
analizador de protocolo Bonusdata para monitorear un DCE.
•
BD 4101. Interface Cable MDB Master: cable con conector MDB que se conecta al
analizador de protocolo Bonusdata para monitorear un DTE.
•
ARM-JTAG Dongle: cable para programación y depuración de microcontroladores
ARM. (Figura Apéndice B.18).
Figura Apéndice B.17. Algunos cables para conectar distintas interfaces eléctricas de Máquinas Expendedoras.
Figura Apéndice B.18. Cable ARM-JTAG de Olimex.
120
APÉNDICES
m) Multímetro digital “Circuitmate Beckman DM 73”
Es un instrumento electrónico de medida que combina varias funciones en una sola unidad.
Fue utilizado básicamente como voltímetro, amperímetro y ohmiómetro para verificar niveles
lógicos y de voltaje, selección y medición de resistencias, cálculos de corriente y la más
importante como comprobador de continuidad donde el dispositivo emite un sonido cuando la
pista o el circuito bajo prueba no está interrumpido.
APÉNDICE C. ESQUEMÁTICOS DE LAS TARJETAS DEL PROTOTIPO TMI
ESQUEMÁTICOS KIT DE DESARROLLO DEL MÓDULO M200 (MDK)
Figura Apéndice C.1. Esquemático tarjeta MDK. Parte A. Fuente Kyocera
121
APÉNDICES
Figura Apéndice C.2. Esquemático tarjeta MDK. Parte B. Fuente Kyocera
Figura Apéndice C.3. Esquemático tarjeta MDK. Parte C. Fuente Kyocera
122
APÉNDICES
Figura Apéndice C.4. Esquemático tarjeta MDK. Parte D. Fuente Kyocera
Figura Apéndice C.5. Esquemático tarjeta MDK. Parte E. Fuente Kyocera
123
APÉNDICES
Figura Apéndice C.6. Esquemático tarjeta MDK. Parte F. Fuente Kyocera
Figura Apéndice C.7. Esquemático tarjeta MDK. Parte G. Fuente Kyocera
124
APÉNDICES
ESQUEMÁTICO TARJETA OLIMEX STR-P711
Figura Apéndice C.8. Esquemático tarjeta de Evaluación Olimex. Fuente Original Olimex
125
APÉNDICES
ESQUEMÁTICO DE LA INTERFAZ ELÉCTRICA MDB
Máquina
Expendedora
Microcontrolador
Figura Apéndice C.9. Esquemático tarjeta de interfaz µC – Máquina Expendedora
126