如何在Arduino上使用MQTT,使用串行com将AT命令发送到ESP8266


10

我刚刚开始研究MQTT协议。

情况

目前,在我的大学项目中,我使用Arduino作为主要MCU,并在其中做所有工作并使用Serial Comm。发送AT指令到esp8266(用于HTTP请求,在服务器上运行脚本等)。我基本上需要在网页(由本地服务器托管)上推送一些数据(来自Arduino)。我搜索并找到了关于MQTT协议的信息,该协议可以在客户端上发布和订阅数据(正是我想要的)。但是我发现的大多数教程要么完全在Arduino(带wifi屏蔽)上,要么完全在esp8266上。

我想知道的是,是否有可能将MQTT与当前配置一起使用?也就是说,使用Arduino通过串行通讯来完成所有工作。仅通过MQTT上的AT命令发布数据。

这里提到有关我的项目的其他信息:对智能家居系统中使用的技术感到困惑


您可以在Arduino和ESP之间通过wifi发送MQTT。无需进行物理连接。
Jimmy Westberg

为此,我也需要在Arduino上使用wifi,不是吗?我不需要在Arduino和ESP之间发送数据。我正在使用esp从arduino向本地服务器发送数据,我的arduino没有wifi屏蔽
Salim Shamim

啊哈,如果您已经完成了物理连接,则请看一下FW ESP Easy,它具有开箱即用的可靠MQTT集成。
吉米·韦斯特伯格

sonyarouje.com/2016/03/15/…我发现了这篇文章,这是你在说什么吗:P这是要走的路吗?抱歉,我只是个超级新手:D
Salim Shamim'Mar Mar''8

1
我在UART上尝试了MQTT(将AT命令发送给esp8266)github.com/nopnop2002/MQTT_UNO
nopnop2002

Answers:


4

我终于找到了Sony Arouje的教程。事实证明,我不得不完全放弃手动发送esp命令,而不得不使用该库(WiFiEsp.h)。提示...更好!

虽然最初它不能与我的esp8266一起使用,因为它具有较旧的固件,并报告错误“不支持固件”。我必须刷新较新的固件(以我的情况为1.54版工作)。刷新固件有问题的人可能会找到有关此主题的帮助:无法刷新ESP8266最新固件,显示“快速刷新错误”和“无效的包头('')”

此外,我还保存了所有下载工具和教程页面本身的副本,因此,如果将来将删除该帖子,或者如果任何人都找不到要刷新的工具。在评论或其他内容中与我联系(不在此处发布,因为我不知道是否可以发布其他人的内容)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.