将WiFi设置共享为WPA2 Enterprise的QR码

29

我发现了几个描述WiFi访问设置的字符串格式的来源,格式如下:

WIFI:T:WPA;S:mynetwork;P:mypass;;

(示例来自ZXing文档
对于基本的WPA-连接,在我的Android设备上使用Zxing条码扫描应用程序完全没有问题。然而,我无法找到一种方法将WPA2 / EAP-连接设置(也称为WPA2企业)嵌入可扫描的二维码中。如我所预期的那样,在随机位置插入“L”(登录)、“N”(名称)或“I”(身份识别)参数并没有带来任何进展。
在这里有人成功地将WiFi连接设置"嵌入"到2D可扫描代码中以在Android设备上使用吗?
谢谢您的帮助!

2
以防您还没有看到这个(https://code.google.com/p/zxing/issues/detail?id=589)问题说他们想要实现它,但是他们无法在服务器上测试它,所以在那之前他们不会实现它。 - Tamer
以及后续更新:https://github.com/zxing/zxing/issues/126 - Lukx
1个回答

8

我在zxing库项目的Github页面上找到了一些有关如何格式化WiFi配置字符串的信息:https://github.com/zxing/zxing/pull/865

第一篇帖子包含了一个字符串格式的模板,其中包含一个错误(前缀AI:是错误的,应该改为A:,请参见这里)。根据源代码,正确的格式如下:

WIFI:T:WPA2-EAP;S:[network SSID];H:[hidden?];E:[EAP method];PH2:[Phase 2 method];A:[anonymous identity];I:[username];P:[password];;

当我尝试使用命令行工具qrencode时,我的Barcode Scanner应用程序崩溃了。经过一些尝试和错误,我发现隐藏SSID的选项可以省略:
WIFI:T:WPA2-EAP;S:[network SSID];E:[EAP method];PH2:[Phase 2 method];A:[anonymous identity];I:[username];P:[password];;

通过这个步骤,我在Android 8的已知无线网络列表中得到了一个可用的连接。

目前还没有支持声明证书和相应域名的功能。如果需要,可以稍后通过调整Android WiFi菜单内的设置来指定。


1
很高兴看到这是可能的。我考虑在家庭网络上使用EAP并设置一个小型亭子(esp32 + lcd?)与一个按钮。按下按钮将导致创建一个帐户,并在屏幕上显示用于连接智能手机的QR码。这意味着客人可以轻松连接到WiFi。我假设当RADIUS中的帐户在一段时间内处于非活动状态时,删除/停用帐户不会太困难,从而限制了包含网络有效凭据的设备数量。 - Mark
1
嗨@Mark,我有同样的想法,只是我正在使用树莓派。您可以指定新生成的RADIUS用户的过期日期为未来2天。这样,自动生成的帐户将在不必担心任何事情的情况下过期。 - Jacob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接