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在任何情况下都不会启动

简单用法(一次性)

下面是一个如何使用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,还是想要一个特性?打开一个问题。

如果您想参与,请创建一个拉取请求。

系统流程

System flow

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Spring REST API JSON在postman中显示,但在测试中未“看到”   java如何以编程方式检查旋转设备?   java力穷举开关   amazon web services DynamoDB从Java更新列表失败   java Android studio IDE更改波斯注释字体   java如何将postgresql添加到OpenShift Spring应用程序?   java RecycleView分页是否在末尾添加新项?   如何通过java获取移动设备信息?   java为什么Apache Commons StringEscapeUtils escapeXML10不能在groovy中工作?   函数式编程java curry现有的静态函数   java与JList的合作