autocommit
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
|
||||
from loguru import logger
|
||||
@@ -5,62 +7,40 @@ import re
|
||||
import nmcli
|
||||
from pythonping import ping
|
||||
|
||||
|
||||
# nmcli connection show djituad2_plus
|
||||
import os
|
||||
|
||||
tello_ssid = os.environ["TELLO_SSID_NAME"]
|
||||
conns = nmcli.connection()
|
||||
|
||||
def renew_ip_wlan1(timeout=15):
|
||||
try:
|
||||
# Release the IP address on wlan1
|
||||
release_cmd = ["sudo", "dhclient", "-r", "wlan1"]
|
||||
release_process = subprocess.run(release_cmd, capture_output=True, text=True, timeout=timeout)
|
||||
|
||||
# Renew the IP address on wlan1
|
||||
renew_cmd = ["sudo", "timeout", str(timeout), "dhclient", "-v", "wlan1"]
|
||||
renew_process = subprocess.run(renew_cmd, capture_output=True, text=True, timeout=timeout)
|
||||
|
||||
result_info = {
|
||||
"release_stdout": release_process.stdout,
|
||||
"release_stderr": release_process.stderr,
|
||||
"renew_stdout": renew_process.stdout,
|
||||
"renew_stderr": renew_process.stderr,
|
||||
"renew_status": renew_process.returncode
|
||||
}
|
||||
|
||||
return result_info
|
||||
|
||||
except subprocess.TimeoutExpired:
|
||||
return {"error": "timeout"}
|
||||
|
||||
except Exception as e:
|
||||
return {"error": str(e)}
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
|
||||
|
||||
""" SANDBOX
|
||||
while True:
|
||||
ping_resp = ping('192.168.10.1', count=1, timeout=5, size=1, verbose=True)
|
||||
if ping_resp.packet_loss == 0:
|
||||
logger.success("found tello")
|
||||
else:
|
||||
logger.warning("no tello exist")
|
||||
|
||||
while True:
|
||||
start_time = time.time()
|
||||
print("###### start")
|
||||
nmcli.device.wifi_rescan()
|
||||
wifi_list = nmcli.device.wifi()
|
||||
end_time = time.time()
|
||||
duration = end_time - start_time
|
||||
print(f"WiFi scan duration: {duration:.2f} seconds")
|
||||
for wifi in wifi_list:
|
||||
if re.search(r"djituad2", wifi.ssid):
|
||||
print(wifi)
|
||||
|
||||
|
||||
import pywifi
|
||||
from pywifi import const
|
||||
import time
|
||||
|
||||
|
||||
nmcli.connection.up(name=tello_ssid, wait=10)
|
||||
|
||||
wifi = pywifi.PyWiFi()
|
||||
ifaces = wifi.interfaces()
|
||||
for iface in ifaces:
|
||||
if iface == "wlan1":
|
||||
break
|
||||
while True:
|
||||
iface.scan()
|
||||
time.sleep(2)
|
||||
results = iface.scan_results()
|
||||
for network in results:
|
||||
if re.search(r"djituad2", network.ssid):
|
||||
logger.success("tello network found")
|
||||
#print(f"SSID: {network.ssid}, Signal: {network.signal}")
|
||||
"""
|
||||
info = renew_ip_wlan1()
|
||||
print(info)
|
||||
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ async def collect_flight_stats(state):
|
||||
logger.debug(f"Battery: {bat} - Temperature: {temp} - Barometer: {baro}")
|
||||
except TelloException as te:
|
||||
logger.error(te)
|
||||
# search for any response if disconnected
|
||||
else:
|
||||
if counter % 10 == 0:
|
||||
logger.warning("missing connection, pinging tello")
|
||||
|
||||
Reference in New Issue
Block a user