-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimportation_courant_v4_git.py
141 lines (131 loc) · 5.31 KB
/
importation_courant_v4_git.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# !/usr/bin/python3
# coding: utf-8
import os
n_tiret=80
os.system('sudo clear')
print("-" * n_tiret)
print(" \ /\ / ")
print(" \ / \ / ")
print(" \ / \ / ")
print(" \/ \/ ")
print("-" * n_tiret)
print(" importation_courant_v4.py sur ttyACM0--_03_11_2023 ")
print(" V4 ")
print(" Programme acquisition arduino importation et creation fichiers csv ")
print("-" * n_tiret)
from datetime import datetime
print(datetime.now().strftime("le %d %m %y a %H h %M"))
print("-" * n_tiret)
print("Liste des ARDUINO sur USB")
commande_linux = os.system('ls /dev/ttyACM*')
print("-" * n_tiret)
print("Forcage du port usb0 pour ARDUINO en lecture/ecriture")
commande_linux = os.system('sudo chmod -R 777 /dev/ttyACM0')
print("-" * n_tiret)
print(" ")
from datetime import datetime
print(datetime.now().strftime("Demarrage du programme le %d %m %y a %H h %M"))
print(" ")
import serial
ser = serial.Serial('/dev/ttyACM0', 9600)
vidage = ser.readline()
while 1 :
sortie = ser.readline()
print("Entree en boucle")
from datetime import datetime
print("-" * n_tiret)
print(datetime.now().strftime("Reception d'un paquet de donnees le %d %m %y a %H h %M"))
print("I_solaire,U_secteur,I_general,I_chf_eau,I_zoe,I_PAC")
print (sortie)
sortie = str(sortie)
sortie = sortie[:-5] #suppression des caratères de fin de la trame captée
sortie = sortie[2:] #suppression des caratères de debut de la trame captée
print (sortie)
print("-" * n_tiret)
NomFichier_csv = '/var/www/html/ifr.csv'
Fichier = open (NomFichier_csv,'a')
Fichier.write(datetime.now().strftime("%y/%m/%d/%H/%M"))
Fichier.write (sortie)
Fichier.write ("\n'") #permet le saut à la ligne sur le fichier csv
Fichier.close()
#print(" ")
print("Creation des fichiers jour semaine mois vide avec les legendes")
fichier_jour = '/var/www/html/jour.csv'
Fichier = open (fichier_jour,'w')
Fichier.write("Date,I_solaire,U_secteur,I_general,I_PAC,I_zoe,I_chf_eau,I_maison")
Fichier.close()
fichier_semaine = '/var/www/html/semaine.csv'
Fichier = open (fichier_semaine,'w')
Fichier.write("Date,I_solaire,U_secteur,I_general,I_PAC,I_zoe,I_chf_eau,I_maison")
Fichier.close()
fichier_mois = '/var/www/html/mois.csv'
Fichier = open (fichier_mois,'w')
Fichier.write("Date,I_solaire,U_secteur,I_general,I_PAC,I_zoe,I_chf_eau,I_maison")
Fichier.close()
print(" Fichiers crees")
print("Creation du fichier Jour_tmp")
from collections import deque
def tail(path, n):
with open(path, 'r') as f:
data = ''.join(deque(f, n))
return data
FILEIN = "/var/www/html/ifr.csv"
FILEOUTPUT = "/var/www/html/jour_tmp.csv"
data = tail(FILEIN, 144) # Les 144 dernières lignes du fichier
with open(FILEOUTPUT, 'w') as f:
f.write(data)
print(" Fichier Jour Temporaire cree")
print("Creation du fichier semaine_tmp")
from collections import deque
def tail(path, n):
with open(path, 'r') as f:
data = ''.join(deque(f, n))
return data
FILEIN = "/var/www/html/ifr.csv"
FILEOUTPUT = "/var/www/html/semaine_tmp.csv"
data = tail(FILEIN, 1008) # Les 1008 dernières lignes du fichier
with open(FILEOUTPUT, 'w') as f:
f.write(data)
print(" Fichier semaine temporaire cree")
print("Creation du fichier mois_tmp")
from collections import deque
def tail(path, n):
with open(path, 'r') as f:
data = ''.join(deque(f, n))
return data
FILEIN = "/var/www/html/ifr.csv"
FILEOUTPUT = "/var/www/html/mois_tmp.csv"
data = tail(FILEIN, 4320) # Les 4320 dernières lignes du fichier
with open(FILEOUTPUT, 'w') as f:
f.write(data)
print(" Fichier mois temporaire cree")
#print(" ")
print("Ecriture du temporaire dans fichier jour.cvs")
fichier = open("/var/www/html/jour_tmp.csv", "r" )
contenu = fichier.read()
Fichier.close()
fichier_jour = '/var/www/html/jour.csv' #definition de jour.csv
Fichier = open (fichier_jour,'a')
Fichier.write ("\n"+contenu)
Fichier.close()
print("Ecriture du temporaire dans fichier semaine.cvs")
fichier = open("/var/www/html/semaine_tmp.csv", "r" )
contenu = fichier.read()
Fichier.close()
fichier_semaine = '/var/www/html/semaine.csv' #definition de semaine.csv
Fichier = open (fichier_semaine,'a')
Fichier.write ("\n"+contenu)
Fichier.close()
print("Ecriture du temporaire dans fichier mois.cvs")
fichier = open("/var/www/html/mois_tmp.csv", "r" )
contenu = fichier.read()
Fichier.close()
fichier_mois = '/var/www/html/mois.csv' #definition de mois.csv
Fichier = open (fichier_mois,'a')
Fichier.write ("\n"+contenu)
Fichier.close()
print(" ")
print(" Fin pour cette reception")
print("-" * n_tiret)
print(" ")
print(" ")