ESP8266使用期间各种问题汇总

本文介绍了如何使用Shell脚本一键安装Linux上的EMQX MQTT服务器,并解决8084端口SSL连接失败、端口占用及ESP8266设备数据传输问题。强调了检查JSON格式、确认端口开放和WiFi配置的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shell 脚本一键安装 (Linux) emqx

curl https://repos.emqx.io/install_emqx.sh |bash
emqx start
#云服务器使用的是MQTT协议

如果连接某一个端口连不上,可能是这个端口正在被占用,可以尝试连接其他端口

网络的端口只是供连接用,所有的端口都是发送向同一个网址,订阅也是通用的
我之前一直连不上8084端口,但是可以连接其他端口
弹性公网:18083 dashboard 的控制端口
(要先在服务器上开通安全组端口18083)

使用esp8266传输消息失败

一开始buf设置为【256】但是有时候会失败,而且数据一旦过长就无法传送成功。
后来改为设置buf【512】传输成功

报错Unexpected token r in JSON at position 0

Unhandled Rejection (SyntaxError): Unexpected token c: in JSON at position 0 

当你向MQTT发送JSON数据时,返回值不是JSON,但是却用JSON解析就会出现这种情况
仔细检查自己发送的JSON格式是否正确
在mqtt或者Websocket的发送端应先将JSON的格式写好,再设置发送为JSON格式

{ "firstName": "Brett" }

报错 socket.io is closed before the connection is established

Websocket is closed before the connection is established socket. io
端口被占用,换其他端口申请,或者查看安全组端口是否被开通
多试几次就好了

WebSocke的SSL认证失败问题

WebSocket connection to 'wss://xxxx:8084/mqtt' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR 

需要开通8084端口,默认使用SSL协议的是8084端口,所以需要开通8084的安全组,再连接8084端口,其他的端口无法连接成功,请检查安全组8084端口是否开通

最最最最最重要的检查自己的wifi账号密码和网络域名是否写正确了

esp8266的协议只有TCP和TCPv6
普通域名或者IP地址是ws://
SSL认证的端口是wss://

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值