TP-link WiFi Router Controller
Installation
pip install tp-link-controller
Usage
Install JDK-8
Using Chocolatey: choco install jdk8
Download browsermob-proxy pass the binary path to TP_Link_controller
object.
from TPLinkController import controller
email = "xyz@examplemail.com"
password = "topSecret"
bmp_path = r"bin\browsermob-proxy-2.1.4\bin\browsermob-proxy"
tplink = controller .TP_Link_Controller (email , password , browsermobproxy_location = bmp_path , DEBUG_MODE = True )
Note: Login before doing anything
The following methods are available
.login() -> Logins to the admin panel
.close() -> Exits the browser and closes the proxy
.get_status() -> Returns a dictionary with a lot of status information.
.turn_on_2G() -> Turns on 2.4G WiFi.
.turn_on_5G() -> Turns on 5G WiFi.
.turn_off_2G() -> Turns off 2.4G WiFi.
.turn_off_5G() -> Turns off 5G WiFi.
.toggle_2g_wifi() -> Toggles 2.4G WiFi
.toggle_5g_wifi() -> Toggles 5G WiFi
.is_2g_on() -> Returns True
if 2.4G WiFi is on
else False
.
.is_5g_on() -> Returns True
if 5G WiFi is on
else False
.
Based on Selenium.
Uses the WebUI as you would normally do.
Made due to the lack of any kind of API to interact with any TP-Link Routers.
Tested On:
Hardware: Archer C1200 v2.0
Firmware Version: 2.0.2 Build 20180118 rel.38979 (EU)
To get started with package dev:
Clone the repository.
Create a virtual environment.
Install all the packages from requirements.txt
Install JDK-8
choco install jdk8
Download Browsermob-proxy .
For windows, leave it as default, should work out of the box.
Pass it to the instance in code.
tplink = TP_Link_Controller (email , password , browsermobproxy_location = r"bin\browsermob-proxy-2.1.4\bin\browsermob-proxy" , DEBUG_MODE = True )
Download the Chrome webdriver and place it in ./bin/
folder for windows.
For Raspberry Pi install .deb packages from here . No need to set bin path, packages will be installed in right directory.