You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

76 lines
2.5 KiB

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()