def restart_modem(): import requests import subprocess from selenium import webdriver from selenium.webdriver.chrome.options import Options #from chromedriver_py import binary_path from time import sleep import subprocess # # determine desired usb device # # to disable # subprocess.run(['echo', '0', '>' '/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms']) # subprocess.run(['echo', 'auto', '>' '/sys/bus/usb/devices/usbX/power/control']) # # to enable # #subprocess.run(['echo', 'on', '>' '/sys/bus/usb/devices/usbX/power/control']) print("Nuvarande ip:", requests.get("https://api.ipify.org").text, '\nStartar om modem...') # Set up selenium browser options = Options() options.headless = True browser = webdriver.Chrome(executable_path='/home/pi/chromedriver.apk', options=options) # Login to modem browser.get("http://192.168.100.1/cellweb/login.asp") sleep(3) username = browser.find_element_by_id("user_name") password = browser.find_element_by_id("user_password") username.send_keys("admin") password.send_keys("1340asde") # Go to reboot and accept browser.find_element_by_xpath("/html/body/section/form/button").click() # Login sleep(1) browser.find_element_by_xpath("/html/body/section/div[2]/div[6]/a").click() # More sleep(1) browser.find_element_by_xpath( "/html/body/section[2]/div/div[2]/div/a" ).click() # Reboot sleep(1) browser.find_element_by_xpath( "/html/body/div[4]/div/div/div[2]/div[2]" ).click() # Accept sleep(1) browser.switch_to_alert().accept() # Accept again (alert) browser.close() # Vänta på att modemet ska starta om for i in range(180, 0, -1): print(i, end='\r') while True: # Se till så att Raspberry ansluter till wifi (Hallon) process = subprocess.run(["sudo", "systemctl", "daemon-reload"]) sleep(5) process = subprocess.run(["sudo", "systemctl", "restart", "dhcpcd"]) sleep(10) # Kontrollera nätverksanamn process = subprocess.Popen(["iwgetid"], stdout=subprocess.PIPE) wlan = process.communicate()[0].decode() if "4G-UFI-5671" in wlan: ip = requests.get("https://api.ipify.org").text print("Ny ip:", ip) return ip else: print('Testar snart igen...') for i in range(30, 0, -1): print(i, end='\r') restart_modem()