Cheney_Chen
Cheney_Chen
This guy hasn't written anything yet

注册于 3 years ago

回答
2
文章
0
关注者
3

正常使用方式是

#include <arpa/inet.h>         /* 包含 ip_addr_t 等地址相关的头文件 */
#include <netdev.h>            /* 包含全部的 netdev 相关操作接口函数 */

官方编程指南中有具体介绍

  1. Function[rt_mutex_take] shall not be used in ISR 确定是否开始了软件定时器功能支持
  2. 因为涉及到 at_device 和 mymqtt 软件包,所以不太确定是那个软件包导致的重连的时候内存泄露,建议单独测试功能;
  3. 建议单独使用 at_device 软件包,编写简单的网卡 UP 和 DOWM 操作测试接口,多次调用后看是否存在内存泄露问题;单独测试 mymqtt 软件包重连功能是是否存在内存泄露问题;

用 BSD SOCKET API 就行,ec20_socket_send() 接口无法单独使用

日志显示接收数据超时了,可能和 URC 中设置的数据接收超时有关,确定一下时候使用的最新版本 AT Deivce ,最新版本对这块超时有完善处理

这个应该只是 RAW 数据打印时显示格式,两行显示应该也没问题吧,一行打印太多也不直观,一般显示默认 32 个就可以了

CONNECT 做 URC 处理,+QFTPGET 可以不做 URC 处理,URC 处理函数中调用 at_client_recv 函数从串口循环接收数据放入自己定义的缓冲区中,然后判断缓冲区中接收到 +QFTPGET:结束,获取缓冲区中有用数据。

因为这里命令没办法获取接收数据长度,所以只能用 at_client_recv 单字节循环接收再判断 +QFTPGET:接收结束。

mark 一下,建议可以提交到软件包中了:lol

iot.eclipse.org 作为 MQTT 服务器好像不能使用,请使用 MQTT 软件包 laster 版本中修改的 MQTT 测试服务器

这个就是 OTA 升级过程中设备内存不足了呀,你可以通过 free 查看一下,具体内存不足原因和处理方式可参考下面 issue

楼主问题分析的都很细致全面,有些问题之前我们也没有注意到,对楼主的 PR 我们也会仔细查看,再次感谢楼主的支持:lol

一直循环(30秒一次) AT+CGREG? 这个没问题吧,这个命令是检查设备网络连接状态的,有单独线程处理这个命令检查,可以看一下 ec20_check_link_status_entry 函数实现,不会影响设备数据传输

感谢楼主反馈,几个问题我逐一回答一下:

1. 软件定时器的问题已经在最新提交中改动过,参考 改动,建议楼主验证一下软件定时器默认的线程堆栈改为 2048 是否是必须的, 如果是必须的可以考虑在软件包中添加适当 ERROR 错误提示。

2. wiznet 软件包中设置 mac 地址确实没有设置到 netdev,楼主改动没问题,netdev 中需要同步更新一下

3. dns 服务器设置建议修改在 wiz.c 文件中 wiz_netdev_set_dns_server 函数中添加,这样使用 dns 命令设置服务器地址时能同步设置 netdev 和 W5500 寄存器中

4. check_netdev_internet_up_work 函数旨在检查设备是否能够连接外网,外网连接的状态不会影响设备的网络连接,只做 ifconfig 中显示,但是现在由于服务器问题偶尔会出现连接失败导致状态错误显示,后面会考虑完善完服务器或者开放对应接口

最后,如果可以的话,也欢迎楼主就上面确定出错的问题提交 PR 修复,大家一起完善 WIZnet软件包:lol

你这里设置默认网卡我觉的是有问题的,首先系统中是支持多网卡设备同时存在的,并且同一时刻只有一个默认网卡,举例现在有三个网卡,ETH(默认)、EC20、ESP8266,ETH 为默认网卡如果这时候出问题连接不上,域名解析失败,会导致 EC20、ESP8266 上都无法解析域名,而实际情况,EC20 和 ESP8266 都是正常的不应该出现域名解析失败的问题。

域名解析函数决定了你无法指定使用哪个网卡进行域名解析,所以这里的逻辑是使用当前协议簇中第一个可用网卡进行域名解析。

把上面你 URC 处理函数中 bfsz 参数类型定义成 int 或者 uint32_t 类型试试。
sscanf 函数中对入参类型的判断还是挺严格的,你这里解析用了 %d,后面带的参数就需要使用 4 个字节类型,否则会出现参数覆盖等问题。

回到
顶部

发布
问题

投诉
建议