-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathlecturaPuertoSerial.py
70 lines (64 loc) · 1.64 KB
/
lecturaPuertoSerial.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import serial # Importamos la libreira de PySerial
import json
import sqlite3
for i in range(0,10):
try:
conexion = serial.Serial('COM'+str(i), 9600, timeout=1)
puerto = 'COM'+str(i)
conexion.close()
s.close()
except serial.SerialException:
print(serial.SerialException)
arduino = serial.Serial(puerto, 9600, timeout=1) # Abrimos el puerto del arduino a 9600
# Creamos un buble sin fin
while True:
character= arduino.readline() # leemos el tipo de operación a realizar
print(character)
MyJson = character
db = sqlite3.connect('db.sqlite3')
if character != '\n' :
try:
data=json.loads(character)
print(data)
print(data['invernadero'])
curs = db.cursor()
print('INSERT INTO invernaderos_medicion (id_invernadero_id, id_parametro_id, id_sensor_id, id_actuador_id, magnitud_medicion, fecha_medicion, is_activo) values ('
+str(data['invernadero'])
+', '
+str(data['parametro'])
+', '
+str(data['sensor'])
+', '
+str(data['actuador'])
+', '
+str(data['medicion'])
+', datetime("now"), '
+str(data['estado'])
+')')
curs.execute(
'INSERT INTO invernaderos_medicion ('
+'id_invernadero_id,'
+'id_parametro_id,'
+'id_sensor_id,'
+'id_actuador_id,'
+'magnitud_medicion,'
+'fecha_medicion,'
+'is_activo'
+') values ('
+str(data['invernadero'])
+', '
+str(data['parametro'])
+', '
+str(data['sensor'])
+', '
+str(data['actuador'])
+', '
+str(data['medicion'])
+', datetime(), '
+str(data['estado'])
+')')
db.commit()
print("Se registro con exito")
except ValueError:
print("")
arduino.close()