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