資料介紹
描述
筆記
本教程是對(duì)之前發(fā)布的教程將您的 Arduino 數(shù)據(jù)發(fā)布到云端的補(bǔ)充。這次的想法是相反的:從云端獲取數(shù)據(jù),而不是像以前那樣發(fā)布數(shù)據(jù)。
前面有很多重復(fù)的東西,但我假裝有一個(gè)全面的線索要閱讀,所以這個(gè)“多余的”文本將以斜體顯??示,以便清楚,如果你愿意,可以跳過(guò)。
概述
該項(xiàng)目的目的是向您展示如何使用來(lái)自云平臺(tái)的數(shù)據(jù)并在您的 Arduino 中使用它。該數(shù)據(jù)可能由另一個(gè) Arduino、Raspberry、應(yīng)用程序發(fā)布......
我們將使其盡可能簡(jiǎn)單:我們將從云端讀取數(shù)據(jù),然后顯示在串行監(jiān)視器中。該值不會(huì)在本地觸發(fā)任何特殊的事情,因此概念會(huì)很清楚。特別是,讓我們顯示我們之前在教程中發(fā)布的相同溫度信息。
這是在您的 Arduino 上沒(méi)有任何網(wǎng)絡(luò)服務(wù)器但使用在線服務(wù)完成的。在我們的項(xiàng)目中,我們使用的是 Arduino Nano 模型。使用另一種板模型沒(méi)有問(wèn)題 - 因?yàn)?Nano 是資源較少的板 - 但您必須注意哪些是適合您的情況的引腳。
訪問(wèn)網(wǎng)絡(luò)將使用 ESP8266 WiFi 模塊。
最后,為了擺脫服務(wù)器端,我們將使用在線服務(wù) circusofthings.com,我們可以將設(shè)備和應(yīng)用程序與單個(gè)社交帳戶關(guān)聯(lián)起來(lái)。
打開(kāi)組件電源
請(qǐng)注意,這是一個(gè)原型教程,而不是一個(gè)完美的獨(dú)立產(chǎn)品。我的意思是,我將使用實(shí)驗(yàn)室穩(wěn)定電壓源來(lái)實(shí)現(xiàn) ESP8266 所需的 3.3V,我并沒(méi)有發(fā)布從 5V、電池或電網(wǎng)中獲取此電壓所需的所有內(nèi)容……只是為了讓它更容易。
...但是,如果您決定從其他來(lái)源獲得這些 3、3V,請(qǐng)考慮:
- ESP8266 非常細(xì)膩。3.6V以上的電壓會(huì)炸。網(wǎng)上有一些關(guān)于它是否可以代表更高電壓的討論,但這取決于其他引腳的連接方式或它來(lái)自哪個(gè)制造商。不要冒險(xiǎn),記住:低于3.6V。
- 沒(méi)有人告訴我并且可能會(huì)為您節(jié)省一天的事情是,您可能會(huì)看到您的模塊完全供電,帶有閃亮的 LED……但是連接網(wǎng)絡(luò)時(shí)經(jīng)常出現(xiàn)問(wèn)題。似乎低于標(biāo)稱電壓的微小可能會(huì)導(dǎo)致可能影響射頻性能的功率短缺。
- 請(qǐng)注意,ESP8266 可能會(huì)消耗高達(dá) 250mA 的電流。永遠(yuǎn)不要嘗試從 Nano 的“3.3V”引腳獲取它,它無(wú)法獲取此電流。
同樣,為簡(jiǎn)單起見(jiàn),我不會(huì)使用外部 5Vdc 電源為 Nano 板供電,因?yàn)樗鼤?huì)通過(guò) USB 端口連接到 PC(正如您將在本教程中發(fā)現(xiàn)的那樣,USB 上的串行通信將被監(jiān)控以獲取有趣的調(diào)試)。
...但是,如果您決定從其他來(lái)源獲得這些 5V,請(qǐng)考慮:
- 讓 Nano 不僅有 5V 的電壓,還有足夠的電流。您的電源應(yīng)該能夠提供 1A 或更多電流。
- 將源極連接到 Nano 的“Vin”引腳,而不是“5V”引腳。第一個(gè)是正確的位置,因?yàn)樗艿絻?nèi)部穩(wěn)壓器的保護(hù)(不要害怕提供 6V)。第二個(gè)是可以供給其他組件的輸出。
將 WiFi 模塊連接到電路板
在我們連接到板之前...
...您真的知道制造商或任何其他人在您的 ESP8266 模塊中設(shè)置的串行波特率嗎?如果是,請(qǐng)?zhí)较乱稽c(diǎn)。
制造商通常將其設(shè)置為 9600 或 115200,但也可能是其他比率。
您可能想在編碼時(shí)遵循試錯(cuò)法來(lái)了解它,只需嘗試不同的波特率,看看它是否有效。
或者您可能希望將您的 PC 連接到 ESP8266,通過(guò) FTDI 模塊在兩者之間進(jìn)行接口,以使用 ATcommands 詢問(wèn)實(shí)際波特率。我推薦這種方式,因?yàn)樗哒f(shuō)明性,而且您可以確保您的模塊正常工作(而不是默默地?zé)龤Щ驌p壞)。為了實(shí)現(xiàn)它,我遵循了本教程,它非常好且清晰。
我建議將其設(shè)置為 9600 波特:對(duì)您的電子設(shè)備來(lái)說(shuō)簡(jiǎn)單而緩慢,對(duì)您的耐心來(lái)說(shuō)足夠快。正確的命令是 AT+CIOBAUD=9600。
連接到板
現(xiàn)在我們知道了我們的 ESP8266 模塊的波特率,我們可以繼續(xù)。
我們不會(huì)使用 Nano 板的 RX/TX UART 端口連接到 ESP8266。這是因?yàn)槲覀兿胱屵@個(gè)通道免費(fèi)用于從我們的 PC 進(jìn)行調(diào)試。
然后我們將使用兩個(gè)不同的數(shù)字引腳來(lái)?yè)碛辛硪粋€(gè)串口,即所謂的“軟件串口”。假設(shè) D2 將是 TX,D3 將是 RX 引腳。不要擔(dān)心如何實(shí)現(xiàn)這個(gè)新端口,您會(huì)在編碼部分發(fā)現(xiàn)使用庫(kù)處理它是多么容易。
那么,ESP8266 和 Nano 板之間的連接應(yīng)該是這樣的。
請(qǐng)注意,ESP8266 上的 CHEN PIN 必須通過(guò)設(shè)置高狀態(tài)(3.3V)來(lái)啟用。放置一個(gè)10Kohm電阻進(jìn)行保護(hù)。
另一個(gè)需要牢記的概念是 de TX/RX 在兩個(gè)設(shè)備中實(shí)現(xiàn)了不同的電壓電平。ESP8266 在 0 到 3.3V 之間工作,Nano 在 0 到 5V 之間工作。由于 Nano 能夠?qū)?3.3V 檢測(cè)為高電平狀態(tài),因此您可以將 Nano 上的 RX 直接連接到 ESP8266 上的 TX。但相反,建議使用分壓器來(lái)保護(hù) RX 輸入,在高電平時(shí)使用合適的 3.3V 電壓
.... 問(wèn)題是我和許多其他人已經(jīng)檢查過(guò)它在沒(méi)有張力分隔器的幾個(gè)月內(nèi)工作正常,ESP8266 似乎得到了足夠的保護(hù)。但是不要相信我,做好。
識(shí)別要在 Service Online 上讀取的信號(hào)
如果您還沒(méi)有帳戶,請(qǐng)按照流程在 circusofthings.com 上注冊(cè)。它是免費(fèi)的,正在尋找測(cè)試人員。
在社區(qū)提要中,查找“家中溫度”信號(hào)并記住它的密鑰,以便我們識(shí)別它(在我們的例子中,密鑰:944668525)。
?
編碼和上傳軟件
在我們?cè)O(shè)置代碼之前,您必須獲取一些 Arduino 庫(kù):
- CircusWifiLib,實(shí)現(xiàn)在線社區(qū)的API。在這里得到它。
(您不需要 Wifi/ESP8266 的任何庫(kù),因?yàn)樗怯?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)建的信號(hào)的密鑰而不是 your_signal_key_here。
上面的代碼將每 5 秒獲取一次在 Circus 發(fā)布的值,并將其顯示在串行終端上。
讓我們像往常一樣把草圖放在板上。
?
并打開(kāi) IDE 的串行監(jiān)視器(注意在我們的例子中我們?cè)O(shè)置了 9600baud 來(lái)調(diào)試)。
是否顯示溫度?
你做到了!現(xiàn)在您可以從云端獲取任何數(shù)據(jù)作為 Arduino 的輸入。
如果您以前沒(méi)有,請(qǐng)閱讀如何做相反的事情:將您的 Arduino 數(shù)據(jù)發(fā)布到云端。
希望這對(duì)你來(lái)說(shuō)很有趣。感謝您的關(guān)注!
?
- 如何使用arduino從衛(wèi)星獲取當(dāng)前時(shí)間
- Arduino與NodeMCU——聯(lián)網(wǎng)
- Arduino的GPS衛(wèi)星信息獲取和解析的實(shí)驗(yàn)例程的工程文件免費(fèi)下載 21次下載
- 物聯(lián)網(wǎng)全棧教程-從云端到設(shè)備(三) 16次下載
- 物聯(lián)網(wǎng)全棧教程-從云端到設(shè)備(二) 10次下載
- 物聯(lián)網(wǎng)全棧教程-從云端到設(shè)備(一) 21次下載
- Arduino從基礎(chǔ)到實(shí)踐part2 15次下載
- Arduino從基礎(chǔ)到實(shí)踐part3 17次下載
- Arduino從基礎(chǔ)到實(shí)踐part4 21次下載
- Arduino從基礎(chǔ)到實(shí)踐part1 14次下載
- Arduino從基礎(chǔ)到實(shí)踐_part1 39次下載
- Arduino從基礎(chǔ)到實(shí)踐_part2 29次下載
- Arduino從基礎(chǔ)到實(shí)踐_part3 26次下載
- Arduino從基礎(chǔ)到實(shí)踐_part4 24次下載
- Arduino從基礎(chǔ)到實(shí)踐_part5 26次下載
- FCom解讀熱敏晶振與溫補(bǔ)晶振:從結(jié)構(gòu)到原理,從差異到使用條件 999次閱讀
- 如何使用Python和PinPong庫(kù)控制Arduino 718次閱讀
- 淺談mysql自有方式采集獲取監(jiān)控數(shù)據(jù) 435次閱讀
- 如何從您喜愛(ài)的傳感器中獲取數(shù)據(jù) 1509次閱讀
- 如何在云端共享PCB設(shè)計(jì)數(shù)據(jù) 659次閱讀
- 使用Analog Discovery 2 分析云端測(cè)量數(shù)據(jù) 1946次閱讀
- 如何在云端共享PCB設(shè)計(jì)數(shù)據(jù)? 680次閱讀
- 基于Raspberry Pi Pico的云端溫濕度監(jiān)測(cè)站設(shè)計(jì) 1773次閱讀
- 如何設(shè)置Arduino IoT將消息發(fā)送到云板顯示器 2121次閱讀
- 如何從網(wǎng)頁(yè)控制arduino? 3836次閱讀
- 從四個(gè)方面對(duì)大數(shù)據(jù)進(jìn)行闡述 4010次閱讀
- 基于機(jī)器學(xué)習(xí)平臺(tái)如何獲取、處理和保留數(shù)據(jù) 1252次閱讀
- 利用Arduino制作8×10 LED矩陣 8489次閱讀
- 什么是磁力鏈接?如何用Python獲取磁力種子? 2.1w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多