Python/Raspberry Pi

Raspberry pi wifi change without reboot

딸기우유중독 2021. 10. 14. 13:02

 

import sys        

import shutil   # 파일 카피위해

import os       # 터미널 cmd명령어 입력위해

 

dhcpcd_name = '/dhcpcd.conf'

wpa_name    = '/wpa_supplicant.conf'

 

from_dir1   = '/home/pi/TM_TECU/WIFI_CHG1'

from_dir2   = '/home/pi/TM_TECU/WIFI_CHG2'

from_dir3   = '/home/pi/TM_TECU/WIFI_CHG3'

 

to_dhcpcd   = '/etc/dhcpcd.conf'

to_wpa      = '/etc/wpa_supplicant/wpa_supplicant.conf'  # reboot 없이

# to_wpa      = '/boot/wpa_supplicant.conf'     # reboot해야만 작동

 

def wifi_chg():

 

    print("Wifi Number:", end="")

    wifi_num = input()

    # print(wifi_num)

    if wifi_num == str(1):            

        from_dhcpcd = from_dir1 + dhcpcd_name

        from_wpa    = from_dir1 + wpa_name

       

        shutil.copy(from_dhcpcd, to_dhcpcd)

        shutil.copy(from_wpa, to_wpa)

 

        # os.system("ifconfig wlan0 down")

        # os.system("ifconfig wlan0 up")

        # os.system("dhclient -v")

        os.system("wpa_cli -i wlan0 reconfigure")

        # os.system("systemctl daemon-reload")

        # os.system("systemctl restart wpa_supplicant@wlan0.service")

        # os.system("systemctl restart wpa_supplicant.service")

        # os.system("systemctl restart dhcpcd")

        # os.system("systemctl restart ssh")

        # os.system("systemctl restart connman")

        # os.system("/etc/init.d/networking restart")

        # os.system("reboot")

    elif wifi_num == str(2):

        from_dhcpcd = from_dir2 + dhcpcd_name

        from_wpa    = from_dir2 + wpa_name

 

        shutil.copy(from_dhcpcd, to_dhcpcd)

        shutil.copy(from_wpa, to_wpa)

 

        # os.system("ifconfig wlan0 down")

        # os.system("ifconfig wlan0 up")

        # os.system("dhclient -v")

        os.system("wpa_cli -i wlan0 reconfigure")

        # os.system("systemctl daemon-reload")

        # os.system("systemctl restart wpa_supplicant@wlan0.service")

        # os.system("systemctl restart wpa_supplicant.service")

        # os.system("systemctl restart dhcpcd")

        # os.system("systemctl restart ssh")

        # os.system("systemctl restart connman")

        # os.system("/etc/init.d/networking restart")

        # os.system("reboot")

    # elif wifi_num == str(3):

    #     from_dhcpcd = from_dir3 + dhcpcd_name

    #     from_wpa    = from_dir3 + wpa_name

 

    #     shutil.copy(to_wpa, from_wpa)

    else:

        print("Fault Number")

        return

 

if __name__ == "__main__":

    wifi_chg()

   





728x90