第1步:你需要什么: -
對(duì)于這個(gè)可以指導(dǎo)的所有你需要的是一個(gè)微控制器,它可以是Arduino或raspberry pi或者我用過(guò)ESP8266。我使用的是基于ESP8266的Node MCU,如果你使用的是arduino,你將需要ESP WiFi模塊。
硬件組件: -
NodeMCU(美國(guó)鏈接)
LCD顯示屏。 x 1(美國(guó)鏈接)
面包板。 x 1(美國(guó)鏈接)
瞬時(shí)開關(guān)x 1(美國(guó)鏈接)。
220歐姆電阻x 1.(美國(guó)鏈接)
10k歐姆電位器x 1(美國(guó)鏈接)。
軟件: -
Ardunio IDE。
步驟2:在RemoteMe上設(shè)置變量: -
在此步驟我們將設(shè)置變量,將數(shù)據(jù)發(fā)送到我們的微控制器。首先訪問(wèn)RemoteMe.org并按照以下步驟操作: - (請(qǐng)參閱上面的圖片以便更好地理解)
在網(wǎng)站上,前往“ Applications ”并創(chuàng)建一個(gè)帳戶,如果您還沒(méi)有帳戶。
接下來(lái),轉(zhuǎn)到“變量”(它位于菜單的左側(cè))。
在“變量”選項(xiàng)中,將有一個(gè)空白頁(yè)面,右上角有“添加”選項(xiàng)。點(diǎn)擊它。將出現(xiàn)一個(gè)彈出窗口。
在彈出窗口中填寫變量的名稱。這取決于你想要什么(訂閱者計(jì)數(shù),查看計(jì)數(shù)或天氣信息)。
現(xiàn)在選擇服務(wù)器類型“遠(yuǎn)程”,該組依賴于您想要的YouTube或天氣數(shù)據(jù)。
如果您選擇“ YouTube ”,則需要在YouTube上找到的頻道ID,到Y(jié)ouTube并搜索您想要的頻道,打開它并在網(wǎng)址中復(fù)制代碼。 (查看圖像以供參考)
現(xiàn)在,在“遠(yuǎn)程模式”選項(xiàng)中,選擇您希望訂閱者計(jì)數(shù)或視圖計(jì)數(shù)的內(nèi)容。并提交數(shù)據(jù)。它將創(chuàng)建一個(gè)變量。同樣為您想要的其他數(shù)據(jù)創(chuàng)建更多變量。
查看圖片了解詳情,了解更多信息。
步驟3:在RemoteMe上設(shè)置設(shè)備: -
完成變量后,轉(zhuǎn)到“ Devices ”選項(xiàng)。它位于“ Variables ”之上。在這里你必須創(chuàng)建一個(gè)新設(shè)備。
要?jiǎng)?chuàng)建新設(shè)備,請(qǐng)選擇右上角的選項(xiàng)。
從下拉列表中選擇“新網(wǎng)絡(luò)設(shè)備”下方菜單。將出現(xiàn)一個(gè)彈出窗口。
首先選擇您正在使用的設(shè)備類型。 (對(duì)于Arduino和NodeMCU,請(qǐng)選擇arduino)
將設(shè)備命名為YouTube/Weather,無(wú)論您想要什么。
提供一個(gè)設(shè)備ID,它可以是任何東西,但對(duì)于第一個(gè)設(shè)備給‘1’。
現(xiàn)在提交。將出現(xiàn)一個(gè)新設(shè)備。
單擊設(shè)備上的漢堡菜單。 (由3條水平線表示)并選擇“代碼生成器向?qū)А薄?/p>
現(xiàn)在選擇Variables,Select all并單擊Next。
輸入您的WiFi名稱和密碼。在令牌菜單中選擇令牌。單擊Next。
打開調(diào)試選項(xiàng)并單擊下一步。
在這里,您可以看到Arduino的代碼。它將自動(dòng)生成,您可以下載它。
繼續(xù)下一步。
第4步:編碼: -
下載的代碼現(xiàn)在可以上傳到微控制器。要使代碼生效,您需要一些可以從庫(kù)管理器安裝的庫(kù)。
安裝庫(kù): -
轉(zhuǎn)到 》》 草圖 》》 包含庫(kù) 》》 管理庫(kù)。
在搜索欄中輸入庫(kù)的名稱。 (ESP8266WiFi,ESP8266WiFiMulti& RemoteMe)
安裝庫(kù)。
現(xiàn)在您可以上傳代碼并打開串行監(jiān)視器來(lái)觀看數(shù)據(jù)。
下面我提供了一些代碼,稍加編輯以使結(jié)果更具體。您可以下載代碼,添加您的WiFi名稱和必填字段中的密碼。還要添加上一步(‘1’)中使用的設(shè)備ID。
手動(dòng)添加令牌轉(zhuǎn)到 RemoteMe 》》 應(yīng)用程序》》 令牌。復(fù)制令牌并將其粘貼到代碼上。上傳并檢查串口監(jiān)視器的結(jié)果。
注意: - 要使用arduino IDE對(duì)ESP板進(jìn)行編程,您必須設(shè)置IDE,如果您不知道,可以檢查這個(gè) 教程 。
步驟5:在LCD上顯示數(shù)據(jù): -
現(xiàn)在您已成功在“串行監(jiān)視器”上顯示數(shù)據(jù),您可以繼續(xù)在LCD屏幕上顯示數(shù)據(jù),以便項(xiàng)目更加便攜。
請(qǐng)仔細(xì)按照以下步驟操作: -
首先將NodeMCU板(ESP8266)放在面包板上,將其‘3.3v’連接到‘面包板的+ ve’軌道和‘Gnd’到‘ - ve’軌道。
連接MCU旁邊的按鈕,并通過(guò)‘220 ohm’電阻將其一個(gè)引腳連接到面包板的“-ve”軌道。并將相同的引腳連接到MCU的‘D2’引腳。將按鈕的另一個(gè)引腳連接到面包板的‘+ ve’導(dǎo)軌。
現(xiàn)在連接面包板上的LCD并仔細(xì)按照連接進(jìn)行操作。
VSS 》》面包板的-ve rail。
VDD 》》 + ve rail。
V0 》》電位器的中間端子。 (將另外兩個(gè)端子連接到-ve和+ ve)
RS 》》 D2
RW 》》 -ve rail。
E 》》 D3的MCU
D4 》》 D5
D5 》》 D6
D6 》》 D7
D7 》》 D8
A 》》 + ve導(dǎo)軌板通過(guò)220歐姆電阻器。
K 》》 -ve rail
我知道這有點(diǎn)令人困惑,但請(qǐng)查看圖片以獲得更好的主意。
完成后,連接就緒,現(xiàn)在只需要上傳代碼。
需要編輯代碼才能使用LCD。
讓我們編輯前面的代碼: -
#define WIFI_NAME “WiFi Name”
#define WIFI_PASSWORD “WiFi Password”
#define DEVICE_ID 1
#define DEVICE_NAME “Device Name”
#define TOKEN “Add Token”
#define btn D1 //Declare a button variable for push button
#include
#include
#include
#include
#include //including library to use LCD
LiquidCrystal lcd(D2, D3, D5, D6, D7, D8); //mapping LCD pins to ESP‘s pins
/* Variables to store data from RemoteMe */
int16_t i, i1, i2, temp, pres;
int32_t subs, views;
String hr; //Only needed if you want to display time.
long lastDebounceTime = 0, debounceDelay = 50; //To eliminate button bouncing.
ESP8266WiFiMulti WiFiMulti;
RemoteMe& remoteMe = RemoteMe::getInstance(TOKEN, DEVICE_ID);
void onSubscribersChange(int32_t i)
{
subs = i; //Storing subscriber data in variable ’subs‘
}
void onViewsChange(int32_t i)
{
views = i; //Storing views in variable ’views‘
}
void onWeatherChange(int16_t i1, int16_t i2,String s1,String s2)
{
temp = i1; //storing temperature
pres = i2; //Storing Pressure
}
/*New functions to display the stored data*/
void youtube()
{
//Display YouTube info.
Serial.printf(“Subscribers : %d ”, subs);
Serial.printf(“Views : %d ”, views);
lcd.clear();
lcd.printf(“Subscribers : %d”, subs);
lcd.setCursor(0,1);
lcd.printf(“Views : %d”, views);
lcd.setCursor(0,0);
}
void weather()
{
//Display weather info.
Serial.printf(“Temparature : %d °C ”, temp);
Serial.printf(“Pressure : %d Pa ”, pres);
lcd.clear();
lcd.printf(“Temperature : %d”, temp);
lcd.setCursor(0,1);
lcd.printf(“Pressure : %d”, pres);
lcd.setCursor(0,0);
}
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(btn, INPUT);
WiFiMulti.addAP(WIFI_NAME, WIFI_PASSWORD);
while (WiFiMulti.run() != WL_CONNECTED)
{
delay(100);
}
remoteMe.getVariables()-》observeInteger(“Subscribers” ,onSubscribersChange);
remoteMe.getVariables()-》observeInteger(“Views” ,onViewsChange);
remoteMe.getVariables()-》observeSmallInteger2Text2(“Weather” ,onWeatherChange);
remoteMe.sendRegisterDeviceMessage(DEVICE_NAME);
Serial.print(“Connected.。.”);
lcd.print(“Connected.。.”);
}
void loop()
{
int btn_state = LOW; //button state is initially set LOW
static int flag = 0; //flag is set 0
btn_state = digitalRead(btn); //button input is read.
if((millis() - lastDebounceTime) 》 debounceDelay)
{
if((btn_state == HIGH) && (flag == 0)) //if button is pressed & flag is 0
{
weather(); //show weather data
flag = 1; //set flag to 1
}
else if((btn_state == HIGH) && (flag == 1)) //if button is pressed & flag is 1
{
youtube(); //show YouTube info
flag = 0; //set flag to 0
}
lastDebounceTime = millis();
}
remoteMe.loop();
}
因此,在進(jìn)行更改后,您可以將代碼上傳到電路板,您應(yīng)該看到LCD上顯示“已連接。..”以及串行監(jiān)視器。
從下面下載代碼: -
第6步:測(cè)試: -
代碼啟動(dòng)并運(yùn)行后,您可以測(cè)試一切是否正常。
當(dāng)ESP板連接到網(wǎng)絡(luò)時(shí),LCD將顯示“已連接。..”
按此按鈕將顯示天氣(溫度和壓力信息),再按一次將顯示YouTube用戶和總計(jì)觀點(diǎn)。
您可以編輯代碼以顯示其他信息,如時(shí)間,天氣狀況等。
-
氣象站
+關(guān)注
關(guān)注
1文章
737瀏覽量
15621 -
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
44758
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論