完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在 UDP 模式下将 ESP8266-01 与 AT 接口一起使用。
(1) 连接到我的局域网后,我跳入直通模式并使用 ESP 作为 UART-Bridge。目前为止,一切都好。 有时我想从我的应用程序中检查,如果连接到 接入点已存在。为此,我没有找到任何其他方法,除了 - 停止直通 ( ) - 索取 CIPStatus - 解析状态的答案 - (如果可以:)再次启动直通。 这肯定不是最干净的解决方案。但它是唯一的吗?有人有没有 是否有更好的解决方案? (2) 通常,我通过将短电报发送到 uart 来发送它们。停止时, ESP 创建一个 WLAN UDP 报文并将其发送到我的服务器。 当我发送大量字节时,我意识到在直通中,ESP 在大约 65 毫秒后从自身发送 UDP-Telegram。 (我的程序没有停止发送) 正如我所看到的,在 19200 波特率处,在大约 130 字节之后,有一个 100 字节的电报由 发送 ESP 本身,而应用程序不会停止发送。 因为我的本地 Telegram 比这更长,而服务器期望更长(且完整)的 Telegram, 我在服务器应用程序中遇到错误。为此,我不得不超出我的协议来重建 整个电报由零件组成...... 波特率越慢,本身发送的字节就越少,所以我估计这是一个时间阈值......? 我在文档中找不到有关此行为的任何信息。我错过了吗? |
|
相关推荐
1个回答
|
|
在这种情况下,我们可以采取以下步骤来解决问题:
1. 首先,确保ESP8266-01模块已经正确连接到您的设备,并配置为使用AT接口。 2. 对于问题(1),检查是否连接到接入点,我们可以使用以下方法,而无需停止直通模式: a. 发送AT命令:`AT+CWJAP_CUR?` 这将返回当前连接的Wi-Fi接入点的详细信息。 b. 解析返回的信息,检查是否包含正确的接入点名称和密码。 3. 对于问题(2),发送UDP数据包,我们可以按照以下步骤操作: a. 首先,确保ESP8266-01已经连接到Wi-Fi网络。可以使用`AT+CWJAP`命令连接到指定的Wi-Fi接入点。 b. 使用`AT+CIPSTART`命令创建一个UDP连接。例如:`AT+CIPSTART="UDP","your_server_ip",your_server_port`。这将创建一个指向服务器的UDP连接。 c. 使用`AT+CIPSEND`命令发送数据。例如:`AT+CIPSEND=数据长度`,然后发送实际的数据。 d. 发送数据后,使用`AT+CIPCLOSE`命令关闭UDP连接。 4. 如果您希望在发送数据时保持UART-Bridge模式,可以考虑使用多线程或异步操作。这样,您可以在不中断UART-Bridge模式的情况下发送UDP数据包。 5. 另外,您还可以考虑使用ESP8266的非阻塞I/O功能,这样您可以在发送数据时继续接收和处理其他任务。 6. 最后,确保您的应用程序能够正确处理ESP8266返回的AT命令响应。这将帮助您更好地了解模块的状态和操作结果。 通过以上步骤,您应该能够在UDP模式下更有效地使用ESP8266-01与AT接口。 |
|
|
|
只有小组成员才能发言,加入小组>>
171个成员聚集在这个小组
加入小组424 浏览 1 评论
1284 浏览 1 评论
597浏览 6评论
492浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
479浏览 5评论
474浏览 4评论
460浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-10 02:28 , Processed in 1.066388 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号