『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 14140|回复: 11

[经验分享] [出坑]规避esp8266在TP路由器下连接不稳定问题

[复制链接]

14

主题

155

帖子

1151

积分

论坛DIY达人

积分
1151
金钱
986
HASS币
40
发表于 2019-6-26 19:34:28 | 显示全部楼层 |阅读模式
本帖最后由 koranayle 于 2019-6-26 19:34 编辑

问题:用Arduino撸esp8266的代码,无法在TP路由器下稳定连接,接入时间长且容易掉线,几乎收不到mqtt消息

坑的范围:在Arduino下开发的代码,包括并不仅限于PubSubClient库和sonoff库

出坑轨迹:
1.用PubSubClient库连接mqtt,几乎收不到mqtt消息

2.用办公室的祖传fast路由器时,一切正常


3.树莓派和黑群晖上的HA,现象一样,排除HA问题


4.另装了mosquitto,现象一样,基本排除broker问题


5.在mqtt.fx中发现mqtt消息只有在进出esp8266的时候有问题,怀疑跟代码有关


6.在代码中加了很多打印,并且对比fast路由器下的打印,发现在esp8266库的底层connect()及一些available()等函数失败或超时


7.上面的排查到最后返回值是0,不知道失败原因,不懂路由器相关的协议,放弃


8.想曲线救国,想试试官方sdk,看了下手册,实在是不忍下手,因为这个东西是给老婆改烤箱用的,已经撸了几十个文件了,实在懒得改开发环境,还要适配一堆跟外设有关的接口。


9.想试试sonoff,代码下下来看到用的也是PubSubClient,心凉了半截,试完确实不行


10.最后没办法,还是找了个梯子爬去外面看了一下,找到了解决办法


外面好风景:
家里一堆小米设备都正常,现在有那么多智能硬件用的都是esp8266,就算是TP路由器或esp8266问题肯定也能规避(做LTE研发时就算是终端的问题也要找方法规避),在itead发现了很多人都有这样的问题,翻了上百条回复找到下面两条
3.jpg 2.jpg


试着把路由器改为11B only模式,HA上的开关变的丝滑无比,有种不可描述的感觉



最终解决办法:
不懂b/g/n模式的区别,但是隐隐觉得改路由器配置有点暴力,看了下代码,在ESP8266WiFiGeneric.cpp中有相关配置,最终在初始化配置中增加一句WiFi.setPhyMode(WIFI_PHY_MODE_11B);
目前使用一切正常,希望能帮到遇到此类问题的小伙伴



最后的吐槽:
这个问题已经纠结我一个月了,在论坛里发过贴,在群里请教过,这个圈子的交流讨论大环境真的不好,还遇到过特别恶心的事,在我表达不想换掉TP路由器后群里有人表达这个智商不要玩智能硬件
毕竟术业有专攻,分享交流才能提高








评分

参与人数 5金钱 +60 收起 理由
sorrypqa + 8 大神666!
DreamSky + 2 感谢楼主分享!
咸味土豆 + 20 膜拜大神!
zorankeinfo + 10 感谢楼主分享!
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

73

主题

1165

帖子

6645

积分

论坛元老

Rank: 8Rank: 8

积分
6645
金钱
5475
HASS币
30
发表于 2019-6-26 19:57:27 | 显示全部楼层
8266刷ESPHOME,直接进入ha,省掉mqtt中间件,连续几个月都没有出现过问题。
回复

使用道具 举报

0

主题

96

帖子

883

积分

高级会员

Rank: 4

积分
883
金钱
787
HASS币
0
发表于 2019-6-26 20:39:55 | 显示全部楼层
同esphome没啥大问题
回复

使用道具 举报

14

主题

155

帖子

1151

积分

论坛DIY达人

积分
1151
金钱
986
HASS币
40
 楼主| 发表于 2019-6-26 21:15:08 | 显示全部楼层
xuyang 发表于 2019-6-26 19:57
8266刷ESPHOME,直接进入ha,省掉mqtt中间件,连续几个月都没有出现过问题。

esphome没细看,目测不太符合我的需求,我在这几个能用的管脚上接了一个液晶屏,一个编码加按键旋钮,一个热电偶,两路可控硅,esphome怕是没法复用管脚,估计也没有gui和模糊控制,所以自己动手丰衣足食了
回复

使用道具 举报

14

主题

155

帖子

1151

积分

论坛DIY达人

积分
1151
金钱
986
HASS币
40
 楼主| 发表于 2019-6-26 21:16:16 | 显示全部楼层
hellerx 发表于 2019-6-26 20:39
同esphome没啥大问题

同上不太符合需求
回复

使用道具 举报

175

主题

2967

帖子

7606

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7606
金钱
4614
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2019-6-26 23:58:28 | 显示全部楼层
一直以为是TP中继器的问题,感谢~~
回复

使用道具 举报

4

主题

192

帖子

1576

积分

金牌会员

Rank: 6Rank: 6

积分
1576
金钱
1384
HASS币
0
发表于 2019-6-27 05:38:37 | 显示全部楼层
感谢分享,确实是大环境不太好,拿来主义,“聪明人”太多,很少有思考全面兼容的技术思想,也许是大多数人太壕。
回复

使用道具 举报

6

主题

226

帖子

3723

积分

论坛元老

Rank: 8Rank: 8

积分
3723
金钱
3497
HASS币
0
发表于 2019-6-27 09:37:29 | 显示全部楼层
观大牛一贴,倍感舒心
回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2019-6-27 09:47:25 | 显示全部楼层
  是大家看不上tplink
回复

使用道具 举报

15

主题

636

帖子

2203

积分

金牌会员

Rank: 6Rank: 6

积分
2203
金钱
1567
HASS币
0
发表于 2019-6-28 14:55:49 | 显示全部楼层
哈哈哈,不用tp好多年,用了linksys 1900acs刷了op就回不去了。。。

11b/g都是2.4G的,8266也只支持2.4G,按理说应该没问题。只要不用11a和n,ac就好了,这几个是5G的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-29 04:52 , Processed in 0.127143 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表