Post on 28-Oct-2021
UNIVERSIDAD ANDRÉS BELLO
Facultad de Ingeniería
Escuela de Industrias
SISTEMA DE MONITOREO REMOTO DEL CICLO DE
AUTOCLAVE A VAPOR.
Tesis para optar al grado “Licenciado en Ciencias de la Ingeniería”
y título “Ingeniero en Automatización y Robótica”.
Autor:
Javier Ignacio Silva Pereira
Profesor Guía:
Néstor Palominos González
Santiago de Chile, 2020.
UNIVERSIDAD ANDRES BELLO
FACULTAD DE INGENIERÍA
ESCUELA DE INDUSTRIAS
INGENIERÍA EN AUTOMATIZACIÓN Y ROBÓTICA
DECLARACIÓN DE ORIGINALIDAD Y PROPIEDAD
Yo, Javier Ignacio Silva Pereira, declaro que este documento no incorpora material de otros
autores sin identificar debidamente la fuente.
Santiago, Diciembre de 2020.
_____________________________
Firma del alumno
3
Agradecimientos:
Agradezco en esta oportunidad a mi hija Antonia y a mi mujer Valentina por darme una razón
para terminar mi formación profesional.
A mis padres Viviana y Raúl, porque gracias a ellos soy lo que soy en este minuto, inculcarme
valores y la educación necesaria para ser una buena persona.
Mis hermanos mayores, Natalia y Raúl, que me han enseñado la perseverancia para conseguir
lo que uno se proponga.
A mis amigos y compañeros, que lograron hacer de este periodo de formación, una grata e
inolvidable instancia en estos años de Universidad.
Finalmente, a mi profesor guía Nestor Palominos, y al resto de los profesores que me
brindaron de conocimientos para enfrentarme a un nuevo mundo.
4
Índice general:
Agradecimientos: .................................................................................................................... 3
Índice general: ........................................................................................................................ 4
Índice de Figuras: ................................................................................................................... 5
Resumen ................................................................................................................................. 8
Abstract ................................................................................................................................... 9
Introducción .......................................................................................................................... 10
Objetivos ............................................................................................................................... 11
Objetivo General............................................................................................................... 11
Objetivos Específicos ....................................................................................................... 11
Marco Teórico ...................................................................................................................... 12
Autoclave .......................................................................................................................... 12
Raspberry Pi ......................................................................................................................... 26
TCP/IP .................................................................................................................................. 29
PROTOCOLO TCP (Transport control Protocol) ................................................................ 30
PYTHON .............................................................................................................................. 31
Amazon S3 ........................................................................................................................... 31
Estado del arte ...................................................................................................................... 33
Desarrollo ............................................................................................................................. 34
Software. ............................................................................................................................... 39
Hardware .............................................................................................................................. 44
Diagrama de funcionamiento............................................................................................ 49
Resultados ............................................................................................................................. 50
5
Software. ............................................................................................................................... 56
Amazon Simple Storage Service .......................................................................................... 56
Creación de un Bucket:......................................................................................................... 58
Pruebas de funcionamiento: ................................................................................................. 63
Discusiones ........................................................................................................................... 67
Conclusiones ......................................................................................................................... 68
Bibliografía ........................................................................................................................... 68
Anexos .................................................................................................................................. 71
Índice de Figuras:
Fig. 1 Válvula Solenoide Cerrada/Abierta ........................................................................... 13
Fig. 2 Válvula Solenoide para Agua ..................................................................................... 14
Fig. 3 Válvula Solenoide para Aire ...................................................................................... 14
Fig. 4 Válvula Neumática Asiento Inclinado ....................................................................... 15
Fig. 5 Presóstato, Fig. obtenida de ingmecafenix.com ......................................................... 16
Fig. 6 Sensor Temperatura tipo PT-100 ............................................................................... 16
Fig. 7 Bomba de Agua .......................................................................................................... 17
Fig. 8 Sensor de Nivel .......................................................................................................... 17
Fig. 9 Trampa de Vapor ........................................................................................................ 18
Fig. 10 Contactor Trifásico Schneider .................................................................................. 19
Fig. 11 Calefactor Eléctrico .................................................................................................. 20
Fig. 12 Válvulas de Seguridad .............................................................................................. 20
Fig. 13 Generador de Vapor ................................................................................................. 21
Fig. 14 Autoclave ................................................................................................................. 22
Fig. 15 PHB .......................................................................................................................... 23
Fig. 16 ETO. ......................................................................................................................... 23
6
Fig. 17 Enchufe DB9 ............................................................................................................ 24
Fig. 18 Enchufe DB25 .......................................................................................................... 25
Fig. 19 Conector RJ12 .......................................................................................................... 25
Fig. 20 Puertos de conexión de la Raspberry Pi 4B. ............................................................ 27
Fig. 21 Puertos GPIO de la Raspberry Pi 2 o posterior. ....................................................... 29
Fig. 22 Trama TCP. .............................................................................................................. 30
Fig. 23 Bowie-Dick Test. ..................................................................................................... 35
Fig. 24 Gráfico Presión vs. Tiempo Leak Test ..................................................................... 35
Fig. 25 Gráfico Presión v/s Tiempo Ciclo Completo ........................................................... 37
Fig. 26 Registro ciclo Bowie-Dick. ...................................................................................... 38
Fig. 27 Paso 1 Balena Etcher ................................................................................................ 39
Fig. 28 Página principal Raspberry Pi .................................................................................. 40
Fig. 29 Descarga Software Raspberry Pi .............................................................................. 40
Fig. 30 Descarga Imagen Raspberry Pi ................................................................................ 41
Fig. 31 Selección Imagen con Balena .................................................................................. 41
Fig. 32 Selección Imagen con Balena Etcher ....................................................................... 42
Fig. 33 Selección destino de imagen .................................................................................... 42
Fig. 34 Selección Tarjeta de Memoria destino imagen ........................................................ 43
Fig. 35 Grabación de Imagen en Tarjeta de Memoria .......................................................... 44
Fig. 36 Esquema Microcontrolador ...................................................................................... 45
Fig. 37 Esquema Eléctrico D.I. ............................................................................................ 46
Fig. 38 Conexión entradas digitales ..................................................................................... 47
Fig. 39 Fuente de Poder 24Vdc ............................................................................................ 47
Fig. 40 Alimentación Microcontrolador ............................................................................... 48
Fig. 41 Diagrama Proyecto ................................................................................................... 49
Fig. 42 Microcontrolador Conectado (1) .............................................................................. 50
Fig. 43 Microcontrolador Conectado (2) .............................................................................. 51
Fig. 44 LCD Microcontrolador (1) ....................................................................................... 52
Fig. 45 LCD Microcontrolador (2) ....................................................................................... 52
Fig. 46 LCD Microcontrolador (3) ....................................................................................... 53
Fig. 47 LCD Microcontrolador (4) ....................................................................................... 53
7
Fig. 48 LCD Microcontrolador (5) ............................................................................. 54
Fig. 49 Osciloscopio................................................................................................. 54
Fig. 50 Microcontrolador conectado a Raspberry Pi ..................................................... 55
Fig. 51 Puerto USBin Raspberry Com Serial ............................................................... 56
Fig. 52 Paso 1 Credenciales ...................................................................................... 57
Fig. 53 Paso 2 Credenciales ...................................................................................... 57
Fig. 54 Paso 3 Credenciales ...................................................................................... 58
Fig. 55 Creación Bucket (1) ...................................................................................... 58
Fig. 56 Creación Bucket (2) ...................................................................................... 59
Fig. 57 Creación Bucket (3) ...................................................................................... 60
Fig. 58 Creación Bucket (4) ...................................................................................... 60
Fig. 59 Creación Bucket (5) ...................................................................................... 61
Fig. 60 Creación Bucket (6) ...................................................................................... 61
Fig. 61 Creación Bucket (7) ...................................................................................... 62
Fig. 62 Terminal Raspberry Pi ................................................................................... 63
Fig. 63 Terminal Inicio Programa plc.py .................................................................... 64
Fig. 64 Inicio Ciclo Microcontrolador ........................................................................ 64
Fig. 65 Terminal Raspberry Pi recibiendo información desde Microcontrolador ............. 65
Fig. 66 Página web Amazon S3 ................................................................................. 66
8
Resumen
Uno de los principales problemas en el sistema de salud corresponde al insuficiente
suministro de provisiones para las maquinas esterilizadoras autoclave. Estas requieren un
rollo de papel de determinadas especificaciones para poder mostrar los parámetros relevantes
para su funcionamiento. En caso de no haber suministro de papel, el autoclave queda fuera
de funcionamiento hasta que éste insumo llegue.
Es por esto que el presente trabajo tiene por finalidad, crear un adaptador para la maquina
autoclave, la cual capture los datos generados y envíe estos a una base de datos y una página
web, permitiendo su funcionamiento aun sin insumo de papel.
Esto implica una optimización en tiempos de respuesta para poder así programar cirugías o
procedimientos, los cuales por falta de papel pueden ser postergados por días e incluso meses.
Para el desarrollo del prototipo se utilizó una placa Raspberry Pi, un conversor Serial-USB y
el código de programación adecuado en el lenguaje Python, tal de crear una bifurcación en
la comunicación entre el autoclave y la impresora tal de poder capturar los datos y
posteriormente enviarlos a un servidor HTTP para la visualización de datos, utilizando
Amazon S3 para tal efecto
Este dispositivo fue probado en el instituto traumatológico, mostrando resultados
satisfactorios, tal de poder realizar una marca blanca en el futuro, lo cual tendría un impacto
significativo en la aplicación de la ingeniería en el área de la salud.
Palabras Clave: Autoclave, Raspberry Pi, Ingeniería aplicada al sistema de salud de
Chile.
9
Abstract
One of the main problems in the health system is the insufficient supply of provision for
autoclave sterilizers. These require a roll of paper of certain specifications in order to display
the relevant parameters for their operation. In case there is no paper supply, the autoclave is
out of operation until this input arrives.
That is why this work aims to create an adapter for the autoclave machine, which captures
the data generated and send them to a database and then, a website, allowing its operation
even without paper supply.
This implies an optimization in response times in order to schedule surgeries or procedures,
which due to lack of paper can be delayed by days or even months.
For the development of the prototype, we used a Raspberry Pi board, a Serial-USB converter
and the appropriate programming code in Python language, in order to create a bifurcation in
the communication between the autoclave and the printer so that data can be captured and
later sent to the server, using Amazon S3 for this purpose.
This device was tested at the Traumatologic Institute, showing satisfactory results, so that a
white mark could be made in the future, which would have a significant impact on the
application of engineering in the health area.
Keywords: Autoclave, Raspberry Pi, Python, Engineering applied to the Chilean
health system.
10
Introducción
Es una realidad que, en el sistema de salud actual, hay mucho déficit en la óptima distribución
de insumos, tanto de farmacia como de activos que necesitan los equipos médicos.
Específicamente se hablará del papel que necesita un esterilizador Autoclave, que es donde
se imprime el registro del ciclo, señalando cada parte del proceso con su respectiva
temperatura, presión y hora, cada 3 minutos en la mayoría de los casos; respaldo que se
necesita para asegurarse si resultó ser un ciclo exitoso.
Es por esto que el presente proyecto tiene como objetivo darle una mejora al actual sistema,
añadiendo herramientas tecnológicas como visualizar ese respaldo en una página web.
Se intervendrá en la comunicación existente entre el PLC del Autoclave y la impresora, y así,
añadir otra alternativa a estos casos, realizando en este proyecto una adquisición de esa
información gracias a la programación mediante Python en una placa Raspberry Pi, para
poder visualizarla en una página web.
De esta manera, se reducirán importantemente los tiempos de respuesta para los encargados
del constante funcionamiento de los Autoclaves, ya que el registro del ciclo aporta
información valiosa a la hora de diagnosticar alguna posible falla.
Aporta también, como se mencionó anteriormente, en los tiempos de respuesta, ya que cada
equipo está instalado en cada uno de los centros de salud a lo largo del país, por lo que no es
posible tener a un técnico en cada centro, y la asistencia, en vez de ser en horas, incluso días
dependiendo de la ubicación geográfica entre el técnico y el centro, se podría reducir a sólo
minutos, optimizando así el continuo funcionamiento en los servicios de esterilización. Esto
es muy importante, ya que si un equipo falla, se traduce en que no habría material estéril para
atender a pacientes en procedimientos tan urgentes como sería una operación programada
hace meses, incluso años.
La visualización se realizará en una página web, utilizando Amazon S3 (Simple Storage
Service), la cual es muy amigable con el lenguaje de programación Python, ya que se
incorporó una librería que es idónea para este tipo de aplicaciones, llamada BOTO3.
11
Objetivos
Objetivo General
El presente proyecto tiene como principal finalidad el diseño e implementación de un sistema
electrónico y una página web capaz de señalar en tiempo real las diferentes magnitudes
físicas que se manifiestan en un equipo Autoclave en la impresora, respaldando el registro
del ciclo de manera remota.
Objetivos Específicos
1.-Localizar e intervenir la comunicación entre el PLC del Autoclave y la impresora.
2.-Interpretar y almacenar los datos que viajan a través del cable por comunicación RS232.
3.-Programar una Raspberry para capturar la información.
4.-Crear un servidor web donde se almacenarán los datos.
12
Marco Teórico
Autoclave
Un Autoclave es una máquina que esteriliza con fin de desinfectar materiales e instrumentos
quirúrgicos. Posee unas paredes gruesas y cierre hermético, capaz de contener presiones y
altas temperaturas para lograr la esterilización.
Las actuales tecnologías, son las responsables para que el ciclo completo lo realice de una
manera completamente automatizada; tecnologías como:
- PLC
- Válvulas de control
- Presóstatos
- Sensores de temperatura (PT-100)
- Bombas de Agua y Vacío
- Sensor de Nivel
- Trampas de vapor
- Contactores
- Calefactores
- Válvulas de Seguridad
- Generador de Vapor
Las Válvulas de control que se encuentran en el Autoclave, son para controlar el flujo de
fluidos, como Agua, Aire, Vapor, etc.
El sistema de funcionamiento de las Válvulas Solenoides se detalla a continuación:
13
Fig. 1 Válvula Solenoide Cerrada/Abierta
Como se visualiza en la Fig.1, en la primera imagen, se aprecia que la bobina que envuelve
al Émbolo se encuentra des energizado, por lo que el campo electromagnético es nulo; por
ende, el Émbolo cae por el resorte que lo fuerza hacia abajo.
En el caso contrario, en la imagen del lado derecho, la Bobina se encuentra energizada, por
lo que se crea un campo electromagnético que atrae al Émbolo hacia arriba, liberando el
paso del fluido hasta que se des energice.
14
Fig. 2 Válvula Solenoide para Agua
Fig. 3 Válvula Solenoide para Aire
15
Fig. 4 Válvula Neumática Asiento Inclinado
Otra Válvula presente en estos equipos, son las Válvulas con Accionamiento Neumático y
asiento inclinado, las cuales como su nombre lo dice, su cambio de estado (Abierta o
Cerrada), se acciona mediante aire comprimido. Se aprecian 2 agujeros en el hemisferio
superior, en donde el que está más arriba, fuerza al pistón a que baje, cerrando la válvula; y
en caso contrario, hace que el pistón suba, abriendo la válvula permitiendo el libre flujo del
fluido. Esto depende netamente de la configuración inicial de la válvula, si es que esta es
Normalmente Abierta, o Normalmente Cerrada.
El funcionamiento de los Presostatos es que envían una señal, dependiendo de cual sea la que
controle (Normal Abierto / Normal Cerrado), al momento en que llegue a una presión
previamente seteada. Esto es para controlar y mantener una presión constante para cuando se
necesite utilizar el elemento a controlar, ya sea Aire, Vapor, etc.
16
Fig. 5 Presóstato, Fig. obtenida de ingmecafenix.com
Los sensores de Temperatura son fundamentales para llevar el control en el proceso, porque,
aunque el vapor saturado sea directamente proporcional a la Temperatura, pueden existir
variaciones, y por mas mínimas que sean, debe existir este instrumento para precisar el
funcionamiento óptimo.
Este sensor de temperatura en particular, es de tipo PT-100, que posee internamente un
platino, el cual a 0ºC tiene 100 ohmnios, y a medida que va aumentando su temperatura,
aumenta por ende su resistencia eléctrica, la que se puede interpretar dentro de un PLC.
Fig. 6 Sensor Temperatura tipo PT-100
17
Para lograr automatizar el proceso de llenado del Generador de Vapor, se necesita de un
sensor de nivel de agua y una bomba de agua, los cuales, en conjunto, controlan el nivel
necesario de agua para lograr generar presión de vapor en el tiempo más corto posible.
Fig. 7 Bomba de Agua
Fig. 8 Sensor de Nivel
El sensor de nivel indica desde cuando y hasta cuando accionar la bomba de agua con sus
contactos Normal Abierto / Normal Cerrado.
18
Como solo se necesita Vapor Saturado en este caso para esterilizar, el Vapor condensado que
posteriormente se convierte en agua, debe eliminarse hacia el drenaje a través de Trampas de
Vapor, las que mecánicamente separa el agua del vapor:
Fig. 9 Trampa de Vapor
En la Fig.9 se aprecia un ejemplo de trampa de vapor, la cual por las flechas en el proceso
‘F’ se hace ingreso de vapor, y una vez que se condensa, el agua acumulada genera una poza
en donde está localizado el flotador gris, donde el agua de va hacia el drenaje, hasta que el
nivel de agua disminuya y el flotador selle la conexión al drenaje.
Una vez que el estanque del generador de vapor tenga agua, gracias a la bomba de agua, el
sensor de nivel le da la señal al Contactor, el cual energiza la bobina, realizando un puente
entre las fases que entran y salen del mismo
19
Fig. 10 Contactor Trifásico Schneider
Este contactor, esta destinado a energizar al Calefactor eléctrico, siempre y cuando se
cumplan las condiciones, que son:
- Nivel mínimo de agua.
- Presión en generador de vapor, bajo el Set.
Si esas 2 condiciones se cumplen, el contactor debiera enclavarse para suministrar con
energía eléctrica al Calefactor, para calentarse calentar el agua evaporarla y
conseguir la presión de vapor previamente seteada.
20
Fig. 11 Calefactor Eléctrico
Además, se consta de elementos de seguridad, tal como Válvulas de Seguridad, las cuales se
accionan en el caso eventual de que la presión exceda la seteada, evitando posibles
explosiones, etc.
Fig. 12 Válvulas de Seguridad
Todos los instrumentos mencionados, se unen en una unidad llamada Generador de Vapor,
que es donde, de manera automatizada, se crea el insumo principal para llevar a cabo la
esterilización; el Vapor:
21
Fig. 13 Generador de Vapor
22
Existen distintos agentes esterilizadores, tales como:
-Vapor saturado. (121º y 134º)
Fig. 14 Autoclave
23
-PHB (Peróxido de Hidrógeno, 50º)
Fig. 15 PHB
-ETO (Óxido de Etileno, 60º)
Fig. 16 ETO.
El propósito de diferenciar las técnicas de los agentes mencionados, es porque existen
productos termosensibles.
24
RS232
El autoclave se conecta a la impresora mediante RS232 (Recommended Standard 232),
interfaz que designa una norma para el intercambio serie de datos binarios entre un DTE
(Equipo terminal de datos) y un DCE (Equipo de Comunicación de datos).
Dentro de las especificaciones, tenemos las Mecánicas y las Eléctricas.
Las especificaciones Mecánicas, se tratan del conexionado. Por lo general, hablamos de un
enchufe que puede ser DB9*, DB25*, RJ12*, etc.
Fig. 17 Enchufe DB9
25
Fig. 18 Enchufe DB25
El Número alude a la cantidad de pines que tiene el enchufe; el DB9 posee 9 pines, y el
DB25, posee 25 pines.
Por otro lado, el conector RJ12, posee 6 pines por enchufe;
Fig. 19 Conector RJ12
Está estandarizado, que los pines 2, 3 y 5, corresponden a los pines Tx, Rx y GND
respectivamente, siendo el pin2 quien envía la información, el pin3 quien recibe la
información y el pin5 la tierra de la comunicación.
26
En las especificaciones Eléctricas, tenemos que si el pulso tiene un valor inferior a -3V,
significa un 1 binario, y cuando es mayor a +4V, es un 0 binario. La interfaz RS232, está
diseñada para distancias cortas, hasta 15 metros de forma recomendada, para lograr una
velocidad de comunicación de hasta 20 Kb/seg. (Ingeniatic, s.f.)
Raspberry Pi
La placa Raspberry 4 es la cuarta generación de las placas Raspberry. Esta es una placa con
sistema embebido, es decir prácticamente un computador al cual se le puede asignar diversas
tareas, de bajo coste considerando sus múltiples salidas y entradas en su hardware, como
también sus puertos USB que permiten conectar periféricos, conector ethernet, entre otros…
A continuación, se listarán las características principales del hardware de las Raspberry Pi 4
modelo B:
CPU de cuatro núcleos 1,5 GHz con brazo Cortex-A72
GPU VideoCore IV 250 MHz.
SDRAM LPDDR4 de 2 GB (Memoria Ram)
4 conectores hembra USB 2x2.0 2x3.0
Conector macho de 40 pines para buses serie y GPIO
2 conectores hembra de vídeo/audio HDMI 4K
Ranura para tarjetas microSD
Conector hembra Ethernet RJ45 10/100 BaseT
Conector DSI
Conector CSI
Conector Jack de 3,5 mm
Compatibilidad completa con los anteriores modelos de Raspberry Pi
Fuente de alimentación: +5 V a 2 A a través de conector hembra tipo C.
Dimensiones: 86 x 56 x 20 mm
27
Rasperry cuenta con una ranura para insertar tarjetas microSD lo que da la posibilidad de
instalar un sistema operativo fácilmente en una tarjeta económica de 4 GB, a pesar de que
mientras más sea la capacidad será mejor.
Una de las características principales de la placa Raspberry Pi es la capacidad de conectar
distintos dispositivos auxiliares e independientes que van directamente conectados a la
unidad central de procesamiento de la placa, con la finalidad de comunicarse con el exterior
(entradas y salidas) o de archivar y almacenar información de sistemas (memorias auxiliares).
Dentro de ellos se encuentran los siguientes dispositivos:
- Teclado y ratón.
- Cámara.
- Salida de video (HDMI)
- Servomotores
- Puertos GPIO
Fig. 20 Puertos de conexión de la Raspberry Pi 4B.
28
Características del Software
La placa de desarrollo Raspberry puede utilizar diversos tipos de sistema operativos, ya sean
gratuitos o de pago, dependiendo del uso que se le dará.
Raspbian es un sistema operativo libre y gratuito basado en Debian optimizado para el
hardware Raspberry Pi.
Raspbian ofrece más que un sistema operativo puro, ya que viene con más de 35.000
paquetes, softwares precompilados para una fácil instalación en Raspberry Pi cuando sea
necesario utilizarlos.
Este sistema operativo se encuentra disponible para descargar en la página oficial de
Raspberry, en la sección descargas.
Raspbian integra una interfaz gráfica muy similar a Windows, a la cual podremos acceder
utilizando un monitor mediante un cable HDMI o por programas terceros como VNC Viewer.
Principalmente se ingresará a esta mediante un servidor SSH utilizando el programa Putty.
Puertos GPIO:
Los puertos GPIO (General Purpose Input/Output) se trata de un bus de expansión de 40
pines en los modelos más nuevos como el modelo 2 y posteriores, ya que en las versiones
anteriores solo disponen de 26 pines. Permiten a las Raspberry Pi comunicarse con el
exterior, ya se para activar elementos como también leer el estado de estos. La tensión de
trabajo de los puertos es de 3,3 V para un 1 lógico y 0 V para un 0. Sin embargo, igual dispone
de pines de tensión de 5V y 3.3V para la alimentación de dispositivos con dicha tensión.
La corriente máxima que puede proveer cada pin es de 16 mA, siendo 50 mA la corriente
total suministrada por los puertos GPIO.
Es de suma importancia tener conocimiento sobre la cantidad de tensión que puede recibir
cada pin, ya que una sobrecarga puede provocar que la placa se queme y no vuelva a
funcionar. Por ejemplo, los chips y circuitos de la placa utilizan solo 3,3V por lo cual, si se
29
conecta un sensor que envíe una señal de 5V, la placa se sobrecargara. (Programo ERGO
SUM, s.f.)
Fig. 21 Puertos GPIO de la Raspberry Pi 2 o posterior.
TCP/IP
Siempre que uno o varios dispositivos interactúan entre sí, ya sea enviando datos o señales,
lo hacen mediante ciertos protocolos, los cuales deben cumplir normas o requisitos para la
correcta transmisión o recepción de datos. Dentro de estos protocolos de encuentra uno de
los más utilizado mundialmente en internet, TCP/IP, acrónimo el cual proviene de la unión
de dos protocolos, TCP, Protocolo de control de transmisión o en inglés “Transmission
Control Protocol” y el protocolo IP, “Internet Protocol”. (Fernandez, s.f.)
30
PROTOCOLO TCP (Transport control Protocol)
El protocolo de control de transmisión (TCP) es uno de los principales protocolos que se
encuentran en la capa de transporte dentro del Modelo OSI, este permite que la transmisión
de datos entre dispositivos puede realizarse de forma segura, ya que cuenta con un sistema
de acuse de recibo con el cual se verifica que todos los datos se hayan entregado de manera
correcta o que no exista ningún dato corrompido.
Para la correcta transmisión de datos, los dos dispositivos o maquinas deben establecer una
conexión consensuada, es decir, una maquina solicita a la otra y esta última debe aceptar la
solicitud, comenzando un entorno de Cliente-Servidor, en donde dependiendo de la función
o configuración de cada una se le asigna un rol.
Este protocolo permite dividir el flujo de información en segmentos ya sea de igual o distinto
tamaño, dependiendo de la cantidad de datos que contenga y la configuración adicional que
se agrega, además de añadir la cabecera del mismo protocolo, este segmento luego es
encapsulado en un datagrama IP para posteriormente ser enviado por la red. (Digital Guide
IONOS, s.f.)
Fig. 22 Trama TCP.
31
PYTHON
Python es un lenguaje de programación que esta orientado a objetos claros y potentes, similar
a Perl, Ruby, Scheme o Java. Algunas de las características notables de Python son:
● Utiliza una sintaxis elegante, lo que hace que los programas que se
escriben sean más fáciles de leer.
● Es un lenguaje fácil de usar que simplifica el funcionamiento de su
programa. Esto hace que Python sea ideal para el desarrollo de
prototipos y otras tareas de programación ad-hoc, sin comprometer la
mantenibilidad.
● Viene con una gran biblioteca estándar que admite muchas tareas de
programación comunes, como conectarse a servidores web, buscar texto
con expresiones regulares, leer y modificar archivos.
● Se ejecuta en cualquier lugar, incluyendo Mac OS
X , Windows , Linux y Unix , con compilaciones no oficiales también
disponibles para Android e iOS.
Amazon S3
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos
que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes en el
sector. Gracias a Amazon S3, clientes de todos los tipos y sectores pueden almacenar y
proteger cualquier volumen de datos para los más variados fines, como usarlos en lagos de
datos, sitios web, aplicaciones móviles, procesos de copia de seguridad y restauración,
32
operaciones de archivado, aplicaciones empresariales, dispositivos IoT y análisis de big data.
(Amazon, Amazon s3, s.f.)
Amazon Simple Storage Service (Amazon S3) es almacenamiento para Internet. Puede usar
Amazon S3 para almacenar y recuperar cualquier cantidad de datos en cualquier momento y
desde cualquier parte de la Web. Puede realizar estas tareas usando la Consola de
administración de AWS, que es una sencilla e intuitiva interfaz web.
Amazon S3 almacena datos a modo de objetos dentro de buckets. Un objeto es un archivo y
cualquier metadato opcional que describe el archivo. Para almacenar un archivo en Amazon
S3, lo carga a un bucket. Al cargar un archivo como objeto, puede configurar permisos en el
objeto y en cualquier metadato.
Los buckets son contenedores de objetos. Puede tener uno o más buckets. Puede controlar el
acceso de cada bucket, decidiendo quién puede crear, eliminar y enumerar objetos en él.
También puede elegir la región geográfica donde Amazon S3 almacenará el bucket y su
contenido y ver los registros de acceso para el bucket y sus objetos. (S3, s.f.)
Ejemplo de costos de almacenamiento;
Supongamos que almacena 100 GB (107 374 182 400 bytes) de datos en el tipo estándar de
Amazon S3 en su bucket durante 15 días en marzo y 100 TB (109 951 162 777 600 bytes)
de datos en el tipo estándar de Amazon S3 durante los últimos 16 días de marzo.
A finales de marzo habrá realizado el siguiente uso en bytes por hora: uso total de bytes por
hora = [107 374 182 400 bytes x 15 días x (24 horas/día)] + [109 951 162 777 600 bytes x
16 días x (24 horas/día)] = 42 259 901 212 262 400 bytes por hora.
Convirtamos esto a GB/mes: 42 259 901 212 262 400 bytes por hora/1 073 741 824 bytes
por GB/744 horas al mes = 52 900 GB/mes
Este volumen de uso cruza dos capas de volumen diferentes. El precio mensual del
almacenamiento se calcula a continuación suponiendo que los datos se almacenan en la
región de EE.UU. Este (Norte de Virginia): capa de 50 TB: 51 200 GB x 0,023 USD =
1177,60 USD, capa de 50 TB a 450 TB: 1700 GB x 0,022 USD = 37,40 USD
33
Cuota de almacenamiento total = 1177,60 USD + 37,40 USD = 1215,00 USD (Amazon,
Preguntas Frecuentes, s.f.)
Estado del arte
Cuando se habla de Autoclaves, es un área muy específica, por lo que soluciones a
problemáticas existentes no abundan como en otras áreas de, por ejemplo; Mecánica
Automotriz, Electrodomésticos, etc.
Algunos fabricantes, están trabajando para incorporar aplicaciones de trazabilidad,
monitoreo, e incluso acceso remoto a los equipos. La aplicación mencionada, es más
completa que el proyecto, pero también influye su alto costo, ya que esta mejora, se debe
añadir al precio del equipo, siendo una suma bastante considerable.
El caso más cercano, es Baumer; en Brasil, se está trabajando para diseñar una aplicación
para dispositivos móviles, capaz de monitorear el ciclo, modificar parámetros, entre otros.
En la actualidad, no hay aplicaciones similares a la que se realizó en el proyecto, por lo tanto,
puede entrar al mercado dando el puntapié inicial para lograr desarrollarlo en su máxima
expresión, siendo y demostrando, ser una tecnología de bajo costo, innovadora y capaz de
hacer ingeniería con herramientas sencillas.
34
Desarrollo
Carta Gantt
Para la organización de tiempos y recursos, se utilizó la siguiente carta Gantt, en un periodo
comprendido entre marzo y noviembre de 2020.
Fig. 23 Carta Gantt
Funcionamiento de un autoclave:
El Autoclave que se describe a continuación, es el convencional que se utiliza en la mayoría
de los centros de salud, ya que se puede esterilizar casi la totalidad del instrumental que
utilizan los especialistas de Salud, y como éstos no son termosensibles, es compatible con la
técnica típica que es Esterilizar con presión de vapor.
En primera instancia, el Autoclave debe poseer suministros necesarios, tales como energía
eléctrica y agua. Verificando que esté en orden lo anterior, se procede a encender el equipo,
seleccionar el ciclo (*) a realizar, cargar el equipo con el material a esterilizar, cerrar la puerta
y darle inicio al ciclo hasta que suene la alarma indicando la finalización.
*Ciclo:
En los Autoclaves convencionales, por lo general, disponen de 5 ciclos;
1.- Instrumental: Esterilización a 134º durante 4 minutos.
2.- Látex: Esterilización a 121º durante 20 minutos.
3.- Líquidos: Esterilización a 121º durante 30 minutos y extracción lenta.
35
4.- Bowie-Dick Test: Esterilización a 134º durante 3,5 minutos.
5.- Leak Test: Verifica hermeticidad en el equipo.
El ciclo Bowie-Dick Test es un paquete que reacciona al ser esterilizado, con el fin de
verificar un adecuado vapor saturado y en el caso de haber penetración inadecuada de vapor
o aire frío dentro de la cámara del equipo, éste resulta con manchas.
Fig. 24 Bowie-Dick Test.
El ciclo Leak Test, tal como lo dice en su nombre en inglés, es para testear un buen sellado
hermético en el equipo, realizando un profundo vacío (hasta -0.7 bar) y esperar 15 minutos
comparando la presión al inicio y al final del ciclo. Si éste varía en 0.04 BAR, resulta fallido.
Fig. 25 Gráfico Presión vs. Tiempo Leak Test
36
El ciclo completo se detalla en 4 partes;
- Pulsos de Vacío
- Esterilización
- Secado
- Aireación.
Pulsos de Vacío: El objetivo de los Pulsos de Vacío, es eliminar en su mayoría el aire
posiblemente contaminado dentro de la Cámara Interna (C.I.) del Equipo, asegurándose de
tener solo vapor saturado dentro. Son 4 Pre-Vacío y 4 Pre-Vapor; en el primero, como su
nombre lo dice, se acciona la bomba de vacío para succionar el aire dentro de la C.I. para
luego, con el Pre-Vapor, hacer ingreso de vapor saturado e ir purificando el aire.
Esterilización: Posterior al proceso de Pulsos de Vacío, comienza a ingresar vapor a la C.I.
hasta conseguir una presión de 2.1 BAR, equivalente a 134º cuando hablamos de vapor
saturado, o 1.1 Bar para 121º. Cuando se logra alcanzar la temperatura deseada, mediante
control del PLC, se mantiene durante el tiempo configurado dependiendo del ciclo
seleccionado la temperatura, que puede superar por 1,5ºC máximo, ya que, si esto sucede, el
autoclave abortará por sobrepresión, protegiendo la carga dentro del equipo.
Secado: El secado trata de realizar un vacío para lograr eliminar todo rastro de humedad en
la carga, cerciorando la completa eliminación de cualquier microorganismo maligno.
Aireación: Cuando finaliza el proceso de secado, ingresa aire a través de un filtro
Bacteriológico Hidrofóbico, con la finalidad de igualar la presión atmosférica con la Presión
de la Cámara Interna (P.C.I.)
37
Se muestra gráficamente el ciclo completo de un autoclave en el siguiente gráfico de Presión
v/s Tiempo:
Fig. 26 Gráfico Presión v/s Tiempo Ciclo Completo
38
Lo que se reflejará en la página web será la siguiente información:
Fig. 27 Registro ciclo Bowie-Dick.
Como se puede apreciar, en el encabezado se muestra el nombre del fabricante Baumer, y
posteriormente los datos de fecha, hora, el número histórico de ciclo en ese equipo, el
programa que se va a utilizar, la temperatura programada, tiempo de exposición a esa
temperatura, y tiempo de secado.
Luego, en forma de columnas, muestra la hora, la presión en la C.I., temperatura en la C.I.
y una temperatura la cual se podría interpretar como la teórica.
Este registro, imprime cada vez que cambia de estado, y a su vez, cada 3 minutos.
39
Software.
Para inicializar el sistema operativo a la Raspberry Pi 4 desde un Mac OS, se debe descargar
un programa llamado BALENA ETCHER, el cual graba la imagen del sistema operativo
Raspbian en una tarjeta de memoria micro SD, para luego añadirla en la Raspberry, y al
momento de encenderla, solo seguir los pasos para poder utilizarla.
Fig. 28 Paso 1 Balena Etcher
40
En el paso 1, debemos seleccionar la imagen previamente descargada desde el sitio web de
Raspberry en Software:
Fig. 29 Página principal Raspberry Pi
Fig. 30 Descarga Software Raspberry Pi
41
Fig. 31 Descarga Imagen Raspberry Pi
Y luego se descarga la versión más actualizada del sistema operativo.
Una vez descargado, se abre la aplicación Balena Etcher, se selecciona Flash from file, y se
busca en el ordenador, la imagen que se descargó desde el sitio de Raspberry.
Fig. 32 Selección Imagen con Balena
42
Fig. 33 Selección Imagen con Balena Etcher
Fig. 34 Selección destino de imagen
43
En este paso, se selecciona el destino, en este caso, es la tarjeta de memoria que se pondrá en
la Raspberry Pi.
Fig. 35 Selección Tarjeta de Memoria destino imagen
Le damos a Select (1) y comienza a grabar la imagen del sistema operativo en la tarjeta de
memoria.
44
Fig. 36 Grabación de Imagen en Tarjeta de Memoria
Una vez finalizada la grabación, se inserta la tarjeta de memoria microSd en la Raspberry,
para luego conectarle los periféricos necesarios para configurarla (Mouse y Teclado),
conectar cable HDMI y energizarlo con su entrada tipo C a 5V.
Hardware
Se obtuvo acceso a un microcontrolador, el cual sirve para simular el funcionamiento de un
Autoclave, para realizar pruebas de comunicación. Se deben simular entradas de seguridad
como que la puerta se encuentre cerrada, y otras señalando que el equipo está ‘listo’ para
comenzar el ciclo, tales como que haya suministro de agua, aire y vapor, los que son
necesarios para darle partida y que comience a enviar información a través de la
comunicación Serial. Se adjunta el esquema eléctrico:
45
Fig. 37 Esquema Microcontrolador
Las entradas de seguridad que se necesitan simular son:
Entradas Digitales:
X1-9 (Relé de puerta de carga (Le da partida al ciclo))
X1-8 (Relé de puerta de descarga)
X1-7 (Micro puerta de carga (Final de carrera))
X1-6 (Micro puerta de descarga (Final de carrera))
X1-5 (Presóstato Vapor)
X1-4 (Presóstato Aire)
X1-3 (Presóstato Agua)
46
Fig. 38 Esquema Eléctrico D.I.
Según muestra el esquema, a las entradas señaladas con flechas azules, deben llegar +24V,
las cuales se pueden verificar en la siguiente imagen:
47
Fig. 39 Conexión entradas digitales
Se puede apreciar los pines correspondientes a las entradas desde la X1-3 hasta la X1-9.
Una vez realizado las conexiones eléctricas, se alimenta el microcontrolador con una fuente
de poder, donde entran de 110Vac a 220Vac, saliendo 24Vdc y 10A:
Fig. 40 Fuente de Poder 24Vdc
48
Por último, antes de encender el microcontrolador, se debe realizar la conexión al enchufe de
este;
Fig. 41 Alimentación Microcontrolador
49
Diagrama de funcionamiento
A grandes rasgos, el siguiente diagrama expresa el funcionamiento en general del proyecto:
Fig. 42 Diagrama Proyecto
50
Resultados
A continuación, se muestra el prototipo final funcionando como prueba de concepto.
Se ve que la fuente de poder esta conectada con el Microcontrolador, paso base para
comenzar con las pruebas.
Fig. 43 Microcontrolador Conectado (1)
51
Fig. 44 Microcontrolador Conectado (2)
Una vez realizadas todas las conexiones, podemos encender a nuestro microcontrolador.
En el LCD del microcontrolador, pregunta de primera instancia si el usuario desea utilizar la
impresora, lo cual se presiona el Nº9 para aceptar, y el Nº8 para rechazar:
52
Fig. 45 LCD Microcontrolador (1)
Se presiona el Nº9, ya que se necesita comunicación saliente desde el puerto COM:
Fig. 46 LCD Microcontrolador (2)
En esta parte, pregunta por el ciclo a utilizar. Para navegar entre las opciones, se presiona el
botón 5 y el 0, puede ser el ciclo Pacotes 1 (134º), Pacotes 2 (121º), Líquidos, Bowie Dick,
o Leak Test. Se selecciona el ciclo Pacotes 1:
53
Fig. 47 LCD Microcontrolador (3)
Para seleccionar, se debe presionar el botón Nº9, en donde la pantalla queda así:
Fig. 48 LCD Microcontrolador (4)
Con el selector que se ve al costado izquierdo, lo giramos y comienza el ciclo, por lo que la
pantalla cambia y se envía información a través del puerto COM hacia la impresora y hacia
la Raspberry en este caso para rescatar esa información y visualizarla en la página web.
54
Fig. 49 LCD Microcontrolador (5)
Como se va a utilizar comunicación serial, debemos asegurarnos de que el emisor y el
receptor tengan el mismo rango de emisión en voltaje, ya que la comunicación RS232 trabaja
desde -12V hasta 12V; lo cual se va a testear haciendo uso de un osciloscopio. Con esto se
asegura la conectividad entre dispositivos, puesto a que pueden existir variaciones por
ejemplo que funcione a 5 o 3.3 volts, lo cual dañaría la maquina.
Fig. 50 Osciloscopio
55
En la fig10, se puede apreciar en la esquina inferior izquierda, acomodando los cursores X e
Y, que el pulso es de 12V, en ambos casos (Transmisor y Receptor). En este paso se asegura
que no debe existir algún amplificador de por medio.
Una vez que se realizó esa prueba, utilizamos un conversor de comunicación serial con
enchufe DB9 a USB, y lo conectamos directo a la Raspberry Pi 4.
Fig. 51 Microcontrolador conectado a Raspberry Pi
56
Software.
Al conectar el puerto USB en la Raspberry Pi, primero que todo, se debe confirmar el nombre
del puerto para posteriormente, especificarlo en el código Python, que es donde debe rescatar
la información.
Abriendo la Terminal, se escribe el comando ‘lsusb’ y nos ofrece información sobre todos
los dispositivos USB conectados a nuestra Raspberry Pi.
Fig. 52 Puerto USBin Raspberry Com Serial
Amazon Simple Storage Service
Después de crear una cuenta en Amazon, se crea un Bucket y a la vez las credenciales para
poder acceder a la configuración:
57
Fig. 53 Paso 1 Credenciales
Fig. 54 Paso 2 Credenciales
58
Fig. 55 Paso 3 Credenciales
En este paso, ya se asignan las credenciales para poder acceder a la configuración del Bucket
a través de la Raspberry.
Creación de un Bucket:
Fig. 56 Creación Bucket (1)
59
Fig. 57 Creación Bucket (2)
En esta parte se nombra el archivo, verificando su exclusividad global, y, además, se debe
elegir la región. El criterio de selección de la ‘Región’ depende de la distancia geográfica, ya
que, si es una distancia muy larga, la latencia será mayor, pero menor costo a comparación
de una ‘Región’ más cercana.
60
Fig. 58 Creación Bucket (3)
Se configura el acceso al público, lo que, en este caso, desactivamos todas las
configuraciones, para que sea público.
Fig. 59 Creación Bucket (4)
61
En esta parte, se elige quien puede ver el contenido del Bucket, ya que por defecto es
privado, y el arreglo JSON, lo facilita Amazon
Fig. 60 Creación Bucket (5)
Se puede modificar los métodos de acceso a la información por JavaScripts.
Fig. 61 Creación Bucket (6)
Le damos EDITAR, seleccionamos el Bucket y Amazon asigna una URL para visualizar la
información contenida en el Bucket, que en este caso es el archivo ‘output.txt’.
62
http://plc-javier.s3-website-us-east-1.amazonaws.com/
Fig. 62 Creación Bucket (7)
Se finaliza la creación del Bucket destinando el archivo ‘output.txt’ como el archivo de
texto que se visualizará en la página web.
63
Pruebas de funcionamiento:
Para realizar pruebas de funcionamiento, nuestro microcontrolador debe estar alimentado con
electricidad, al igual que la Raspberry Pi.
La Raspberry Pi debe estar conectada a algún monitor o televisor, tener conectados también
02 periféricos, que sería un Mouse y un Teclado.
Se abre la terminal de la Raspberry Pi, se escribe el comando ‘ls’ para saber que archivos o
carpetas existen en la ruta actual, por defecto, en la carpeta home/pi.
Por defecto, la primera ubicación es la carpeta principal, donde hay otra carpeta llamada
‘proyecto’, que contiene los archivos del proyecto (.txt, .py, etc…) y para ingresar a ella, solo
se debe escribir el comando ‘cd proyecto’; Con este comando, abrimos la carpeta donde ya
se tiene acceso al programa ‘.py’. En la misma terminal, se escribe el comando ‘python
plc.py’; dándole partida al programa. Basta con eso para darle partida al Microcontrolador o
PLC, comenzando a recibir la información, y cargarla a la página:
Fig. 63 Terminal Raspberry Pi
Se logra visualizar que la carpeta es ‘proyecto’, por lo que solo basta con dar la instrucción
‘python plc.py’ para darle partida al programa:
64
Fig. 64 Terminal Inicio Programa plc.py
Si no muestra algún error, y hay una especie de puntero debajo de la instrucción, es porque
el programa ya esta funcionando:
Fig. 65 Inicio Ciclo Microcontrolador
65
Se le da partida al ciclo simulado desde el microcontrolador. En ese instante, debe estar
enviando información a través de la comunicación RS232, siendo captada por la Raspberry
y cargada a la página web.
Fig. 66 Terminal Raspberry Pi recibiendo información desde Microcontrolador
En la figura anterior se comprueba que la Terminal de la Raspberry Pi está recibiendo la
información, y debería estar enviándola a la página web:
66
Fig. 67 Página web Amazon S3
Si se compara la hora y la fecha debajo del encabezado de la trama, se puede confirmar que
la información que viaja desde el Microcontrolador es recibida, decodificada, guardada en
un archivo .txt, y cargada al Bucket de Amazon S3, por lo que es posible visualizarla en la
página web.
67
Discusiones
En el transcurso del trabajo la principal dificultad fue poder conectarse con el RS232 del
autoclave, puesto a que se desconocían los niveles de voltaje y el baudaje correspondiente
para tener una buena comunicación, un buen manejo del osciloscopio permitió lograr superar
esta etapa.
Por otro lado, El sistema creado es escalable, por lo que eventualmente queda abierto el
proyecto para poder conectar futuros proyectos al Autoclave, incluso crear redes de autoclave
para centralizar el funcionamiento y sacar estadísticos de uso, mejorando principalmente, el
tiempo de respuesta para una continua utilización a lo largo del tiempo de los Autoclaves,
siendo éste el objetivo primordial.
68
Conclusiones
Como conclusión, se puede afirmar que se pudo realizar el proyecto satisfactoriamente, y a
pesar de su simplicidad, da solución a problemas reales identificados en el sistema de salud
actual de Chile, aplicando y demostrando que no es necesario gastar elevados costos en
herramientas como en este caso la Raspberry, para lograr hacer Ingeniería.
Con esto se reduce el uso de papel y se optimiza la gestión de maquinaria para cirugías o
procedimientos médicos generales en los cuales se requiera esterilizar componentes,
logrando el objetivo principal, que era visualizar la información que viaja desde el PLC o
Microcontrolador hasta la impresora del Equipo.
Lograr esto es sumamente importante, ya que, con este simple monitoreo remoto, se puede
reducir el tiempo de respuesta a los centros asistenciales por eventuales fallas en los equipos,
dado que significaría cancelar los procesos de esterilización. Esto significa; cancelar
operaciones programadas previamente hace meses, incluso años; dejar de atender a pacientes
debido a la falta de material estéril, entre otros casos reales.
El proyecto queda abierto a mejoras, como por ejemplo, guardar la información como
historial, poder descargar las impresiones en formato PDF, incluso lograr un sistema SCADA
para monitorear varios equipos ‘conectados’ de cierta manera.
Bibliografía
Amazon. (s.f.). Amazon s3. Obtenido de Amazon.com: https://aws.amazon.com/es/s3/
69
S3, A. (s.f.). aws.amazon.com. Obtenido de Introducción a Amazon Simple Storage
Service:
https://docs.aws.amazon.com/es_es/AmazonS3/latest/gsg/GetStartedWithS3.html
Amazon. (s.f.). Preguntas Frecuentes. Obtenido de Amazon Simple Storage Service:
https://aws.amazon.com/es/s3/faqs/?nc=sn&loc=7
Programo ERGO SUM. (s.f.). Contro de GPIO con Python en Raspberry Pi. Obtenido de
Programo Ergo SUM: https://www.programoergosum.com/cursos-online/raspberry-
pi/238-control-de-gpio-con-python-en-raspberry-pi/que-es-gpio
Fernandez, L. (s.f.). Redes Zone. Obtenido de Protocolos de Redes: La guía completa con
todos los protocolos básicos:
https://www.redeszone.net/tutoriales/internet/protocolos-basicos-redes/
Digital Guide IONOS. (s.f.). Ionos. Obtenido de TCP; retrato del protocolo de transporte:
https://www.ionos.es/digitalguide/servidores/know-how/que-es-tcp-transport-
control-protocol/
Wikipedia. (s.f.). Python. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Python
PC Componentes. (s.f.). Características de la nueva Raspberry Pi 4 Model B+. Obtenido
de pccomponentes.com: https://www.pccomponentes.com/caracteristicas-raspberry-
pi-4
Ingeniatic. (s.f.). Tecnología RS232. Obtenido de
https://www.etsist.upm.es/estaticos/ingeniatic/index.php/tecnologias/item/581-rs-
232.html
S3, A. (s.f.). aws.amazon.com. Obtenido de Introducción a Amazon Simple Storage
Service:
https://docs.aws.amazon.com/es_es/AmazonS3/latest/gsg/GetStartedWithS3.html
Amazon. (s.f.). Preguntas Frecuentes. Obtenido de Amazon Simple Storage Service:
https://aws.amazon.com/es/s3/faqs/?nc=sn&loc=7
70
Programo ERGO SUM. (s.f.). Contro de GPIO con Python en Raspberry Pi. Obtenido de
Programo Ergo SUM: https://www.programoergosum.com/cursos-online/raspberry-
pi/238-control-de-gpio-con-python-en-raspberry-pi/que-es-gpio
Fernandez, L. (s.f.). Redes Zone. Obtenido de Protocolos de Redes: La guía completa con
todos los protocolos básicos:
https://www.redeszone.net/tutoriales/internet/protocolos-basicos-redes/
Digital Guide IONOS. (s.f.). Ionos. Obtenido de TCP; retrato del protocolo de transporte:
https://www.ionos.es/digitalguide/servidores/know-how/que-es-tcp-transport-
control-protocol/
PC Componentes. (s.f.). Características de la nueva Raspberry Pi 4 Model B+. Obtenido
de pccomponentes.com: https://www.pccomponentes.com/caracteristicas-raspberry-
pi-4
71
Anexos
Código Python
import serial // Librería para comunicación Serial
import time
import boto3 //Comunicación con Amazon S3
from botocore.exceptions
import NoCredentialsError
import datetime
ACCESS_KEY = ‘AKIA5XAEFFKXYATWJYAK’ //Usuario y contraseña que asigna Amazon S3
SECRET_KEY = ‘tYG3VFnZ3sDp8BBeBYQuKAMRngutf60wIibCFwJP’
plc = serial.Serial(“/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-
Serial_Controller-if00-por0”, 9600, timeout=0.5 )
//Se declara Puerto USB de Raspberry por donde llega la
//comunicación serial y se establecen los baudios de la comunicación que son la
//cantidad de símbolos por segundo
filename = “output.txt”
s3 = boto3.client(‘s3’, aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
bucket = “plc-javier” //Se selecciona el archivo .py llamado ‘plc-javier’
s3_file = “output.txt” //Se selecciona el archivo ‘output.txt’ para imprimir
en página web
start_time = datetime.datetime.now( )
while True:
read = plc.readline( )
if read:
start_time = datetime.datetime.now ( )
print(read)
f = open(filename, “ab”) //append binario
f.write(read+”\n”)
f.close( ) //Cierra el archivo
try:
72
s3.upload_file(filename, bucket, s3_file)
except FileNotFoundError:
print(“The file was not found”)
except NoCredentialsError:
print(“Credentials not available”)
else:
current_time = datetime.datetime.now( )
elapsed = current_time – start _time
if int(elapsed.total_seconds( )) == 190:
//Esta instrucción es para el caso de que no reciba información
//durante 190 segundos, imprima los ‘*’, separando un ciclo de otro
fin = open(filename, “a”)
fin.write(“\n\n************************************\n\n”)
print(“ ***********************************************”)