from machine import Pin, I2C, ADC
import random
from pymenu import *
import ssd1306
from time import sleep, localtime, time
from viewer import Viewer
from sdCardManager import sdCardManager
from Config import Config
from ds3231 import DS3231_RTC
import ntptime
from ConnectionManaging import ConnectionManaging
# DS3231 on 0x68
I2C_ADDR = 0x68 # DEC 104, HEX 0x68
i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=800000)
ds = DS3231_RTC(i2c) #RTC
switch = False
pot = ADC(Pin(34))
pot.atten(ADC.ATTN_11DB) #Full range: 3.3v
pot1 = ADC(Pin(35))
pot1.atten(ADC.ATTN_11DB) #Full range: 3.3v
pot2 = ADC(Pin(25))
pot2.atten(ADC.ATTN_11DB) #Full range: 3.3v
pot3 = ADC(Pin(33))
pot3.atten(ADC.ATTN_11DB) #Full range: 3.3v
pot4 = ADC(Pin(32))
pot4.atten(ADC.ATTN_11DB) #Full range: 3.3v
config = Config()
sd = sdCardManager()
conn = ConnectionManaging('Wokwi-GUEST', '',"myfishtank.altervista.org")
#print(conn.connection_status())
is_connect = conn.connect()
print(conn.connection_status())
ntptime.settime()
#conn.post_https_request("Ec", "530", "Date", "1739311432")
#conn.send_value_to_web("526", "Ec", "1739311450")
is_conn = conn.disconnect()
#print(conn.connection_status())
print(list(localtime()))
ds.datetime = localtime()
# Get the Unix timestamp
#unix_epoch_time = ds.unix_epoch_time(time())
#print("Unix epoch time:", unix_epoch_time)
if(sd.if_exist_configuration()):
file_json = sd.get_configuration()
config.from_json(file_json)
else:
sd.set_configuration(config.to_dict())
countdown_menu = 0
viewer = Viewer(config, sd, i2c)
while True:
key=0
if pot.read() > 2000:
key=1
if pot4.read() > 2000:
key=2
if pot2.read() > 2000:
key=5
if pot3.read() > 2000:
key=4
if pot1.read() > 2000:
key=3
if key == 1:
if viewer.is_enabled_menu:
countdown_menu = 0
viewer.menu.move(-1)
if key == 2:
if viewer.is_enabled_menu:
countdown_menu = 0
viewer.menu.move(1)
if key == 5:
if not viewer.is_enabled_menu:
viewer.is_enabled_menu = True
else:
countdown_menu = 0
viewer.menu.click()
if key == 4:
if viewer.is_enabled_menu:
countdown_menu = 0
viewer.menu.shift(1)
if key == 3:
if viewer.is_enabled_menu:
countdown_menu = 0
viewer.menu.shift(-1)
viewer.run(ds.time)
#print(config.get_connection_action())
if viewer.is_enabled_menu:
countdown_menu = countdown_menu + 1
if countdown_menu == 100:
countdown_menu = 0
viewer.is_enabled_menu = False
sd.set_configuration(config.to_dict())
print(config.to_dict())
#print(str(countdown_menu) + " " + str(ds.time))
sleep(0.1)