From f11fcbf606e3db8c906ece5d0fadf2287fdfebcf Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 11 Dec 2017 14:38:41 +0100 Subject: [PATCH] applied pycharm "reformat file" fixes: - indentation: tabs -> 4 spaces - spaces around operators - other pep8 issues --- main.py | 137 ++++++++++++----------- networkconfig.py | 277 ++++++++++++++++++++++++----------------------- 2 files changed, 209 insertions(+), 205 deletions(-) diff --git a/main.py b/main.py index ff0711f..9181aa8 100644 --- a/main.py +++ b/main.py @@ -1,77 +1,76 @@ import network import networkconfig import time + wlan_sta = network.WLAN(network.STA_IF) -def do_connect(ntwrk_ssid, netwrk_pass): - sta_if = network.WLAN(network.STA_IF) - sta_if.active(True) - if not sta_if.isconnected(): - print('try to connect : '+ntwrk_ssid+' network...') - sta_if.connect(ntwrk_ssid, netwrk_pass) - a=0 - while not sta_if.isconnected() | (a > 99) : - time.sleep(0.1) - a+=1 - print('.', end='') - if sta_if.isconnected(): - print('\nConnected. Network config:', sta_if.ifconfig()) - return (True) - else : - print('\nProblem. Not Connected to :'+ntwrk_ssid) - return (False) -def check_connection (): - global wlan_sta - # Firstly check is there any connection - if wlan_sta.isconnected(): - return (True) - try: - # connection of ESP to WiFi takes time - # wait 3 sec. and try again. - time.sleep(3) - if not wlan_sta.isconnected(): - # inside passwd file. there are list of WiFi network CSV file - f = open("passwd.dat") - data = f.readlines() - f.close() - # Search WiFi's in range - ssids_found = wlan_sta.scan() - - # matching... - for ipass in data: - ssid_list= ipass.strip("\n").split(";") - - for i in ssids_found: - if ssid_list[0] in i[0]: - print ("OK. WiFi is Founded") - if do_connect(ssid_list[0],ssid_list[1]): - return (True) - - if not wlan_sta.isconnected(): - if networkconfig.start(): - return (True) - else: - return (True) - - except OSError: - # Web server for connection manager - if networkconfig.start(): - return (True) - - return (False) - -if check_connection (): - - # Main Code is here - print ("ESP OK") - # to import your code; - # import sample_mqtt.py +def do_connect(ntwrk_ssid, netwrk_pass): + sta_if = network.WLAN(network.STA_IF) + sta_if.active(True) + if not sta_if.isconnected(): + print('try to connect : ' + ntwrk_ssid + ' network...') + sta_if.connect(ntwrk_ssid, netwrk_pass) + a = 0 + while not sta_if.isconnected() | (a > 99): + time.sleep(0.1) + a += 1 + print('.', end='') + if sta_if.isconnected(): + print('\nConnected. Network config:', sta_if.ifconfig()) + return (True) + else: + print('\nProblem. Not Connected to :' + ntwrk_ssid) + return (False) + + +def check_connection(): + global wlan_sta + # Firstly check is there any connection + if wlan_sta.isconnected(): + return (True) + try: + # connection of ESP to WiFi takes time + # wait 3 sec. and try again. + time.sleep(3) + if not wlan_sta.isconnected(): + # inside passwd file. there are list of WiFi network CSV file + f = open("passwd.dat") + data = f.readlines() + f.close() + # Search WiFi's in range + ssids_found = wlan_sta.scan() + + # matching... + for ipass in data: + ssid_list = ipass.strip("\n").split(";") + + for i in ssids_found: + if ssid_list[0] in i[0]: + print("OK. WiFi is Founded") + if do_connect(ssid_list[0], ssid_list[1]): + return (True) + + if not wlan_sta.isconnected(): + if networkconfig.start(): + return (True) + else: + return (True) + + except OSError: + # Web server for connection manager + if networkconfig.start(): + return (True) + + return (False) + + +if check_connection(): + + # Main Code is here + print("ESP OK") +# to import your code; +# import sample_mqtt.py else: - print ("There is something wrong") - - - - - + print("There is something wrong") diff --git a/networkconfig.py b/networkconfig.py index 411d577..34738f2 100644 --- a/networkconfig.py +++ b/networkconfig.py @@ -7,55 +7,58 @@ wlan_ap = network.WLAN(network.AP_IF) wlan_sta = network.WLAN(network.STA_IF) # setup for ssid -ssid_name= "WifiManager" +ssid_name = "WifiManager" ssid_password = "tayfunulu" server_socket = None + def do_connect(ntwrk_ssid, netwrk_pass): - sta_if = network.WLAN(network.STA_IF) - sta_if.active(True) - if not sta_if.isconnected(): - print('try to connect : '+ntwrk_ssid+' network...') - sta_if.active(True) - sta_if.connect(ntwrk_ssid, netwrk_pass) - a=0 - while not sta_if.isconnected() | (a > 99) : - time.sleep(0.1) - a+=1 - print('.', end='') - if sta_if.isconnected(): - print('\nConnected. Network config:', sta_if.ifconfig()) - return (True) - else : - print('\nProblem. Not Connected to :'+ntwrk_ssid) - return (False) + sta_if = network.WLAN(network.STA_IF) + sta_if.active(True) + if not sta_if.isconnected(): + print('try to connect : ' + ntwrk_ssid + ' network...') + sta_if.active(True) + sta_if.connect(ntwrk_ssid, netwrk_pass) + a = 0 + while not sta_if.isconnected() | (a > 99): + time.sleep(0.1) + a += 1 + print('.', end='') + if sta_if.isconnected(): + print('\nConnected. Network config:', sta_if.ifconfig()) + return (True) + else: + print('\nProblem. Not Connected to :' + ntwrk_ssid) + return (False) + def send_response(client, payload, status_code=200): - client.sendall("HTTP/1.0 {} OK\r\n".format(status_code)) - client.sendall("Content-Type: text/html\r\n") - client.sendall("Content-Length: {}\r\n".format(len(payload))) - client.sendall("\r\n") - - if len(payload) > 0: - client.sendall(payload) + client.sendall("HTTP/1.0 {} OK\r\n".format(status_code)) + client.sendall("Content-Type: text/html\r\n") + client.sendall("Content-Length: {}\r\n".format(len(payload))) + client.sendall("\r\n") + + if len(payload) > 0: + client.sendall(payload) + def handle_root(client): - global wlan_sta - response_header = """ + global wlan_sta + response_header = """

Wi-Fi Client Setup

@@ -74,130 +77,132 @@ def handle_root(client): """ - send_response(client, response_header + response_variable + response_footer) + send_response(client, response_header + response_variable + response_footer) + def handle_configure(client, request): - match = ure.search("ssid=([^&]*)&password=(.*)", request) + match = ure.search("ssid=([^&]*)&password=(.*)", request) - if match is None: - send_response(client, "Parameters not found", status_code=400) - return (False) - # version 1.9 compatibility - try: - ssid = match.group(1).decode("utf-8").replace("%3F","?").replace("%21","!") - password = match.group(2).decode("utf-8").replace("%3F","?").replace("%21","!") - except: - ssid = match.group(1).replace("%3F","?").replace("%21","!") - password = match.group(2).replace("%3F","?").replace("%21","!") - - - if len(ssid) == 0: - send_response(client, "SSID must be provided", status_code=400) - return (False) + if match is None: + send_response(client, "Parameters not found", status_code=400) + return (False) + # version 1.9 compatibility + try: + ssid = match.group(1).decode("utf-8").replace("%3F", "?").replace("%21", "!") + password = match.group(2).decode("utf-8").replace("%3F", "?").replace("%21", "!") + except: + ssid = match.group(1).replace("%3F", "?").replace("%21", "!") + password = match.group(2).replace("%3F", "?").replace("%21", "!") - if do_connect(ssid, password): - response_footer = """ + if len(ssid) == 0: + send_response(client, "SSID must be provided", status_code=400) + return (False) + + if do_connect(ssid, password): + response_footer = """


-

:) YES, Wi-Fi Configured to """+ssid+"""

+

:) YES, Wi-Fi Configured to """ + ssid + """



""" - send_response(client, response_footer) - try: - fo = open("passwd.dat","r") - ex_data = fo.read() - fo.close() - fo = open("passwd.dat","w") - ex_data = ssid+";"+password+"\n"+ex_data - fo.write(ex_data) - fo.close() - except: - fo = open("passwd.dat","w") - fo.write(ssid+";"+password+"\n") - fo.close() - - return (True) - else: - response_footer = """ + send_response(client, response_footer) + try: + fo = open("passwd.dat", "r") + ex_data = fo.read() + fo.close() + fo = open("passwd.dat", "w") + ex_data = ssid + ";" + password + "\n" + ex_data + fo.write(ex_data) + fo.close() + except: + fo = open("passwd.dat", "w") + fo.write(ssid + ";" + password + "\n") + fo.close() + + return (True) + else: + response_footer = """
-

Wi-Fi Not Configured to """+ssid+"""

+

Wi-Fi Not Configured to """ + ssid + """



""" - send_response(client, response_footer ) - return (False) + send_response(client, response_footer) + return (False) + def handle_not_found(client, url): - send_response(client, "Path not found: {}".format(url), status_code=404) + send_response(client, "Path not found: {}".format(url), status_code=404) + def stop(): - global server_socket + global server_socket + + if server_socket: + server_socket.close() - if server_socket: - server_socket.close() def start(port=80): - addr = socket.getaddrinfo('0.0.0.0', port)[0][-1] + addr = socket.getaddrinfo('0.0.0.0', port)[0][-1] - global server_socket - global wlan_sta - global wlan_ap - global ssid_name - global ssid_password - stop() - - wlan_sta.active(True) - wlan_ap.active(True) - - wlan_ap.config(essid=ssid_name,password=ssid_password) - - - server_socket = socket.socket() - server_socket.bind(addr) - server_socket.listen(1) - - print('Connect to Wifi ssid :'+ssid_name+' , Default pass: '+ssid_password) - print('And connect to esp via your favorite web browser (like 192.168.4.1)') - print('listening on', addr) - - while True: - - if wlan_sta.isconnected(): - client.close - return (True) - - client, addr = server_socket.accept() - client.settimeout(5.0) - - print('client connected from', addr) + global server_socket + global wlan_sta + global wlan_ap + global ssid_name + global ssid_password + stop() - request = b"" - try: - while not "\r\n\r\n" in request: - request += client.recv(512) - except OSError: - pass - - print("Request is: {}".format(request)) - if "HTTP" not in request: - # skip invalid requests - client.close() - continue - - # version 1.9 compatibility - try: - url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).decode("utf-8").rstrip("/") - except: - url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).rstrip("/") - print("URL is {}".format(url)) + wlan_sta.active(True) + wlan_ap.active(True) - if url == "": - handle_root(client) - elif url == "configure": - handle_configure(client, request) - else: - handle_not_found(client, url) - - client.close() + wlan_ap.config(essid=ssid_name, password=ssid_password) + + server_socket = socket.socket() + server_socket.bind(addr) + server_socket.listen(1) + + print('Connect to Wifi ssid :' + ssid_name + ' , Default pass: ' + ssid_password) + print('And connect to esp via your favorite web browser (like 192.168.4.1)') + print('listening on', addr) + + while True: + + if wlan_sta.isconnected(): + client.close + return (True) + + client, addr = server_socket.accept() + client.settimeout(5.0) + + print('client connected from', addr) + + request = b"" + try: + while not "\r\n\r\n" in request: + request += client.recv(512) + except OSError: + pass + + print("Request is: {}".format(request)) + if "HTTP" not in request: + # skip invalid requests + client.close() + continue + + # version 1.9 compatibility + try: + url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).decode("utf-8").rstrip("/") + except: + url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).rstrip("/") + print("URL is {}".format(url)) + + if url == "": + handle_root(client) + elif url == "configure": + handle_configure(client, request) + else: + handle_not_found(client, url) + + client.close()
Wifi Name
Password