乐鑫技术交流
直播中

李桂兰

7年用户 1462经验值
私信 关注
[问答]

app \"espsoftap\"如何使用自定义数据?

示例:esp-idfexamplesprovisioningwifi_prov_mgrCode: Select all
D:ProjectUJespesp-idftoolsesp_prov>python esp_prov.py --transport softap --ssid ble --passphrase 1357924680 --sec_ver 1 --pop abcd1234 --custom_data 12345678Connecting to 192.168.4.1:80==== Starting Session ======== Session Established ======== Sending Custom data to esp32 ====Traceback (most recent call last):  File "esp_prov.py", line 440, in     if not custom_data(obj_transport, obj_security, args.custom_data):  File "esp_prov.py", line 191, in custom_data    message = prov.custom_data_request(sec, custom_data)  File "D:ProjectUJespesp-idftoolsesp_provprovcustom_prov.py", line 51, in custom_data_request    enc_cmd = security_ctx.encrypt_data(data)  File "D:ProjectUJespesp-idftoolsesp_provsecuritysecurity1.py", line 170, in encrypt_data    return self.cipher.update(data)  File "C:UsersxuetaoAppDataLocalProgramsPythonPython37libsite-packagescryptographyhazmatprimitivesciphersbase.py", line 154, in update    return self._ctx.update(data)  File "C:UsersxuetaoAppDataLocalProgramsPythonPython37libsite-packagescryptographyhazmatbackendsopensslciphers.py", line 124, in update    n = self.update_into(data, buf)  File "C:UsersxuetaoAppDataLocalProgramsPythonPython37libsite-packagescryptographyhazmatbackendsopensslciphers.py", line 139, in update_into    baseinbuf = self._backend._ffi.from_buffer(data)TypeError: from_buffer() cannot return the address of a unicode object
模块端输出Code: Select all
I (2750327) esp_netif_lwip: DHCP server assigned IP to a station, IP is: 192.168.4.2W (2750877) wifi:idx:4 (ifx:1, 98:3b:8f:0e:b9:7e), tid:0, ssn:61, winSize:64I (2763807) protocomm_httpd: Creating new session: 57W (2764837) protocomm_httpd: Closing session as socket 57 was closed
1、请这个问题怎么解决呢?
2、app  "espsoftap"如何使用自定义数据。
3、想知道,模块端,esp_prov.py,app关于自定数据如何使用。
                                                                                                                                                                  

回帖(1)

李艳

2024-6-24 16:51:50
要使用自定义数据(custom_data)与 "espsoftap" 应用程序进行交互,您需要按照以下步骤操作:

1. 首先,确保您已经安装了 ESP-IDF 和相关的依赖项。如果您还没有安装,请访问 https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html#installation-step-by-step 以获取安装指南。

2. 接下来,克隆或下载 ESP-IDF 示例项目。您可以从以下链接下载:https://github.com/espressif/esp-idf/tree/master/examples/provisioning/wifi_prov_mgr

3. 打开终端或命令提示符,导航到示例项目的根目录。

4. 在命令行中,使用以下命令启动 Wi-Fi 配网管理器,同时传递自定义数据参数:

```
python esp_prov.py --transport softap --ssid ble --passphrase 1357924680 --sec_ver 1 --pop abcd1234 --custom_data 12345678
```

这个命令将启动 Wi-Fi 配网管理器,并使用以下参数:
- 传输方式:softap
- SSID:ble
- 密码:1357924680
- 安全版本:1
- 弹出窗口:abcd1234
- 自定义数据:12345678

5. 当命令执行时,您将看到 "Connecting to 192.168.4.1:80" 和 "==== Starting Session ======== Session Established ========" 等信息。这表示设备已成功连接到 Wi-Fi 配网管理器。

6. 如果您遇到错误,例如 "Traceback (most recent call last):",请检查您的命令行参数是否正确,并确保您的设备已正确连接到 Wi-Fi 配网管理器。

7. 在 ESP32 设备上,您需要在 Wi-Fi 配网管理器示例代码中添加自定义数据的处理逻辑。这通常涉及到在 `app_prov_data_t` 结构体中添加自定义数据字段,并在相应的回调函数中处理这些数据。

8. 编译并烧录修改后的示例代码到您的 ESP32 设备。

9. 运行修改后的 Wi-Fi 配网管理器,您应该能够看到自定义数据被成功发送到 ESP32 设备。

通过以上步骤,您可以使用自定义数据与 "espsoftap" 应用程序进行交互。请注意,您可能需要根据您的具体需求调整示例代码和参数。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分