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