esp-8266和esp-32板上micropython的简单网络配置实用程序
micropython-wifimanager的Python项目详细描述
微蟒wifimanager
一个简单的MicroPython网络配置实用程序,用于ESP8266和ESP32等板
配置
只需将JSON文件与网络一起上载,默认路径是'/networks.JSON',在类属性config_file
中指定
示例配置可能如下所示:
{
"schema": 2,
"known_networks": [
{
"ssid": "User\u2019s iPhone",
"password": "Password1",
"enables_webrepl": false
},
{
"ssid": "HomeNetwork",
"password": "Password2",
"enables_webrepl": true
}
],
"access_point": {
"config": {
"essid": "Micropython-Dev",
"channel": 11,
"hidden": false,
"password": "P@55W0rd"
},
"enables_webrepl": true,
"start_policy": "fallback"
}
}
配置模式
- schema:当前应该是
2
- 已知网络:要连接的网络列表,按最优先顺序排列
- ssid-访问点的名称
- password-要使用的清除测试密码
- 启用_webrepl-一个布尔值,指示是否需要启动与此网络的连接
- 访问点:此设备的访问点(ap)的详细信息
- config-ap config的键,完全按照micropython文档
- 启用_weprepl-一个布尔值,指示此网络的ceating是否希望启动webrepl
- 启动策略-下表中的一个策略,指示何时启用AP
- “始终”-无论连接到任何基站,AP都将启动
- “回退”-只有在没有网络连接到
- “从不”-AP在任何情况下都不会启动
简单用法(一次性)
2
- ssid-访问点的名称
- password-要使用的清除测试密码
- 启用_webrepl-一个布尔值,指示是否需要启动与此网络的连接
- config-ap config的键,完全按照micropython文档
- 启用_weprepl-一个布尔值,指示此网络的ceating是否希望启动webrepl
- 启动策略-下表中的一个策略,指示何时启用AP
- “始终”-无论连接到任何基站,AP都将启动
- “回退”-只有在没有网络连接到
- “从不”-AP在任何情况下都不会启动
下面是一个如何使用wifimanager的示例。
MicroPython v1.9.4 on 2018-05-11; ESP32 module with ESP32
Type "help()" for more information.
>>> from wifi_manager import WifiManager
>>> WifiManager.setup_network()
connecting to network Foo-Network...
WebREPL daemon started on ws://10.1.1.234:8266
Started webrepl in normal mode
True
异步使用(事件循环)
wifimanager可以通过micropthon在uasyncio中的协作调度异步运行。如果按如下方式调用WifiManager.start_managing()
,它将确保定期扫描网络状态,并根据需要根据首选项重新建立连接。
import uasyncio as asyncio
from wifi_manager import WifiManager
WifiManager.start_managing()
asyncio.get_event_loop().run_forever()
贡献
找到一个bug,还是想要一个特性?打开一个问题。
如果您想参与,请创建一个拉取请求。