Detalles del programa XXX

Se utiliza para registrar y comprender la lógica del programa de programas de PC.

1. El papel del programa

De acuerdo con las instrucciones del autor original ( descripción del archivo.txt ), la función principal de este programa ( PC.py ) es extraer el archivo de registro generado por un dispositivo en una carpeta determinada ( se puede ver en la información en la configuración que es Ag_T_8 ), y luego extrae algunos de los datos requeridos, los procesa y los coloca en la base de datos.

La parte principal del archivo es solo el programa PC.py, y el resto es para él. El autor original empaquetó el archivo .py en un archivo .exe y lo configuró para que se ejecutara en segundo plano.

2. Principales bibliotecas involucradas

  1. Mqtt: MQTT es un protocolo ligero de transmisión de mensajes en modo publicación-suscripción, especialmente diseñado para aplicaciones de IoT con poco ancho de banda y entornos de red inestables. Se puede entender que esto se utiliza para comunicarse entre diferentes software.

    mqtt se divide principalmente en tres partes, a saber, el corredor del servidor y varios clientes ( aquí se usa paho-mqtt ). El cliente necesita conocer cuatro datos sobre el cliente si desea conectarse al servidor, que son: servidor corredor ① dirección; ② puerto; ③ tema y ④ ID de cliente. Estas cuatro informaciones se configuran en el archivo config.json, correspondientes a mqtt_broker, mqtt_port, mqtt_topic, mqtt_client_id respectivamente.

Nota: El autor original comentó todo el contenido sobre mqtt y no utilizó la comunicación mqtt. Sin embargo, la información de configuración sobre mqtt en config aún debe completarse; de ​​lo contrario, se informará un error debido a la lectura. Este debería ser el Razón original: El desarrollador anterior al autor lo configuró para otros fines y puede ignorarse aquí.

  1. pyodbc: una biblioteca utilizada para operaciones de bases de datos. El autor aquí utiliza pypyodbc (una implementación pura de python de pyodbc), que puede entenderse como una herramienta para escribir archivos leídos en la base de datos.
    La base de datos puede considerarse como una tabla de Excel. Pyodbc puede realizar operaciones como adiciones, eliminaciones, modificaciones y consultas en esta tabla. Sin embargo, a diferencia de Excel, la base de datos se opera mediante comandos línea por línea y es necesario establecer una conexión. debe realizarse antes de su uso. La conexión requiere Los parámetros y los parámetros correspondientes en config.json son:
    ①Dirección IP de la base de datos/ mssql_ip ;
    ②Número de puerto de la base de datos/ mssql_port ;
    ③Nombre de usuario de inicio de sesión/ mssql_user ;
    ④Contraseña correspondiente al nombre de usuario/ mssql_password ;
    ⑤Iniciar sesión nombre de la base de datos/ mssql_db

  2. perro guardián: Piense en ello como una biblioteca utilizada para monitorear si los archivos en una carpeta han cambiado.

3. Lógica empresarial

Todo el procesamiento de datos está encapsulado en FileHandler . Cuando se inicia el programa, ejecutará la función de ejecución en la clase FileWatcher. Esta función de ejecución ejecutará la clase FileHandler
1. Cuando haya un nuevo archivo en la carpeta correspondiente a "log_path" en la configuración .json La generación del archivo se registrará en el archivo de registro logging.conf
2. Si el nuevo archivo generado no termina en .dat, no se realizará ninguna operación
3. Si termina en .dat, lea el archivo .dat y extraiga it. Información relacionada
4. El autor original proporcionó 6 casos de prueba en el registro de datos. Aquí tomamos el primer archivo 1_2111001232800464_230719211823.dat como ejemplo para explicar qué información se extrae de él.
5. Primero, la referencia, sn, se extrae del primeras dos líneas de todo el archivo: hora de inicio, hora de finalización y tiempo de ciclo, para la situación de extracción específica, consulte: 6. Luego revise todo el texto siguiente. Si
Insertar descripción de la imagen aquí
aparece "|01" , significa que se ha producido un error. Luego mire Utilícelo línea por línea para encontrar dónde aparece esto. En una línea, se extrae el código de error. "|01" . El código de error extraído es 1%led1_color, como se muestra en la siguiente figura:
Insertar descripción de la imagen aquí
7. Si se produce un error, el resultado es fallido y el código de error es el código de error extraído anteriormente. Si no se produce ningún error, el resultado es aprobado y el código de error esNone

8. Además, hay dos parámetros en config.json: "equipment_code" y "equipment_name" Estos dos valores correspondientes también se registrarán.

9. Los valores de todos los registros son como se muestra a continuación:
Insertar descripción de la imagen aquí
10. Se obtuvieron un total de 10 parámetros y todos fueron escritos en la base de datos, sus nombres en la base de datos son:
referencia, sn, resultado_prueba, código_error, tiempo_creación, nombre_equipo, código_equipo, hora_inicio, hora_final, tiempo_ciclo. están escritos en forma de cadenas


otras instrucciones

Cosas que deben configurarse:
solo necesita configurar el archivo config.dat en la carpeta de configuración. El significado de cada parámetro es:
Insertar descripción de la imagen aquí

Nota: Para ejecutar este programa, necesita usar algunas otras bibliotecas y bases de datos de Python. Puede ejecutar el archivo .py directamente o empaquetarlo en un archivo .exe para ejecutarlo. Si desea empaquetarlo, es otra cosa. El archivo .spec está relacionado con el empaquetado. La configuración no tiene nada que ver con la lógica de ejecución de este programa. Si desea conocer las operaciones relacionadas con el empaquetado, puede echar un vistazo a la biblioteca pyinstaller.

Supongo que te gusta

Origin blog.csdn.net/qq_41926099/article/details/132406913
Recomendado
Clasificación