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