2017-09-01 124 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發送到雲端。

我會離開這兩個程序的實際代碼給你,但如果你卡住只是留下評論。希望這可以幫助!

相關問題