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

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

3天內(nèi)不再提示

基于ESP8266的簡(jiǎn)易氣象站的制作

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-26 10:13 ? 次閱讀

第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。

RemoteMe.org(注冊(cè))。

步驟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í)間,天氣狀況等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 氣象站
    +關(guān)注

    關(guān)注

    1

    文章

    737

    瀏覽量

    15621
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    44758
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    負(fù)氧離子氣象站

    氣象站
    pingao141378
    發(fā)布于 :2024年10月19日 08:52:28

    ESP8266 太空人動(dòng)畫的 OLED 顯示

    ESP8266 太空人動(dòng)畫的 OLED 顯示
    的頭像 發(fā)表于 10-08 15:06 ?195次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動(dòng)畫的 OLED 顯示

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的智能設(shè)備開始進(jìn)入我們的生活。其中,ESP32和ESP82
    的頭像 發(fā)表于 08-19 18:23 ?913次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?3842次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。然而,如果不進(jìn)行燒錄,ESP8266將無(wú)法正常工作。 1. ESP8266簡(jiǎn)介 ESP8266是一款由Espres
    的頭像 發(fā)表于 08-19 17:28 ?571次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過(guò)兩種方式實(shí)現(xiàn): 通過(guò)路由器連接(STA模式)和直接作為熱點(diǎn)連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過(guò)路由器連接(STA模式) 配置
    的頭像 發(fā)表于 08-19 17:27 ?1904次閱讀

    校園氣象站高??破照撐?b class='flag-5'>氣象站多功能氣象站

    校園氣象站高??破照撐?b class='flag-5'>氣象站多功能氣象站是一種集氣象監(jiān)測(cè)、數(shù)據(jù)傳輸、數(shù)據(jù)處理、信息發(fā)布等功能于一體的數(shù)字化氣象設(shè)備。它可以通過(guò)各種傳感器實(shí)時(shí)
    的頭像 發(fā)表于 08-06 17:53 ?395次閱讀
    校園<b class='flag-5'>氣象站</b>高??破照撐?b class='flag-5'>氣象站</b>多功能<b class='flag-5'>氣象站</b>

    ESP8266網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    基于ESP8266實(shí)現(xiàn)網(wǎng)絡(luò)獲取天氣和時(shí)鐘并OLED顯示
    的頭像 發(fā)表于 06-28 04:46 ?953次閱讀
    <b class='flag-5'>ESP8266</b>網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    便攜式氣象站:未來(lái)氣象監(jiān)測(cè)的便攜新選擇

    氣象站
    萬(wàn)象環(huán)境科技
    發(fā)布于 :2024年06月23日 10:39:24

    便攜式氣象站:科技與便捷的完美融合

    氣象站
    萬(wàn)象環(huán)境科技
    發(fā)布于 :2024年06月22日 21:14:07

    什么是自動(dòng)氣象站

    在科學(xué)技術(shù)迅猛發(fā)展的今天,自動(dòng)氣象站以其高效、精準(zhǔn)、實(shí)時(shí)的特點(diǎn),逐漸成為現(xiàn)代氣象觀測(cè)的先鋒。它不僅極大地提升了氣象觀測(cè)的效率和準(zhǔn)確性,還為農(nóng)業(yè)生產(chǎn)、交通運(yùn)輸、環(huán)境保護(hù)等領(lǐng)域提供了重要的氣象
    的頭像 發(fā)表于 06-14 09:15 ?490次閱讀
    什么是自動(dòng)<b class='flag-5'>氣象站</b>?

    小型氣象站是什么?有哪些作用?

    小型氣象站可以監(jiān)測(cè)多種氣象參數(shù),包括但不限于溫度、濕度、氣壓、風(fēng)速、風(fēng)向、降水量等。這些數(shù)據(jù)對(duì)于農(nóng)業(yè)、氣象預(yù)測(cè)、交通運(yùn)輸、環(huán)境監(jiān)測(cè)等領(lǐng)域都至關(guān)重要。例如,在農(nóng)業(yè)領(lǐng)域,農(nóng)民可以根據(jù)氣象站
    的頭像 發(fā)表于 05-29 17:03 ?528次閱讀

    國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對(duì)比差異

    ESP8266ESP8285對(duì)比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)上多加了1/2MB Flash, ESP8285與
    的頭像 發(fā)表于 05-17 11:44 ?1131次閱讀
    國(guó)產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對(duì)比差異

    罐區(qū)防爆氣象站:科技保障,安全生產(chǎn)

    JD-FBCQ罐區(qū)防爆氣象站是指在石油、化工等工業(yè)罐區(qū)內(nèi)設(shè)置的一種氣象監(jiān)測(cè)設(shè)備,旨在監(jiān)測(cè)和分析當(dāng)?shù)?b class='flag-5'>氣象變化,提供關(guān)鍵氣象信息,以保障罐區(qū)安全生產(chǎn)??萍急U显谶@里主要體現(xiàn)在提供高精度、實(shí)
    的頭像 發(fā)表于 03-19 16:40 ?567次閱讀

    什么是科研用的小型氣象站

      JD-CQX7科研用的小型氣象站是一種專門設(shè)計(jì)用于科學(xué)研究領(lǐng)域的氣象監(jiān)測(cè)設(shè)備,其主要特點(diǎn)是小巧輕便、靈活易用,并具有高精度的測(cè)量性能。這種氣象站通常包括多個(gè)傳感器,能夠測(cè)量和記錄氣溫、濕度、風(fēng)速、風(fēng)向、氣壓、降水量等多種
    的頭像 發(fā)表于 03-15 15:26 ?349次閱讀