乐鑫技术交流
直播中

打马过草原

9年用户 893经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

esp32+sim800c接收到1包数据后就断开了,为什么?

环境是ESP32+SIM800C的硬件,运行的是Pppos client_main的例子。发现每次接收到MQTT下发的命令后,modem就断开了。如下的log:
[0;32mI (1141) pppos_example: GOT ip event!!![0m
[0;32mI (1151) pppos_example: PPP state changed event 266[0m
[0;32mI (1161) pppos_example: MQTT other event id: 7[0m

【2021-11-10 13:45:41:738】[0;32mI (2451) pppos_example: MQTT_EVENT_CONNECTED[0m
[0;32mI (2461) pppos_example: sent subscribe successful, msg_id=58484[0m

【2021-11-10 13:45:41:843】[0;32mI (2651) pppos_example: MQTT_EVENT_SUBSCRIBED, msg_id=10995[0m

【2021-11-10 13:45:42:048】[0;32mI (2811) pppos_example: MQTT_EVENT_SUBSCRIBED, msg_id=26615[0m
[0;32mI (2851) pppos_example: MQTT_EVENT_SUBSCRIBED, msg_id=58484[0m

【2021-11-10 13:45:54:633】[0;32mI (15351) pppos_example: MQTT_EVENT_DATA[0m
TOPIC=v1/dn/cmd

DATA={"taskId":15,"serviceIdentifier":"open_cmd","productId":15098425,"payload":{"open_request":6},"deviceId":"15098425TMB56E55443388"}


【2021-11-10 13:45:55:355】[0;31mE (16071) esp-modem: esp_dte_handle_line(114): handle line failed[0m
[0;33mW (16071) pppos_example: Unknow line received: ~!EH[0m

【2021-11-10 13:45:57:261】[0;32mI (17981) pppos_example: Modem PPP Stopped[0m
[0;32mI (17981) pppos_example: PPP state changed event 267[0m
[0;32mI (17981) pppos_example: PPP state changed event 265[0m
[0;32mI (17981) pppos_example: PPP state changed event 262[0m
                                                                                                                                                                                                                        
               

回帖(1)

笑尽往事

2024-6-19 16:45:39
这个问题可能有以下几个原因:

1. **信号问题**:如果信号不稳定,可能会导致连接断开。请检查您的SIM卡信号质量。

2. **电源问题**:不稳定的电源供应可能会导致模块工作不稳定。请确保您的电源供应稳定。

3. **AT命令配置问题**:请检查您的AT命令配置是否正确。确保您已经正确设置了APN、用户名和密码等信息。

4. **MQTT配置问题**:请检查您的MQTT客户端配置,包括服务器地址、端口号、客户端ID等。

5. **内存问题**:ESP32的内存可能不足以处理大量数据,导致连接断开。请检查您的代码,确保没有内存泄漏。

6. **超时设置**:检查您的PPP连接超时设置,如果设置得太短,可能会导致连接过早断开。

7. **模块固件问题**:SIM800C模块的固件可能存在问题。尝试更新固件到最新版本。

8. **ESP32固件/库问题**:确保您使用的ESP32固件和相关库是最新的,以避免已知的bug。

9. **代码逻辑问题**:检查您的代码逻辑,确保在接收到MQTT命令后没有执行任何可能导致连接断开的操作。

10. **网络运营商限制**:某些网络运营商可能会限制PPP连接的持续时间,导致连接在一定时间后自动断开。

解决这个问题,您可以尝试以下步骤:

- **检查硬件连接**:确保ESP32与SIM800C模块之间的硬件连接正确无误。
- **检查信号和电源**:确保信号质量和电源供应稳定。
- **调试日志**:增加更多的日志输出,以便更好地了解连接断开的时机和原因。
- **逐步排查**:逐一检查上述可能的原因,尝试排除故障。

举报

更多回帖

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