2017-09-01 193 views
1

我有一个arduino Uno从传感器收集数据,我想发送这个数据到云使用WiFi esp8266谁支持SSL使用库WifiClientSecure,是还有一种方法可以将数据从arduino发送到esp卡,然后esp8266读取这些数据并将其发送到云端,我可以使用mqtt,但是我想知道是否有办法直接连接没有第三部分的arduino uno和esp8266,任何帮助都将成为难题。发送数据传感器从arduino到esp8266谁使用SSL发送到云

+0

您没有提及您使用的是哪个ESP8266电路板,但只要它具有USB端口和多个GPIO(例如,**不是** [ESP-01](http://alexnld.com/) wp-content/uploads/2016/04/4b168b08-a850-4aee-a5e5-8447f74680c1.jpg)),您可以在Arduino IDE中编写ESP本身。这样,它可以自己读取传感器数据并将其发送到云端(不需要Arduino Uno)。如果你的硬件支持它,我可以发布一个答案(希望)更详细 – ContinuousLoad

+0

我使用Esp8266-01这就是问题所在,并且必须使用arduino uno,因为他提供了很多功能,我阅读了一些文档,并且看到我们必须使用FTDI将软件直接上传到esp8266。 – Benada

+0

还有几个问题:当你说“esp卡”时,你的意思是“SD卡”还是ESP8266板?你能否澄清一下你想消除的“第三部分”?现在我看到你的设置如下所示:Arduino --serial - > ESP8266 - > cloud。它是否正确? – ContinuousLoad

回答

0

根据我的研究,ESP8266 AT Command API不支持SSL。这意味着您将需要使用Arduino(作为FTDI转换器)使用定制固件来编程ESP8266。这将使您能够使用WiFiClientSecurepubsubclient

要使用的Arduino作为FTDI:

  1. 负载草图不使用Serial,诸如 “闪烁” 的例子
  2. 阿尔杜伊诺的TX引脚连接到ESP8266 RX引脚
  3. Arduino的的RX引脚连接到ESP8266 TX引脚

现在你需要设置Arduino的IDE,因此它可以编程的ESP8266

  1. 在Arduino的IDE - >文件 - >首选项,粘贴到了更多电路经理网址:http://arduino.esp8266.com/stable/package_esp8266com_index.json(刚才复制的链接,因为它是不是点击)
  2. 去工具 - >主板 - >板管理器。在主板的列表中找到“esp8266”,然后单击“安装”
  3. 设置你的董事会“一般ESP8266模块”的工具 - >板

Arduino的IDE是准备好了!但在你用它编程一个ESP8266之前,你需要将一个重置按钮和一个程序按钮连接到ESP8266。

  1. 连接GND和ESP8266 GPIO_0销之间的按钮
  2. 连接GND和ESP8266 RESET引脚
  3. 添加3.3V和ESP8266之间的10K欧姆的上拉电阻器之间的按钮销(默认设置复位引脚为高电平)

当您准备上传草图到ESP8266,这样使用这些按钮:

  1. 按两个按钮
  2. 释放RESET按钮
  3. 释放GPIO_0按钮

这使ESP8266程序模式!你现在应该可以点击Arduino IDE中的“上传”按钮。我建议使用提供的ESP826a6示例草图(如this one)之一来测试所有内容。

下面是该项目的概述:

。Arduino Uno sketch:读取传感器数据,通过Serial发送到ESP8266 。 ESP8266草图:连接到WiFi网络,接收来自Serial的传感器数据,通过WiFiClientSecure发送到云端。

我会离开这两个程序的实际代码给你,但如果你卡住只是留下评论。希望这可以帮助!

相关问题