Beruflich Dokumente
Kultur Dokumente
REAL OPENVEND
EL INTERNET DE LAS MÁQUINAS DE VENDING
1. RESUMEN
en el que se busca aplicar los conceptos del Internet de las Cosas (IoT Internet
ellos los servicios que permitan ser accedidos en todo momento desde
Por último, como cuarta meta se propone dotar a estas máquinas que
elementos adicionales que las hagan más funcionales y atraigan a una mayor
cantidad de público.
SUMMARY
This Project is a part of a Doctoral Thesis Project in which it seeks to apply the
concepts of Internet of Things (IoT Internet of the Things) to vending machines,
vending machines of different types of products, building devices and
implementing them to provide services to be accessed at any time from
different electronic devices via the Internet, allowing intuitive interaction and
usability. For this, Open Source technologies and Open Hardware will be used.
With third goal the construction of systems to track and predict the movements
in machines vending.
KEYWORD LIST
4. INDICE
1. RESUMEN Página 5
4. INDICE Página 15
6.1. CONTEXTO
David Díaz
Javier Mira
En este sentido, cabe destacar que una de las tecnologías que será
la que implementará en las máquinas de vending será la de los lectores NFC
(Near Field Communication o Comunicación de Campo Cercano) que están
presentes por defecto ya en los smartphones de última generación y que se
prevé que sea una tecnología en auge para gestiones de todo tipo,
Big Data, es decir con los proyectos del resto del grupo que forma parte de
este Proyecto en su totalidad.
6.2.1. SCRUM
REUNIONES SCRUM
07/10/15
14/10/15
21/10/15
29/10/15
04/11/15
11/11/15
18/11/15
25/11/15
02-12-15
09-12-15
15-12-15
Principal: openvend.net
1) Demo.openvend.net (opencart)
2) Api openvend.net (/Slim/api)
3) Web.openvend.net /slim/web
4) Yourls
Se revisa el flujo de llamadas desde Arduino.
16-12-15
23-12-15
30-12-15
20-01-16
Uribeacons
Mejorar look@feel
2-2-16
17-02-2016
20-02-2016
Demos
02-03-2016
09-03-2016
16-03-16
23-03-16
30-03-16
06-04-16
13-04-2016
20-04-2016
27-04-16
11-05-16
Presentación DEMOS
13-05-16
15-06-16
22-06-16
Se fija la fecha para la lectura del proyecto el día 11 de julio de 2016 a las
11:00 horas en la Escuela Técnica Superior de Ingenieros Informáticos
situada en Madrid.
Se indican los plazos para la entrega de memorias
29-06-16
Última reunión, se concreta sobre las memorias y su entrega
6.3 HOSTING
- 1 página Wordpress
- 50 Gb de espacio web sobre disco SSD
- Visitas ilimitadas
- 1 dominio incluido
- 1 base de datos
- Cuentas de correo ilimitadas
- 20 cuentas SFTP
- Georredundancia
- Protección DdoS
- Recuperación de archivos
- (NO se menciona la memoria RAM disponible de 69 MB en las
especificaciones técnicas del servicio que como se verá más será un
importante hándicap)
- (NO hay apenas acceso a configuración a parámetros de la
arquitectura física del servidor, cosa que también será un handicap)
Al igual que en el caso anterior este servicio no sería válido para una
implementación del sistema en un caso real profesional pues las prestaciones
son muy ajustadas, y habría que contratar otro servicio más avanzado, que
dentro de esta empresa habríamos seleccionado el denominado Servidor
Cloud que varia desde los 48,33 € al mes hasta una cantidad sin determinar
en función de las ampliaciones de memoria RAM, número de procesadores,
espacio en disco SSD, servicios adicionales como Backup, …, y como
siempre intentando buscar el adecuado equilibrio entre prestaciones de
servicio y coste del mismo.
- 1 dominio incluido
- Gestión DNS
- (NO tiene transferencia ilimitada, factor a tener en cuenta pues en caso
de tener un éxito no controlado el exceso de visitas nos implicaría
costes adicionales importantes).
Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
))) Last update of whois database: Sat, 25 Jun 2016 09:47:39 GMT (((
6.3.3. Plesk
Se verifica que:
- Certificado es válido
- Firmado por alguien en
quien el usuario confia
Clave de encriptación de un solo uso para esta sesión
(encriptación usando la Clave Pública del Servidor)
6.5. WORDPRESS
6.5.2. Instalación
6.5.3. Configuración
6.5.5. Seguridad
6.5.6. Respaldo
6.6. WOOCOMMERCE
6.6.2. Instalación
6.6.3. Configuración
6.6.4. MarketPlace
6.7.2. WC-VENDORS
CAPTURA 6.7.1.
Para conseguir este Plugin nos dirigimos a la dirección web del sitio
oficial de plugins de Wordpress https://es.wordpress.org/plugins/two-factor-
auth/ y procedemos a descargarlo para posteriormente y siguiendo las
instrucciones del ANEXO 4 instalarlo y activarlo en el servidor local en el que
estamos implementando todo el sistema.
CAPTURA 6.7.2.
CAPTURA 6.7.3.
CAPTURA 6.7.4.
CAPTURA 6.7.5.
6.7.7. WP MIGRATE DB
No hay que realizar ningún tipo de configuración, solo hay que realizar
copias de la base de datos, como referencia en el ANEXO 7 se realiza un
proceso de copia que puede servir como ejemplo.
6.7.9. MYCRED
6.8.1. CONCEPTOS
200 OK HTTP
401 Unauthorized
CAPTURA 6.8.1.
CAPTURA 6.8.2.
- Consumer Key
- Consumer Secret
- QR Code
CAPTURA 6.8.3.
Estos son los datos que se tienen que comunicar o configurar en las
aplicaciones o sistemas que quieran acceder a los datos de Woocommerce
usando la API REST, en el apartado siguiente se verán ejemplos usando la
barra de direcciones de un navegador de Internet, y usando una aplicación
como Postman, también el compañero de Proyecto David Díaz, encargado de
construir y configurar las tarjetas Arduino que controlan las máquinas de
vending ha hecho las pruebas oportunas confirmando el acceso a los datos
de Woocommerce.
6.8.3. EJEMPLOS
https://www.openvend.net/wc-
api/v3/customers/2?consumer_key=ck_7ec05e60653037eea42ba707c4f94c
3c344d0a5d&consumer_secret=cs_273e54c37bbb37d3778eedb0576a2993
23253196
{"customer":{"id":2,"created_at":"2016-06-
27T16:31:33Z","last_update":"2016-06-
28T20:50:51Z","email":"customer1@openvend.net","first_name":"Customer",
"last_name":"One","username":"customer1","role":"customer","last_order_id":
null,"last_order_date":null,"orders_count":0,"total_spent":"0.00","avatar_url":"
https:\/\/secure.gravatar.com\/avatar\/?s=96","billing_address":{"first_name":"
","last_name":"","company":"","address_1":"","address_2":"","city":"","state":"",
"postcode":"","country":"","email":"","phone":""},"shipping_address":{"first_na
me":"","last_name":"","company":"","address_1":"","address_2":"","city":"","sta
te":"","postcode":"","country":""}}}
https://www.openvend.net/wc-
api/v3/customers/2?fields=email&consumer_key=ck_7ec05e60653037eea42
ba707c4f94c3c344d0a5d&consumer_secret=cs_273e54c37bbb37d3778eed
b0576a299323253196
{"customer":{"email":"customer1@openvend.net"}}
CONSUMER KEY
ck_7ec05e60653037eea42ba707c4f94c3c344d0a5d
CONSUMER SECRET
cs_273e54c37bbb37d3778eedb0576a299323253196
CAPTURA 6.8.4.
CAPTURA 6.8.5.
https://www.openvend.net/wc-
api/v3/customers/2?consumer_key=ck_7ec05e60653037eea42ba707c4f94c
3c344d0a5d&consumer_secret=cs_273e54c37bbb37d3778eedb0576a2993
23253196
CAPTURA 6.8.6.
https://www.openvend.net/wc-
api/v3/customers/2?fields=email&consumer_key=ck_7ec05e60653037eea42
ba707c4f94c3c344d0a5d&consumer_secret=cs_273e54c37bbb37d3778eed
b0576a299323253196
CAPTURA 6.8.7.
https://www.openvend.net/wc-
api/v3/customers/2?consumer_key=ck_7ec05e60653037eea42ba707c4f94c
3c344d0a5d&consumer_secret=cs_273e54c37bbb37d3778eedb0576a2993
23253196
CAPTURA 6.8.8.
{
"customer": {
"email": "customer1@openvend.net"
}
}
CAPTURA 6.8.9.
https://www.openvend.net/wc-
api/v3/customers/2?fields=email&consumer_key=ck_7ec05e60653037eea42
ba707c4f94c3c344d0a5d&consumer_secret=cs_273e54c37bbb37d3778eed
b0576a299323253196
{"customer":{"email":"test@openvend.net"}}
CONCLUSIONES
4 2
1
3
Precondición El técnico debe estar dado de alta como usuario con el rol
de administrador
MEJORA 1
MEJORA 2
MEJORA 3
MEJORA 4
MEJORA 5
MEJORA 6
MEJORA 7
6.11. CONCLUSIONES
Ha sido muy gratificante ver como al ir pasando los meses, ver el que
parece aún cercano mes de octubre cuando empezamos y pensar que
realmente no es tan cercano y que ya han pasado nueve meses desde
entonces, se ha ido avanzando tanto y se han ido cambiado tantos puntos de
vista y valorando soluciones que se han ido probando y rechazando hasta dar
con la adecuada que parece mentira que ya se haya acabado el tiempo para
la realización de este Proyecto.
7. ANEXOS
Apache 2.4.18.
MySQL 5.7.11.
PHP 5.6.19-7.0.4.
CAPTURA 7.1.1.
CAPTURA 7.1.2.
CAPTURA 7.2.1.
CAPTURA 7.2.2.
Ahora crearemos una usuario para dar acceso a la base de datos
recién creada, para ello pinchamos en la opción Usuarios, y en la parte inferior
pulsamos sobre la opción Agregar nuevo usuario a este usuario lo llamaremos
usr_openvend y le asignamos la contraseña Finishing@2016 y le asignamos
todos los privilegios,
CAPTURA 7.2.3.
CAPTURA 7.2.4.
El siguiente paso es renombrar el archivo wp-config-sample.php a
wp-config.php y editamos las siguientes líneas con un editor de texto,
escribiendo lo que está en negrita,
CAPTURA 7.2.5.
CAPTURA 7.2.6.
Ahora podemos acceder a la parte pública de la web desde la
dirección del servidor local http://localhost/openvend,
CAPTURA 7.2.7.
O bien al panel de administración de Wordpress, donde tendremos
que iniciar sesión con el usuario de administración que hemos dado de alta
desde la dirección http://localhost/openvend/wp-admin
CAPTURA 7.2.8.
Al introducir los datos de inicio de sesión correctamente accedemos
al panel de administración de Wordpress,
CAPTURA 7.2.9.
CAPTURA 7.3.1.
CAPTURA 7.3.2.
CAPTURA 7.3.3.
CAPTURA 7.3.4.
CAPTURA 7.3.5.
CAPTURA 7.3.6.
CAPTURA 7.3.7.
CAPTURA 7.3.8.
CAPTURA 7.3.9
CAPTURA 7.4.1.
CAPTURA 7.4.2.
CAPTURA 7.4.3.
CAPTURA 7.4.4.
CAPTURA 7.4.5.
CAPTURA 7.5.1.
CAPTURA 7.5.2.
CAPTURA 7.5.3.
FIGURA 7.5.4.
Rellenamos los datos básicos del nuevo cliente, destacar que hay
que tener muy presente recordar o anotar el nombre de usuario, pues será
necesario para acceder por ejemplo a servicios como puede ser el acceso
mediante Cliente FTP para cargar archivos, además intentamos crear una
contraseña que sea lo más segura posible.
CAPTURA 7.5.5.
CAPTURA 7.5.6.
CAPTURA 7.5.7.
CAPTURA 7.5.8.
CAPTURA 7.5.9.
CAPTURA 7.5.10.
Grado en Ingeniería Informática - Proyecto Fin de Grado Página 140
Capítulo 7 - Anexo 5 - Configuración Plesk Hosting
Una vez creadas las cuentas de correo electrónico para las tres
cuentas de usuarios que necesitaremos para los casos de uso que se
establecerán en este Proyecto, podemos ver listadas esas cuentas,
CAPTURA 7.5.11.
CAPTURA 7.5.12.
CAPTURA 7.5.13.
CAPTURA 7.5.14.
CAPTURA 7.5.15.
FIGURA 7.5.16.
CAPTURA 7.6.1.
Hacemos clic sobre el botón que indica Free Trial SSL y nos carga
una página donde tenemos que atender unos requerimientos previos, entre
los que destacan el CSR (Certificate Signing Request) que lo generaremos
desde el panel Plesk,
CAPTURA 7.6.2.
CAPTURA 7.6.3.
CAPTURA 7.6.4.
CAPTURA 7.6.5.
CAPTURA 7.6.6.
Ahora nos rellenamos los datos del dominio y la empresa que solicita
el certificado, además de los datos de contacto,
CAPTURA 7.6.7.
CAPTURA 7.6.8.
CAPTURA 7.6.9.
CAPTURA 7.6.10.
CAPTURA 7.6.11.
Al recibir el correo electrónico (al final de este anexo podemos ver ese
Certificado, CSR, la clave privada y al hash) con el certificado lo copiamos en
apartado Certificado dentro del apartado correspondiente en el panel de
control Plesk, a continuación verificamos que todo funciona correctamente
accediendo a la dirección https://openvend.net , viendo que efectivamente el
certificado ha sido emitido e instalado correctamente,
CAPTURA 7.6.12.
5CpfmVpLdXo/J87D2rPz8kV+lVdQfGITxDCVMZ14pZNzOLa3aMdHpJeQNK
CSaq6q
LASiq3V1XgMoLN3xeDpBpq4=
-----END PRIVATE KEY-----
T0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAkBg
grBgEF
BQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCkGA1UdEQQiMCCC
EHd3dy5v
cGVudmVuZC5uZXSCDG9wZW52ZW5kLm5ldDANBgkqhkiG9w0BAQsFAA
OCAQEAVfeJ
eSNPPevjcnZbuSfXs+p9sXG0kgt14vycTzd1dLrKroSuuYNv+qFOLB1bqfkDR
Lku
kHcr7JkhI7wT79Olo7IP8VZ5xLHGs4tLHk9qTxvIypAa0r6s971dWTVxmxwZv
13T
Ctdv2b7Q77sEx0iXOQFXDXbYXbCAqrB3gH/GzZ+Q6L+vPcVXe/UdJiY4A1j
4lBm3
JhLXJrlGdLGdVfZdKu4xhedv/+38o1m2z33O9WWqFZIGs2AD1XyC0tViiDbut
v5Y
wYtCwg1EMYBqr/A+lDGiFw3IQZQkKO/raMmkJo3kHMKTCM3HWF1yAasio
BOGeKhj
EhUsosHt1WZtjjwHMg==
-----END CERTIFICATE-----
SHA-1 = 4066EA6379BD36B583FEA5DF68BC1381D10E26ED
//localhost/openvend //openvend.net
C:\wamp\openvend /var/www/vhosts/openvend.net/httpdocs
CAPTURA 7.7.1.
CAPTURA 7.7.2.
CAPTURA 7.7.3.
CAPTURA 7.7.4.
CAPTURA 7.7.5.
HOST: ftp.openvend.net
USUARIO: openvend16
CONTRASEÑA: Finishing@2016
CAPTURA 7.7.6.
Para cargar los archivos desde el servidor local hasta el espacio web
del servidor remoto hay varias opciones entre las que destacamos los Clientes
FTP, las conexiones SSH o la interfaz web disponible en el panel de control
Plesk del Hosting contratado en Interdominios.
CAPTURA 7.8.1.
Una vez accedido al directorio raíz hay que tener en cuenta que
debemos cargar, eliminar o modificar los archivos dentro de la carpeta
httpdocs,
CAPTURA 7.8.3.
8. AGRADECIMIENTOS
largo de todos los años que ha durado este Proyecto. También gracias por
dejarnos investigar nuevas opciones y poder planteártelas e incluso llevarlas
a cabo, cosa que ha significado que hacer este Proyecto no lo haya visto como
una obligación sino como una experiencia de descubrimiento y de reto
personal para de algo que no sabías que existiera puedas crear un sistema
que pueda quizá incluso en algún momento ser un realidad. Te deseo mucha
suerte en la presentación de tu tesis doctoral y de nuevo reitero mis
agradecimientos por aceptarme en tu Proyecto.
pero como la recompensa será muy grande, creo que todos estaremos muy
alegres de que esto haya sucedido.
9. BIBLIOGRAFÍA
Roger S. Pressman
Behrouz A. Forouzan
- UML y patrones
Craig Larman
José Manuel Díaz Martínez, Rocío Muñoz Mansilla y Dictino Chaos García
Gabriel Díaz, Francisco Mur, Elio Sancristóbal, Manuel Castro y Juan Peire
- PHP 6 y MySQL
- Hosting
http://cloudtimes.org/2011/11/30/top-paas-saas-and-iaas-cloud-companies-
by-cloudtimes/
https://stack247.wordpress.com/2015/05/21/azure-on-premises-vs-iaas-vs-
paas-vs-saas/
- Wordpress
https://es.wikipedia.org/wiki/WordPress
https://es.wordpress.com/
https://es.wordpress.org/
http://v2.wp-api.org/
- Woocommerce
https://www.woothemes.com/woocommerce/
http://woothemes.github.io/woocommerce-rest-api-docs/
- Plesk
https://docs.plesk.com/en-US/12.5/
PHP:
POST: Envía datos para que sean procesados por el recurso identificado
Fin de la Memoria
30 de junio de 2016