--- tags: EmPOWER --- # EmPOWER App EmPOWER 的錯誤訊息會 print 在執行 `empower_runtime.py` 的那個 terminal 基本上,一個 EmPOWER APP 需要三個東西 * 一個資料夾 * 一個 `__init__.py` 放在上面的資料夾 * 一個 `.py` 的主程式,也是放在上面的資料夾 ``` empower/apps/program/⎯┬⎯⎯ __init__.py │ └⎯⎯ program.py ``` ## 資料夾 為了避免混淆,這個資料夾的名稱請和主程式一樣即可。 ### `__init__.py` 這個 `.py` 裡面,需要告知主程式需要的參數,例如 every, sta 等等。 該結構可以參考 `empower/apps/` 裡的任意 application ### 主程式 主程式會由兩個部分構成: - `launch()` 可以看成程式的進入點 (entry point) ,也可以在這裡做一些初始化的工作,最後要回傳自己的 python class - python class application 的主體, python class 裡通常會有的是 `__init__()` 和 `loop()`。 - `__init__()` 就是做 initialization ,比方說初始化 lvap list。 - `loop()` 裡面的內容會週期性地被執行,因此可以在這個 function 裡做週期性的資料收集、association management 等等。 - `handle_lvap_join()`, `handle_lvap_leave()` 可以在有 lvap 加入或離開時進行一些處理,像是對 lvap list 的維護。 詳細可以參考 `empower/apps` 裡面的任意 application ## Workers 當需要某些資訊如 AP-STA 之間的 RSSI ,或是 channel 的資訊時,可以利用`empower/workers/` 中的 `wifichannelqualitymap` 及 `wifichannelstats` 。 注意當需要啟動 workers 時需要以 root 身分登入。 ## Reference https://github.com/clicknf/clicknf.github.io/wiki/Python-WiFi-API-documentation\ https://gitraap.i3a.info/bgomez/empower-runtime/-/blob/master/empower/apps/wifiloadbalancing/wifiloadbalancing.py
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up