没有合适的资源?快使用搜索试试~ 我知道了~
首页关于ESP8266 DNS域名解析异常问题及其解决办法
最近公司的ESP8266网关在项目现场出现一个很奇怪的问题,偶尔会出现设备连接不上网络,没有数据上报到云端。由于项目是使用在一些高档豪宅上面,现场还在施工,网络也是临时搭建的,特别不稳定,经常出现一段时间没有网络,之前跑过几次现场,排查的问题都是没有网络,或者网速很差导致连接不上服务器,所以没有放在心上,但是由于有好几个设备间都是出现了手机连接路由器的网络上网不错,但是网关就是连接不上网,后台看不到数据(同事描述),负责测试的同事一直督促着说老板的玻璃心快碎了,快点解决,没办法,又戴上安全帽,去了一趟现场,查看了下log信息,傻眼了,做网关那么多年,第一次看到DNS解析的服务器IP都错误了,log如下:connected with 303303, channel 6(有所修改,删除了些没用的log)dhcp client start...ip:192.168.1.103,mask:255.255.255.0,gw:192.168.1.1portlen=4dns m2m ip=10.0.0.1new local port is 34182mqtt connect to ip10.0.0.
资源详情
资源评论
资源推荐

关于关于ESP8266 DNS域名解析异常问题及其解决办法域名解析异常问题及其解决办法
最近公司的ESP8266网关在项目现场出现一个很奇怪的问题,偶尔会出现设备连接不上网络,没有数据上报到
云端。由于项目是使用在一些高档豪宅上面,现场还在施工,网络也是临时搭建的,特别不稳定,经常出现一
段时间没有网络,之前跑过几次现场,排查的问题都是没有网络,或者网速很差导致连接不上服务器,所以没
有放在心上,但是由于有好几个设备间都是出现了手机连接路由器的网络上网不错,但是网关就是连接不上
网,后台看不到数据(同事描述),负责测试的同事一直督促着说老板的玻璃心快碎了,快点解决,没办法,
又戴上安全帽,去了一趟现场,查看了下log信息,傻眼了,做网关那么多年,第一次看到DNS解析的服务器IP
都错误了,log如下:connected with 303303, channel 6(有所修改,删除了些没用的log)dhcp client
start...ip:192.168.1.103,mask:255.255.255.0,gw:192.168.1.1portlen=4dns m2m ip=10.0.0.1new local port is
34182mqtt connect to ip10.0.0.
最近公司的ESP8266网关在项目现场出现一个很奇怪的问题,偶尔会出现设备连接不上网络,没有数据上报到云端。由于项
目是使用在一些高档豪宅上面,现场还在施工,网络也是临时搭建的,特别不稳定,经常出现一段时间没有网络,之前跑过几
次现场,排查的问题都是没有网络,或者网速很差导致连接不上服务器,所以没有放在心上,但是由于有好几个设备间都是出
现了手机连接路由器的网络上网不错,但是网关就是连接不上网,后台看不到数据(同事描述),负责测试的同事一直督促着
说老板的玻璃心快碎了,快点解决,没办法,又戴上安全帽,去了一趟现场,查看了下log信息,傻眼了,做网关那么多年,
第一次看到DNS解析的服务器IP都错误了,log如下:
connected with 303303, channel 6(有所修改,删除了些没用的log)
dhcp client start...
ip:192.168.1.103,mask:255.255.255.0,gw:192.168.1.1
portlen=4dns m2m ip=10.0.0.1new local port is 34182
mqtt connect to ip10.0.0.1:1883
client->connState=10
TCP: Reconnect to 10.0.0.1:1883
TCP_RECONNECT_REQ errType=-9
看到这个log,我都傻眼了,DNS解析出来的服务器IP怎么是那个样子呢,和我们的服务器IP:123.56.xxx.xxx相差太远了,于
是查看了下DNS那部分代码,我设置了一个2s定时器,如果解析不能OK,也就是没有返回值的话,那么就一直运行,这个导
致造成了DNS域名攻击,有些DNS服务器返回错误的IP给网关,把这个问题反馈给了乐鑫,可惜官方也没遇到过,要我提交
测试场景,晕,我自己都没遇到过,也就是那种奇葩的环境第一次遇到过,这个问题就卡在这里了,可以说和官方沟通也没结
果,后来我自己想了一种折中的办法,有效的解决了。
因为网络也不是一直出现这种问题,绝大部分时间是没什么问题的,这个通过我们后台监控的数据绘制的曲线连贯性可以看出
来。
对于DNS域名解析返回错误IP的解决办法:
模块第一次使用,DNS解析OK,连接服务器OK,那么服务器IP保存到FLASH,第二次出现DNS解析时,如果DNS解析OK,连
接服务器FAIL,那么我接下来就拿保存到FLASH的IP连接服务器;
如果出现了DNS解析OK,连接服务器IP OK,如果是DNS解析的IP和保存的IP不同,那么我就更新FLASH里面的IP成最新的
(说明服务器IP更换了)。
这个方法这段时间在施工现场测试后,目前没发现之前的问题,我自己用软件模拟也可以很好的解决DNS解析服务器IP错误
的问题。
以下是测试后的log(已经修改过得):
mqtt connect to ip10.0.0.1:1883
client->connState=10
TCP: Reconnect to 10.0.0.1:1883
TCP_RECONNECT_REQ errType=-9
strore ip 123,56,xxx,xxx
client ip 10.0.0.1




















weixin_38519060
- 粉丝: 1
- 资源: 900
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0