robot now tries to automatically connect to an existing wifi network. if the network is not found then the robot will become an access point instead

This commit is contained in:
Simon Pirkelmann 2019-06-05 08:03:31 +02:00
parent 530cef54b3
commit 4d7c0e7be7

View File

@ -3,11 +3,41 @@ import time
# connect to local wifi network # connect to local wifi network
sta_if = network.WLAN(network.STA_IF) sta_if = network.WLAN(network.STA_IF)
sta_if.active(False) ap_if = network.WLAN(network.AP_IF)
#sta_if.active(True) sta_if.active(True)
# TODO: edit this line networks = sta_if.scan()
#sta_if.connect("<SSID>", "<PASSWORD>") print("networks found: {}".format(networks))
#sta_if.ifconfig() ap_found = False
# TODO: edit these lines
network_name = 'M5Wifi'
password = '<PW>'
#desired_ip = '192.168.1.101'
desired_ip = '192.168.1.102'
subnet = '255.255.255.0'
gateway = '192.168.1.1'
dns = '192.168.1.1'
for n in networks:
if network_name == n[0].decode():
print("existing network found: {}".format(n[0]))
print("connecting to the network ...")
# set static ip
sta_if.ifconfig((desired_ip, subnet, gateway, dns))
sta_if.connect(network_name, password)
my_ip = sta_if.ifconfig()
print("my_ip[0] = {}".format(my_ip[0]))
if my_ip[0] == desired_ip:
ap_found = True
ap_if.active(False)
print("disabling access point interface")
if not ap_found:
print("could not connect to network, becoming an access point instead")
sta_if.active(False)
ap_if.active(True)
my_ip = ap_if.ifconfig()
print("disabling station interface")
print("my_ip = {}".format(my_ip))
# start terminal over wifi # start terminal over wifi
time.sleep(5) # wait for wifi to connect time.sleep(5) # wait for wifi to connect