1010from ntp import ntp_sync
1111from watchdog import watchdog
1212from wifi import wifi
13+ from leds import power_led , relay
1314
1415rtc = machine .RTC ()
15- relay_pin = machine .Pin (12 , machine .Pin .OUT , value = 0 ) # turn replay off
1616button_pin = machine .Pin (0 , machine .Pin .IN )
1717
1818
@@ -21,14 +21,9 @@ def send_web_page(writer, message=''):
2121 yield from writer .awrite ('Content-type: text/html; charset=utf-8\r \n ' )
2222 yield from writer .awrite ('Connection: close\r \n \r \n ' )
2323
24- if relay_pin .value () == 1 :
25- state = 'ON'
26- else :
27- state = 'OFF'
28-
2924 with open ('webswitch.html' , 'r' ) as f :
3025 yield from writer .awrite (f .read ().format (
31- state = state ,
26+ state = relay . state ,
3227 message = message ,
3328
3429 wifi = wifi ,
@@ -42,8 +37,9 @@ def send_web_page(writer, message=''):
4237 gc .collect ()
4338
4439
45- @asyncio .coroutine
46- def request_handler (reader , writer ):
40+ async def request_handler (reader , writer ):
41+ power_led .off ()
42+
4743 print ('\n Wait for request on %s...' % wifi .station .ifconfig ()[0 ])
4844 gc .collect ()
4945
@@ -84,17 +80,17 @@ def request_handler(reader, writer):
8480 not_found = False
8581
8682 elif url == '/?power=on' :
87- relay_pin . value ( 1 )
83+ relay . on ( )
8884 yield from send_web_page (writer , message = 'power on' )
8985 not_found = False
9086
9187 elif url == '/?power=off' :
92- relay_pin . value ( 0 )
88+ relay . off ( )
9389 yield from send_web_page (writer , message = 'power off' )
9490 not_found = False
9591
9692 elif url == '/?soft_reset' :
97- relay_pin . value ( 0 )
93+ relay . off ( )
9894 yield from send_web_page (
9995 writer ,
10096 message = (
@@ -106,7 +102,7 @@ def request_handler(reader, writer):
106102 not_found = False
107103
108104 elif url == '/?hard_reset' :
109- relay_pin . value ( 0 )
105+ relay . off ( )
110106 yield from send_web_page (
111107 writer ,
112108 message = (
@@ -124,24 +120,25 @@ def request_handler(reader, writer):
124120 gc .collect ()
125121
126122 if hard_reset :
127- for no in range (3 , 0 , - 1 ):
128- print ('Hard reset device %i wait...' % no )
129- time .sleep (1 )
123+ print ('Hard reset device wait with flash LED...' )
124+ power_led .flash (sleep = 0.1 , count = 20 )
130125 print ('Hard reset device...' )
131126 machine .reset ()
132127 sys .exit ()
133128
134129 if soft_reset :
135- for no in range (3 , 0 , - 1 ):
136- print ('Soft reset device %i wait...' % no )
137- time .sleep (1 )
130+ print ('Soft reset device wait with flash LED...' )
131+ power_led .flash (sleep = 0.1 , count = 20 )
138132 print ('Soft reset device...' )
139133 sys .exit ()
140134
141135 watchdog .feed ()
136+ power_led .on ()
142137
143138
144139def main ():
140+ power_led .off ()
141+
145142 s = 1
146143 while not wifi .is_connected :
147144 print ('Wait for WiFi connection %s sec.' % s )
0 commit comments