Академический Документы
Профессиональный Документы
Культура Документы
SISTEMA DE RECARGA
La empresa de telefonía VIVA ofrece a sus clientes la red más amplia de “Micro
Recarga” en el país, desde cadenas de farmacias, establecimientos comerciales
como supermercados, tiendas, kioscos, dulceras, restaurantes, puntos VIVA,
comercios de venta de celulares, pubs y redes bancarias.
Los usuarios podrán recargar desde Bs 1 a 30 utilizando tarjetas de crédito, débito
o en efectivo.
Este sistema es seguro ya que al momento de realizar la micro recarga VIVA el
cliente es informado a través de un SMS que la transferencia fue realizada con éxito.
Otra importante ventaja es que nuestros usuarios pueden realizar recargas para
otras personas, por ejemplo, cuando un cliente quiera comprar crédito en un kiosco
autorizado, sólo debe dar al vendedor el número de celular al que quiere recargar y
pagar el monto solicitado. El vendedor enviará un SMS a nuestro sistema de recarga
y el crédito será transferido al celular del cliente.
Productos micro recarga VIVA
Venta al Paso: Este producto permite a los clientes de VIVA recargar crédito a su
celular desde Bs. 5RB835793673SG en kioscos, dulceras, puntos de venta
de celulares y puntos VIVA que se encuentren habilitados para realizar este
tipo de recargas de crédito de forma electrónica. El vendedor realiza la
transacción usando su celular mediante comandos de SMS. Una vez que la
transacción se realiza, el cliente recibirá un SMS del sistema comunicándole
que la transacción fue exitosa.
Red Enlace: Este producto brinda la posibilidad de realizar recargas de crédito a
través de una llamada telefónica a un número especialmente habilitado de la Red
Enlace, marcando desde cualquier teléfono sea fijo o móvil al 800-14-7777. Una
máquina contestadora le guiará en los pasos que debe seguir. Para realizar una
recarga el cliente debe contar con una tarjeta de crédito o débito de los bancos
asociados a la Red Enlace. También se puede realizar recargas de crédito desde
Bs1 en cajeros automáticos de la misma Red Enlace. El cliente lo único que debe
tener a mano es el número de su tarjeta y el PIN secreto que le dará acceso a su
cuenta.
Síntesis: Se puede realizar recargas de crédito en ventanillas de entidades
financieras que pueden ser bancos, Mutuales, cooperativas Fondos financieros
privados y dealers autorizados.
Síntesis Web: Los clientes que tengan cuentas en los Bancos Mercantil Santa Cruz,
BISA, Unión, Nacional y Ganadero pueden realizar recargas de crédito usando las
páginas web de los mencionados bancos.
POS Linkser En los comercios donde existan POS de linkser se puede realizar
recargas de crédito usando tarjetas de crédito/ débito o bien pagando en efectivo.
Estos comercios normalmente son restaurantes, discotecas, pubs, gasolineras,
cafés y otros que estarán debidamente identificados con el logo de Micro Recarga
VIVA.
Banca móvil del Banco BISA: En algunos días más se podrá realizar micro
recargas de crédito desde su celular a través del servicio de Banca Móvil del banco
BISA, donde el cliente de este banco deberá apersonarse a cualquier agencia BISA
y solicitar que se le habilite en su celular, la opción de realizar recargas de crédito
con recargo a su cuenta corriente o caja de ahorros. Esta opción también es basada
en SMS.
Partes de un sistema de recarga
ARDUINO
Arduino es una compañía de desarrollo de software y hardware libres, así como
una comunidad internacional que diseña y manufactura placas de desarrollo de
hardware para construir dispositivos digitales y dispositivos interactivos que puedan
detectar y controlar objetos del mundo real. Arduino se enfoca en acercar y facilitar
el uso de la electrónica y programación de sistemas embebidos en proyectos
multidisciplinarios. Los productos que vende la compañía son distribuidos como
Hardware y Software Libre, bajo la Licencia Pública General de GNU (GPL) y la
Licencia Pública General Reducida de GNU (LGPL), permitiendo la manufactura de
las placas Arduino y distribución del software por cualquier individuo.
- 2 Timers/Contadores de 8 bits.
- 1 Timer/Contador de 16 bits.
- 6 Canales PWM.
- 1 Timer watchdog.
- Interrupciones.
COMUNICACIÓN RS232
RS232, TRASMISION BALANCEADA, SINGLE ENDED
Esta norma fue diseñada para comunicación punto a punto, en donde se tiene una
computadora (en la norma RS232 se le denomina DTE, Data Terminal Equipment) que se
encuentra trasmitiendo hacia un equipo esclavo (en la norma conocido como DCE, Data
Communications Equipment) ubicado a distancias no mayores a 15 metros (aunque en la
práctica alcanza distancias de hasta 50 metros) y a una velocidad máxima de 19,200 bps. Este
tipo de trasmisión se le conoce como "single ended" porque usa en el cable un solo retorno
(GND). Es un modo de trasmisión muy simple, pero también vulnerable al ruido aditivo en
la línea y por esa razón es empleada para comunicación a distancias cortas.
En general, en la trasmisión RS232, las cadenas de datos son caracteres ASCII, los cuales
incluyen los códigos de letras, números y signos de puntuación, además de caracteres
especiales. Se trata de un estándar orientado a la trasmisión de texto.
Al final de la trama de 8 bits, se generan los llamados bits de paro (Stop bits) cuya función
es regresar la señal al estado bajo para preparar el siguiente flanco ascendente del bit de
inicio. La trasmisión se conoce como "Asíncrona", dado que no se requiere una señal
separada para sincronía, sino que cada carácter incluye tanto los 8 bits de datos como los bits
de inicio y de paro para establecerla.
Originalmente la norma RS232 fue diseñada para comunicar a una computadora (DTE) con
su módem para línea telefónica (DCE), pero actualmente se usa también para comunicación
entre dos computadoras, o bien una computadora con un dispositivo periférico.
El puerto serial DB25-RS232, en su forma original estándar, contaba con 25 señales, se usó
desde los años 60, y fue diseñado para enlazar la computadora y módems externos de baja
velocidad para líneas telefónicas (actualmente casi en obsolescencia). Posteriormente, el
conector DB25 fue reemplazado por el DB9.
Para la conexión se utiliza un cable con conectores DB9, con nueve señales, como el
mostrado en la figura. Adicionalmente a la señal de datos trasmitidos y recibidos TX, RX, la
norma original RS232 incluye definiciones para señales de control (en inglés "handshake
signals") que se usan para varias funciones auxiliares en el protocolo de envío y recepción
de datos, así como para el diagnóstico de fallas.
MODEM GSM
¿QUÉ ES LA RED GSM?
La red GSM (Global System for Mobile communications) es, al año 2014, el estándar
más usado para la comunicación de teléfonos móviles ó portátiles. Se denomina
estándar "de segunda generación" (2G) porque, a diferencia de la primera
generación de teléfonos portátiles, las comunicaciones se producen de un modo
completamente digital. Posteriormente fueron introducidos respectivamente los
estándares UMTS (Universal Mobile Telecommunications Systems, 3G) y LTE
(Long Term Evolution, 4G), con capacidades adicionales de conexión a internet y
mayor velocidad de transferencia de datos.
¿Qué es un módem GSM?
Un módem GSM (Global System for Mobile Communications) es un dispositivo
inalámbrico que funciona en la red GSM, utilizada mundialmente para comunicación
entre teléfonos móviles. La comunicación se realiza a través de ondas de radio.
El módem GSM puede verse como un teléfono celular al cual se le ha adaptado una
interfaz serial RS232, con el objeto de ser controlado a través de una computadora.
A través del módem GSM puede realizarse enlaces para trasmisión de voz, fax,
datos, comunicación por internet y mensajes SMS (Short Message Service).
También existen módems GSM que poseen una interfaz USB para ser controlados.
El módem GSM puede ser operado a través de un microcontrolador, por ejemplo el
PIC 16F88 ó PIC 18F2550 y de esta manera ser incorporado a sistemas de control
remoto supervisorio automático.
En una segunda aplicación puede conectarse a una computadora PC ó Laptop
mediante un cable serial RS232 o un cable USB-Serial y usarse software comercial
ó propietario para el envío programado de mensajes SMS á móviles. El número de
mensajes SMS que pueden ser procesados por un módem GSM por minuto es de
alrededor de seis a diez mensajes por minuto.
¿En cuales bandas de frecuencia operan los sistemas GSM?
Básicamente existen 4 bandas, que son estándares a nivel mundial: 850, 900, 1800
y 1900 Mhz. En la mayoría de los países de Europa, Asia, Australia, Medio Oriente
y Africa, se emplean las bandas de 900-1800 Mhz. En los Estados Unidos, Canadá,
México y la mayor parte de Centro y Sudamérica se usan las bandas de 850-1900
Mhz. En México se emplea la banda de 1900 Mhz. Para conocer la banda GSM en
la que opera cada país, vaya al siguiente link: www.worldtimezone.com/gsm.html
Los módems GSM cuatri-banda permiten operar en cualquiera de las 4 bandas
mencionadas. Mediante los comandos AT, es posible configurar el módem GSM
cuatri-banda para operar en la banda deseada. En la figura de abajo se muestra la
asignación de pares de frecuencias GSM a nivel global.
¿Qué es la tarjeta SIM?
Un teléfono móvil se compone del handset (el transceptor de radio, la pantalla y
procesadores de señales digitales) y una tarjeta inteligente denominada Subscriber
Identity Module (SIM), la cual se inserta en un receptáculo especial del móvil. El SIM
contiene la identificación del abonado (IMSI), una clave secreta opcional para la
autenticación del usuario (PIN), y la información de contacto de otros usuarios.
La SIM proporciona movilidad personal, de manera que el usuario puede tener
acceso a todos los servicios suscritos independientemente tanto de la ubicación
como del uso de una terminal específica. Al insertar la tarjeta SIM en cualquier otro
teléfono celular GSM (del mismo operador), el usuario es capaz de realizar ó recibir
llamadas en el teléfono, y utilizar otros servicios. Alternativamente, al cambiar de
operador de telefonía celular, el usuario solamente debe adquirir un nuevo SIM,
conservando el mismo teléfono móvil.
Al igual que un teléfono móvil celular, un módem GSM requiere una tarjeta SIM de
un operador de telefonía móvil y por tanto cuenta con un receptáculo para insertar
el chip SIM. Puede ver aquí las fotos de un módem GSM.
¿Qué son los números IMEI e IMSI?
El teléfono móvil ó en su caso el módem GSM, se identifica por un número único
denominado International Mobile Equipment Identity (IMEI). La tarjeta SIM contiene
otro número de identificación único, llamado International Mobile Subscriber Identity
(IMSI),
El IMEI e IMSI, son independientes, proporcionando de este modo la movilidad
personal.
¿Cómo operan los comandos AT?
Para controlar a los módems GSM, a través de su interfaz RS232, ya sea desde la
computadora PC ó desde un microcontrolador, se utilizan los comandos AT.
Además de los comandos AT estándar, utilizados en el pasado para los módems
dial-up, los módems GSM cuentan con un amplio conjunto de comandos AT. Estos
comandos AT extendidos están definidos en las normas GSM. A menudo el
fabricante del módem crea sus propios comandos AT, los cuales pueden no ser
compatibles con otras marcas. Con el set de comandos AT, se pueden tener
funciones como:
. Detección automática del enlace del módem a la red GSM.
· Envío y recepción de mensajes SMS (Short Message Service).
· Seguimiento de la intensidad de la señal en la red GSM.
· Marcado, o recepción de llamadas de audio ya sea a (ó de) teléfonos móviles ó
locales.
· Lectura, escritura y búsqueda de datos del directorio de contactos.
Debido a la simplicidad de su protocolo serial de comunicaciones, los módems GSM
no requieren de ningún driver para la conexión a la computadora PC ó a un
microcontrolador. Una vez conectado a través de un cable serial ó un cable de
interfaz USB-Serial (el cable sí requiere de un driver para funcionar), el módem
puede controlarse enviando los comandos AT, que no son otra cosa que cadenas
(strings) de códigos ASCII. Ésto permite realizar pruebas preliminares usando
cualquier programa emulador de terminal, como lo es por ejemplo el software
Hyperterminal que se incluye como parte de los sistemas operativos Windows.
Operar el módem GSM a través de un microcontrolador ó desde la PC desde un
programa escrito por ejemplo en Delphi, es igualmente sencillo dada la facilidad del
lenguaje para crear un puerto serial virtual y de enviar cadenas de códigos ASCII a
través de funciones estándar.
Características de C:
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne
Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación
C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto
de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
{} entre llaves
Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se
utilizan para los bloques de programación setup(), loop(), if.., etc.
Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es
así el compilador dará errores. El entorno de programación de Arduino incluye una
herramienta de gran utilidad para comprobar el total de llaves. Sólo tienes que hacer
click en el punto de inserción de una llave abierta e inmediatamente se marca el
correspondiente cierre de ese bloque (llave cerrada).
; punto y coma
El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de
programación de Arduino. También se utiliza para separar elementos en una
instrucción de tipo “bucle for”.
Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error
de compilación.
/*… */ bloque de comentarios
Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados
por el programa que se utilizan para las descripciones del código o comentarios que
ayudan a comprender el programa. Comienzan con / * y terminan con * / y pueden
abarcar varias líneas.
Debido a que los comentarios son ignorados por el compilador y no ocupan espacio
en la memoria de Arduino pueden ser utilizados con generosidad.
// línea de comentarios
Una línea de comentario empieza con / / y terminan con la siguiente línea de código.
Al igual que los comentarios de bloque, los de línea son ignoradas por el programa
y no ocupan espacio en la memoria.
Una línea de comentario se utiliza a menudo después de una instrucción, para
proporcionar más información acerca de lo que hace esta o para recordarla más
adelante.
A la hora de programar Arduino, es fundamental usar la referencia que disponemos
online en http://arduino.cc/en/Reference/HomePage o en la ayuda del IDE de
Arduino. Cualquier duda sobre un comando, función, etc… debemos consultar en la
referencia de Arduino.
SERVIDOR DE BASE DE DATOS MYSQL SERVER
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo
licencia dual: Licencia pública general/Licencia comercial por Oracle Corporation y
está considerada como la base de datos de código abierto más popular del mundo,
y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre
todo para entornos de desarrollo web.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no
transaccional MyISAM, pero puede provocar problemas de integridad en entornos
de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia
en la modificación de datos y en cambio el entorno es intensivo en lectura de datos,
lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno
en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento
para detectar y corregir errores tanto de SQL como de programación.
MySQL es un sistema de administración relacional de bases de datos. Una base de
datos relacional archiva datos en tablas separadas en vez de colocar todos los datos
en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están
conectadas por relaciones definidas que hacen posible combinar datos de diferentes
tablas sobre pedido.
VISUAL BASIC .NET
Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a objetos
que se puede considerar una evolución de Visual Basic implementada sobre el
framework .NET. Su introducción resultó muy controvertida, ya que debido a
cambios significativos en el lenguaje VB.NET no es retro compatible con Visual
Basic, pero el manejo de las instrucciones es similar a versiones anteriores de Visual
Basic, facilitando así el desarrollo de aplicaciones más avanzadas con herramientas
modernas. Para mantener eficacia en el desarrollo de las aplicaciones. La gran
mayoría de programadores de VB.NET utilizan el entorno de desarrollo integrado
Microsoft Visual Studio en alguna de sus versiones (desde el primer Visual Studio
.NET hasta Visual Studio .NET 2019, que es la última versión de Visual Studio para
la plataforma .NET), aunque existen otras alternativas, como SharpDevelop (que
además es libre).
Al igual que con todos los lenguajes de programación basados en .NET, los
programas escritos en VB .NET requieren el Framework .NET o Mono para
ejecutarse.
Pantalla
Teclado
GSM
Realiza la recarga de
credito principal
Revisa El Saldo al
FInal del DIa
Administrador
Establece el numero
de celular y el monto
Realiza la recarga
Responsable Cliente
Revisa su celular
con la recarga
Registrar Usuarios
Administrador Consultas
Establecer Saldo
Cerrar el Sistema
Encargado Cliente
Registro de
Recarga de Credito
FASE DE ELABORACIÓN
Durante la fase de elaboración se especifica en detalle los casos de uso, secuencias
y estados de los procesos que intervienen en el sistema
Diagrama de secuencia establecer saldo
Administrador
Ingresa usuario
y contraseña
Envia datos login
Valida usuario
Usuario valido
Acceso denegado
Consultar saldo
Retorna saldo
Cliente
Ingresa numero
de celular
Envia numero de celular
Valida numero y monedas
Numero incorrecto
Envia codigo de recarga
mensaje de verificacion
error de recarga
Diagrama de consulta de recargas
Vista Form
Controlador recarga
Controlador Login Formulario Login Modelo usuario Pantalla principal consultas recarga
linea
línea
Administrador
Ingresa usuario
y contraseña
Envia datos login
Valida usuario
Usuario valido
Acceso denegado
ingresa fecha
lista de recargas
FASE DE CONSTRUCCIÓN
Diagrama de clases
Linea
usuarios
CP id
registro_consulta_saldo CP id
nombre
CP id username
numero
resultado nombre
credito
fecha apellido
minimo
usuario_id password
linea_id fecha_acceso
Recarga_linea
registro_sesion
CP id
CP id
fecha
usuario_id
linea_id
fecha
numero
nombre del atributo
monto
respuesta
resultado
tipo
FASE DE TRANSICIÓN
IMPLEMENTACIÓN
En esta etapa se establece el resultado del diseño del sistema, el cual fue
implementado de una manera amigable con el usuario.
Interfaz de usuario se muestra la pantalla de acceso al sistema
Esquema de conexión
SERIAL
USSD
Usuario PC
Modem RED TELEFONIA
SERIAL
Arduino
Sensor de
monedas
PC: Muestra una interfaz que permite hacer una recarga de crédito
ARDUINO: Controla al sensor y envía el número de monedas insertadas.
MODEM: Conecta la interfaz de la PC con una red telefónica para enviar códigos
USSD de recarga.
SENSOR: Se encarga de recepcionar las monedas y enviar señales al arduino.
USUARIO: Ingresa el número a recargar e inserta las monedas de 1 Bs que necesite
recargar.
Pruebas Comunicación arduino
Para poner a prueba el sensor de monedas se montó el siguiente esquema y su
codificación en arduino IDE
CONCLUSIONES
El proyecto utilizo la red GSM con la empresa VIVA por su infraestructura, cobertura,
seguridad, por sus características con el servicio de recarga.
El sistema implementado se utilizó un modem que permite la conexión a la red gsm
y permite enviar códigos USSD o SMS para las recargas.
Para el sistema de control de monedas se utilizó la placa de desarrollo arduino que
usa un microcontrolador ATMEGA 328, resulta un dispositivo que tiene bajo
consumo de energía y su implementación es sencilla.
Para la programación del software se utilizó lenguaje Visual Basic .NET con el cual
se hace la comunicación con el modem GSM y la placa Arduino.
Bibliografía
https://www.arduino.cc/
https://edgardosilvi.wordpress.com/2016/02/29/acamica-ventajas-y-desventajas-
de-arduino/
https://www.incb.com.mx/index.php/articulos/78-microcontroladores-y-dsps/2546-
conociendo-el-microcontrolador-nucleo-core-atmega328p-de-arduino-uno-mic019s
https://aprendiendoarduino.wordpress.com/2015/03/26/lenguaje-de-programacion-
c/
http://www.puntoflotante.net/RS485.htm
https://es.wikipedia.org/wiki/Universal_Asynchronous_Receiver-Transmitter
https://www.infobip.com/es/blog/que-sabes-de-ussd
http://www.puntoflotante.net/TUTORIAL-MODEM-GSM-GPRS.htm
https://www.infobip.com/es/blog/que-sabes-de-ussd
https://es.wikipedia.org/wiki/MySQL
http://www.videorockola.com/tutoriales/conexion-de-un-monedero-electronico/