電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>從云端獲取數(shù)據(jù)到您的Arduino

從云端獲取數(shù)據(jù)到您的Arduino

2022-11-08 | zip | 0.05 MB | 次下載 | 2積分

資料介紹

描述

筆記

教程是對之前發(fā)布的教程將您的 Arduino 數(shù)據(jù)發(fā)布到云端的補充。這次的想法是相反的:從云端獲取數(shù)據(jù),而不是像以前那樣發(fā)布數(shù)據(jù)。

前面有很多重復(fù)的東西,但我假裝有一個全面的線索要閱讀,所以這個“多余的”文本將以斜體顯??示,以便清楚,如果你愿意,可以跳過。

概述

該項目的目的是向您展示如何使用來自云平臺的數(shù)據(jù)并在您的 Arduino 中使用它。該數(shù)據(jù)可能由另一個 Arduino、Raspberry、應(yīng)用程序發(fā)布......

我們將使其盡可能簡單:我們將從云端讀取數(shù)據(jù),然后顯示在串行監(jiān)視器中。該值不會在本地觸發(fā)任何特殊的事情,因此概念會很清楚。特別是,讓我們顯示我們之前在教程中發(fā)布的相同溫度信息。

這是在您的 Arduino 上沒有任何網(wǎng)絡(luò)服務(wù)器但使用在線服務(wù)完成的。在我們的項目中,我們使用的是 Arduino Nano 模型。使用另一種板模型沒有問題 - 因為 Nano 是資源較少的板 - 但您必須注意哪些是適合您的情況的引腳。

?
poYBAGNonbmAcBKrAABBBm8vFoc468.jpg
?

訪問網(wǎng)絡(luò)將使用 ESP8266 WiFi 模塊。

?
poYBAGNonbyAVjsrAABFKuxkC2A430.jpg
?

最后,為了擺脫服務(wù)器端,我們將使用在線服務(wù) circusofthings.com,我們可以將設(shè)備和應(yīng)用程序與單個社交帳戶關(guān)聯(lián)起來。

?
pYYBAGNonb6ADtzPAAB53dOdAeg617.png
?

打開組件電源

請注意,這是一個原型教程,而不是一個完美的獨立產(chǎn)品。我的意思是,我將使用實驗室穩(wěn)定電壓源來實現(xiàn) ESP8266 所需的 3.3V,我并沒有發(fā)布從 5V、電池或電網(wǎng)中獲取此電壓所需的所有內(nèi)容……只是為了讓它更容易。

?
poYBAGNoncCATjlbAACiMLxyJBc811.jpg
?

...但是,如果您決定從其他來源獲得這些 3、3V,請考慮:

  • ESP8266 非常細膩。3.6V以上的電壓會炸。網(wǎng)上有一些關(guān)于它是否可以代表更高電壓的討論,但這取決于其他引腳的連接方式或它來自哪個制造商。不要冒險,記?。旱陀?.6V。
  • 沒有人告訴我并且可能會為您節(jié)省一天的事情是,您可能會看到您的模塊完全供電,帶有閃亮的 LED……但是連接網(wǎng)絡(luò)時經(jīng)常出現(xiàn)問題。似乎低于標(biāo)稱電壓的微小可能會導(dǎo)致可能影響射頻性能的功率短缺。
  • 請注意,ESP8266 可能會消耗高達 250mA 的電流。永遠不要嘗試從 Nano 的“3.3V”引腳獲取它,它無法獲取此電流。

同樣,為簡單起見,我不會使用外部 5Vdc 電源為 Nano 板供電,因為它會通過 USB 端口連接到 PC(正如您將在本教程中發(fā)現(xiàn)的那樣,USB 上的串行通信將被監(jiān)控以獲取有趣的調(diào)試)。

?
poYBAGNoncKAXqJAAAC6K-7Vj00690.jpg
?

...但是,如果您決定從其他來源獲得這些 5V,請考慮:

  • 讓 Nano 不僅有 5V 的電壓,還有足夠的電流。您的電源應(yīng)該能夠提供 1A 或更多電流。
  • 將源極連接到 Nano 的“Vin”引腳,而不是“5V”引腳。第一個是正確的位置,因為它受到內(nèi)部穩(wěn)壓器的保護(不要害怕提供 6V)。第二個是可以供給其他組件的輸出。

將 WiFi 模塊連接到電路板

在我們連接到板之前...

...您真的知道制造商或任何其他人在您的 ESP8266 模塊中設(shè)置的串行波特率嗎?如果是,請?zhí)较乱稽c。

制造商通常將其設(shè)置為 9600 或 115200,但也可能是其他比率。

您可能想在編碼時遵循試錯法來了解它,只需嘗試不同的波特率,看看它是否有效。

或者您可能希望將您的 PC 連接到 ESP8266,通過 FTDI 模塊在兩者之間進行接口,以使用 ATcommands 詢問實際波特率。推薦這種方式,因為它更具說明性,而且您可以確保您的模塊正常工作(而不是默默地?zé)龤Щ驌p壞)。為了實現(xiàn)它,我遵循了本教程,它非常好且清晰。

我建議將其設(shè)置為 9600 波特:對您的電子設(shè)備來說簡單而緩慢,對您的耐心來說足夠快。正確的命令是 AT+CIOBAUD=9600。

連接到板

現(xiàn)在我們知道了我們的 ESP8266 模塊的波特率,我們可以繼續(xù)。

我們不會使用 Nano 板的 RX/TX UART 端口連接到 ESP8266。這是因為我們想讓這個通道免費用于從我們的 PC 進行調(diào)試。

然后我們將使用兩個不同的數(shù)字引腳來擁有另一個串口,即所謂的“軟件串口”。假設(shè) D2 將是 TX,D3 將是 RX 引腳。不要擔(dān)心如何實現(xiàn)這個新端口,您會在編碼部分發(fā)現(xiàn)使用庫處理它是多么容易。

那么,ESP8266 和 Nano 板之間的連接應(yīng)該是這樣的。

?
pYYBAGNonceAPtSjAABgeb4zPTc456.bmp
?

請注意,ESP8266 上的 CHEN PIN 必須通過設(shè)置高狀態(tài)(3.3V)來啟用。放置一個10Kohm電阻進行保護。

另一個需要牢記的概念是 de TX/RX 在兩個設(shè)備中實現(xiàn)了不同的電壓電平。ESP8266 在 0 到 3.3V 之間工作,Nano 在 0 到 5V 之間工作。由于 Nano 能夠?qū)?3.3V 檢測為高電平狀態(tài),因此您可以將 Nano 上的 RX 直接連接到 ESP8266 上的 TX。但相反,建議使用分壓器來保護 RX 輸入,在高電平時使用合適的 3.3V 電壓

.... 問題是我和許多其他人已經(jīng)檢查過它在沒有張力分隔器的幾個月內(nèi)工作正常,ESP8266 似乎得到了足夠的保護。但是不要相信我,做好。

識別要在 Service Online 上讀取的信號

如果您還沒有帳戶,請按照流程在 circusofthings.com 上注冊。它是免費的,正在尋找測試人員。

在社區(qū)提要中,查找“家中溫度”信號并記住它的密鑰,以便我們識別它(在我們的例子中,密鑰:944668525)。

?
poYBAGNoncmAXHLuAAEgx4USi_g613.png
?

?

編碼和上傳軟件

在我們設(shè)置代碼之前,您必須獲取一些 Arduino 庫:

(您不需要 Wifi/ESP8266 的任何庫,因為它是由 CircusWifiLib 完成的)。

現(xiàn)在我們可以看一下代碼:

/*
 ReadOneSignal.ino
 This example code that shows how to read a signal using the circusofthings.com API through its CircusWifiLib-2.0.0 library for Arduino.
 This code will temperature value beiing posted at at Circus.
 A software serial port is used, so the onboard serial port is used to monitor the process. You have 3 degrees for monitor: DEBUG_NO,DEBUG_YES and DEBUG_DEEP.
 There are no 3rd part libraries to use, beside SoftwareSerial.
 Created by Jaume Miralles Isern, November 13, 2018.
*/
#include 
// ------------------------------------------------
// These are the CircusWifiLib related declarations
// ------------------------------------------------
int TXPinForWifiModule = 2;               // IO port in your arduino you will use as TX for serial communication with the wifi module
int RXPinForWifiModule = 3;               // IO port in your arduino you will use as RX for serial communication with the wifi module
char ssid[] = "your_SSID_here";           // your wifi network SSID
char pass[] = "your_WIFI_password_here";  // your wifi network password
int wifiSerialBaudRate = 9600;            // Baud rate between your arduino and your wifi module. Did you check that your module actually uses this baud rate?
int debugSerialBaudRate = 9600;           // Baud rate between your arduino and your computer
char token[] = "your_token_here";         // Your API token for Circus
char temperatureSignalKey[] = "your_signal_key_here";     // The key of the signal you that exists at circusofthings.com
SoftwareSerial ss(RXPinForWifiModule,TXPinForWifiModule);
CircusWifiLib circus(Serial,&ss,ssid,pass,DEBUG_YES,KEEP_ALIVE);
void setup() {
 Serial.begin(debugSerialBaudRate);
 ss.begin(wifiSerialBaudRate);
 circus.begin();    
}
void loop() {
 delay(5000);
 double d = circus.read(temperatureSignalKey,token);
 Serial.print("Temperature value is: ");
 Serial.println(d);
}

把你的 WIFI 的 SSID 而不是 your_wifi_SSID_here。

把 WIFI 密碼代替 your_wifi_password_here。

將您的帳戶令牌而不是 your_user_token_here。

將您創(chuàng)建的信號的密鑰而不是 your_signal_key_here。

上面的代碼將每 5 秒獲取一次在 Circus 發(fā)布的值,并將其顯示在串行終端上。

讓我們像往常一樣把草圖放在板上。

?
pYYBAGNoncyARFQIAAEImqRI1kw261.png
?

?

并打開 IDE 的串行監(jiān)視器(注意在我們的例子中我們設(shè)置了 9600baud 來調(diào)試)。

?
poYBAGNonc6ABydCAAC-rMb0qQs372.png
?

是否顯示溫度?

你做到了!現(xiàn)在您可以從云端獲取任何數(shù)據(jù)作為 Arduino 的輸入。

如果您以前沒有,請閱讀如何做相反的事情:將您的 Arduino 數(shù)據(jù)發(fā)布到云端。

希望這對你來說很有趣。感謝您的關(guān)注!

在我們的博客中查找更多故事。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費