9 changed files with 190 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||||
|
# Default ignored files |
||||
|
/shelf/ |
||||
|
/workspace.xml |
@ -0,0 +1,10 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<module type="PYTHON_MODULE" version="4"> |
||||
|
<component name="NewModuleRootManager"> |
||||
|
<content url="file://$MODULE_DIR$"> |
||||
|
<excludeFolder url="file://$MODULE_DIR$/.venv" /> |
||||
|
</content> |
||||
|
<orderEntry type="inheritedJdk" /> |
||||
|
<orderEntry type="sourceFolder" forTests="false" /> |
||||
|
</component> |
||||
|
</module> |
@ -0,0 +1,6 @@ |
|||||
|
<component name="InspectionProjectProfileManager"> |
||||
|
<settings> |
||||
|
<option name="USE_PROJECT_PROFILE" value="false" /> |
||||
|
<version value="1.0" /> |
||||
|
</settings> |
||||
|
</component> |
@ -0,0 +1,7 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<project version="4"> |
||||
|
<component name="Black"> |
||||
|
<option name="sdkName" value="Python 3.12 (csv_wr)" /> |
||||
|
</component> |
||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (csv_wr)" project-jdk-type="Python SDK" /> |
||||
|
</project> |
@ -0,0 +1,8 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<project version="4"> |
||||
|
<component name="ProjectModuleManager"> |
||||
|
<modules> |
||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/csv_wr.iml" filepath="$PROJECT_DIR$/.idea/csv_wr.iml" /> |
||||
|
</modules> |
||||
|
</component> |
||||
|
</project> |
|
@ -0,0 +1,21 @@ |
|||||
|
import csv |
||||
|
import datetime |
||||
|
import random |
||||
|
|
||||
|
#definice senzrorů |
||||
|
senzory = [ "DHT11 vlhkost","DHT11 teplota", "HC-SR04 vzdalenost"] |
||||
|
|
||||
|
#otevření souboru |
||||
|
with open("data.csv", "a", newline="") as csvfile: |
||||
|
writer = csv.writer(csvfile) #zapisovatel |
||||
|
now = datetime.datetime.now() #aktualní datum a čas |
||||
|
if csvfile.tell() == 0: #zajistit hlavičku souboru |
||||
|
writer.writerow(["Datum a cas"] + [senzor for senzor in senzory]) |
||||
|
|
||||
|
hodnoty = [ #simulatce dat |
||||
|
random.randint(30,80), #vlhkost |
||||
|
random.randint(20,28), #teplota |
||||
|
random.randint(20,200) #vzdalenost |
||||
|
] |
||||
|
#zapis dat |
||||
|
writer.writerow([now.strftime("%Y-%m-%d %H:%M:%S")] + hodnoty) |
@ -0,0 +1,48 @@ |
|||||
|
import csv |
||||
|
import matplotlib.pyplot as plt |
||||
|
import datetime |
||||
|
|
||||
|
with open("data.csv", "r") as csvfile: |
||||
|
reader = csv.reader(csvfile) |
||||
|
|
||||
|
next(reader,None) |
||||
|
|
||||
|
data_cas = [] |
||||
|
data_vlhkost = [] |
||||
|
data_teplota = [] |
||||
|
data_vzdalenost = [] |
||||
|
|
||||
|
for row in reader: |
||||
|
datum_cas = row[0] |
||||
|
|
||||
|
try: |
||||
|
datetime_object = datetime.datetime.strptime(datum_cas, "%Y-%m-%d %H:%M:%S") |
||||
|
except ValueError: |
||||
|
print(f"Chybní format data a času: {datum_cas}") |
||||
|
|
||||
|
data_cas.append(datetime_object) |
||||
|
data_vlhkost.append(float(row[1])) |
||||
|
data_teplota.append(float(row[2])) |
||||
|
data_vzdalenost.append(float(row[3])) |
||||
|
|
||||
|
#print(data_vlhkost) #test |
||||
|
|
||||
|
plt.subplot(311) # 3 řádky, 1 sloupec, 1. graf |
||||
|
plt.plot(data_cas, data_vlhkost, label="Vlkost") |
||||
|
plt.legend() |
||||
|
plt.xticks(visible=False) |
||||
|
plt.title("Vlhkost") |
||||
|
|
||||
|
plt.subplot(312) # 3 řádky, 1 sloupec, 2. graf |
||||
|
plt.plot(data_cas, data_teplota, label="teplota") |
||||
|
plt.legend() |
||||
|
plt.xticks(visible=False) |
||||
|
|
||||
|
plt.title("teplota") |
||||
|
|
||||
|
plt.subplot(313) # 3 řádky, 1 sloupec, 3. graf |
||||
|
plt.plot(data_cas, data_vzdalenost, label="vzdalenost") |
||||
|
plt.legend() |
||||
|
plt.title("vzdalenost") |
||||
|
|
||||
|
plt.show() |
@ -0,0 +1,26 @@ |
|||||
|
import csv |
||||
|
import datetime |
||||
|
import random |
||||
|
import time |
||||
|
|
||||
|
#definice senzrorů |
||||
|
senzory = [ "DHT11 vlhkost","DHT11 teplota", "HC-SR04 vzdalenost"] |
||||
|
|
||||
|
#otevření souboru |
||||
|
with open("data.csv", "a", newline="") as csvfile: |
||||
|
writer = csv.writer(csvfile) #zapisovatel |
||||
|
|
||||
|
if csvfile.tell() == 0: # zajistit hlavičku souboru |
||||
|
writer.writerow(["Datum a cas"] + [senzor for senzor in senzory]) |
||||
|
|
||||
|
for i in range(30): |
||||
|
now = datetime.datetime.now() #aktualní datum a čas |
||||
|
hodnoty = [ #simulatce dat |
||||
|
random.randint(30,80), #vlhkost |
||||
|
random.randint(20,28), #teplota |
||||
|
random.randint(20,200) #vzdalenost |
||||
|
] |
||||
|
#zapis dat |
||||
|
writer.writerow([now.strftime("%Y-%m-%d %H:%M:%S")] + hodnoty) |
||||
|
print(f"{i+1}/30") |
||||
|
time.sleep(1) |
Loading…
Reference in new issue