Toggle Navigation
Hatchery
Eggs
clock_weather_spacestate
__init__.py
Users
Badges
Login
Register
MCH2022 badge?
go to mch2022.badge.team
__init__.py
raw
Content
## Based on Pretty clock ## Added timezone support ## Set up your timezone from the terminal by entering: ## machine.nvs_setstr('system', 'timezone', 'YOURTIMEZONE') ## Get your YOURTIMEZONE from ## https://remotemonitoringsystems.ca/time-zone-abbreviations.php import rgb, wifi, buttons, defines, system, machine, time from default_icons import animation_connecting_wifi, icon_no_wifi direction = 0 brightness = rgb.getbrightness() rgb.clear() rtc=machine.RTC() timezone = machine.nvs_getstr('system', 'timezone') if timezone is None: timezone = 'CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00' machine.RTC().timezone(timezone) # colors colors = [ # white, red, purple, blue, teal, green, yellow (255, 255, 255), (255, 0, 0), (255, 0, 255), ( 0, 0, 255), ( 0, 255, 255), ( 0, 255, 0), (255, 255, 0), ] color = 0 if not wifi.status(): data, size, frames = animation_connecting_wifi rgb.clear() rgb.framerate(3) rgb.gif(data, (12, 0), size, frames) wifi.connect() if wifi.wait(): rgb.clear() rgb.framerate(20) else: print('No wifi') rgb.clear() rgb.framerate(20) data, frames = icon_no_wifi rgb.image(data, (12, 0), (8,8)) time.sleep(3) rgb.clear() if not wifi.status(): print("Error connecting to wifi") system.reboot() while rtc.now()[0]==1970: rtc.ntp_sync('pool.ntp.org') wifi.disconnect() UP, DOWN, LEFT, RIGHT = defines.BTN_UP, defines.BTN_DOWN, defines.BTN_LEFT, defines.BTN_RIGHT A, B = defines.BTN_A, defines.BTN_B def input_up(pressed): global direction direction = UP def input_down(pressed): global direction direction = DOWN def input_left(pressed): global direction direction = LEFT def input_right(pressed): global direction direction = RIGHT def input_B(pressed): global direction direction = B def input_A(pressed): global direction direction = A buttons.register(UP, input_up) buttons.register(DOWN, input_down) buttons.register(LEFT, input_left) buttons.register(RIGHT, input_right) buttons.register(B, input_B) buttons.register(A, input_B) tmold = 70 rgb.background((0,0,0)) rgb.clear() rgb.framerate(1) while direction != B: if direction == DOWN: color = (color - 1) % (len(colors)) direction = 0 print(color) tmold = 70 time.sleep(0.5) if direction == UP: color = (color + 1) % (len(colors)) direction = 0 print(color) tmold = 70 time.sleep(0.5) if direction == LEFT: if brightness > 3: brightness=brightness-1 rgb.brightness(brightness) print(brightness) direction = 0 if direction == RIGHT: if brightness < 32: brightness=brightness+1 rgb.brightness(brightness) print(brightness) direction = 0 th = rtc.now()[3] tm = rtc.now()[4] sth = '%02d' % th stm = '%02d' % tm if tm != tmold: rgb.clear() rgb.text(sth, colors[color], (3, 0)) rgb.text(stm, colors[color], (18, 0)) tmold = tm time.sleep(0.2) system.reboot() # TODO # from https://badge.team/files/8649 # weather app # get data from https://gpsgadget.buienradar.nl/data/raintext?lat=51&lon=3 def draw_chart(data,dy,height,barsize): #[],10,20,4 n = 0 for v in data: spacer = 1 mm = int(v[0]) time = v[1] if time == "19:55": mm = 40 barsize=4 x=n*(barsize+spacer)+spacer barheight=int(height/255*mm) y=dy-barheight cx=barsize cy=barheight+1 ugfx.area(x,y,cx,cy, ugfx.BLACK) # printRain(36) n+=1 # print(mm,time,n,x,y,cx,cy) def get_data(): wifi.init() wait_wifi() #try: response = urequests.get("https://br-gpsgadget-new.azurewebsites.net/data/raintext/?lat=52.28&lon=5.53")