Python - Creación base de datos en thonny (muy básico)

 
Vista:

Creación base de datos en thonny (muy básico)

Publicado por Amparo (1 intervención) el 11/12/2020 14:21:29
Hola, soy una analfabeta total en Python. Estoy creando una base de datos con Thonny para un trabajo de la universidad.
El programa pretende crear esta BBDD a partir de lo sacado de Arduino (arduino esta controlando la temperatura de una resistencia, regulando, en funcion de la señal que nos da una resistencia sensora, si hay que seguir o no calentando).
La BBDD se utilizará posteriormente para trabajar con Odoo, un programa ERP (usa PostgreSQL).

Con las ppautas que nos han dado en clase, he creado este pequeño código, que me da SyntaxError, pero no sé en donde:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import psycopg2
import serial
import time
from datetime import datetime, time, timedelta
 
#Bucle que ejecute siempre
while True:
    #conex con la BBDD del trabajo
    try:
        conn=psycopg2.connect(host="localhost",database="control_t_horno",user="openpg",password="openpgpwd")
 
    except:
            print("No lee la base de datos")
            #abre cursor para realizar ops de la base de datos
            cur=conn.cursor
            print("Hacemos una búsqueda en la tabla workcenter_line para conocer que orden de fabricacion en el Horno está en estado de startworking")
 
            cur.execute("Select id from mrp_production where state='progress'")
            #Se define lista para el id del centro que cumple las condiciones
            id=[]
            id=cur.fetchone()
            orden=id[0]
 
            if id:
                arduino=serial.Serial('COM10',9600)
                rawString=float(arduino.redline())
                print(rawString)
                arduino.close()
                print("El id es -->")
                print("id")
                #Sentencia para insertar los datos de la BBDD en la tabla
                cur.execute("INSERT INTO x_temperatura(CREATE_UID,CREATE_DATE,x_temp,WRITE_UID,x_unidades,x_order, WRITE_DATE)")
                VALUES((%s,%s,%s,%s,%s,%s,%s),(1,datetime.now(),rawString,1,'grados',order,datetime.now()))
 
                conn.commit()
                print("se ha grabado el dato")
                cur.close()
                conn.close()
                time.sleep(4)
 
            else:
                print("No hay ninguna orden de trabajo en proceso")
                time.sleep(8)


Espero que alguiien pueda ayudarme, un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Creación base de datos en thonny (muy básico)

Publicado por tincopasan (1082 intervenciones) el 11/12/2020 14:44:02
es muy díficil de leer el código como lo has puesto para ver si hay errores de indentado por ejemplo.
ciuando publiques código estrá el tag </>Código que permite mantener el formato que estás usando.
poner la cadena de error que da también ayuda a quien lee.
mirando rápidamente tu código:
1
rawString=float(arduino.redline())

la biblioteca pyserial no trae la función redline, es readline()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar