一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何連接和編程ESP8266

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-11 16:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:為Arduino設(shè)置ESP8266

有很多使用ESP8266的方法,包括使用它作為簡單的WiFi調(diào)制解調(diào)器,連接到Arduino或在其上運(yùn)行腳本語言(“ Lua”)。在此指導(dǎo)中,我們將使用帶有Arduino核心的ESP8266來代替。本質(zhì)上,這意味著一旦設(shè)置好,您就可以從常規(guī)Arduino IDE編程ESP8266。這有很多優(yōu)點(diǎn):它提供了很好的性能,有大量的用戶,您會(huì)發(fā)現(xiàn)大量的代碼示例以及用于各種硬件的庫。..但是,坦白地說,設(shè)置起來可能有點(diǎn)復(fù)雜

幸運(yùn)的是,其他人已經(jīng)就如何做到這一點(diǎn)撰寫了出色的說明。例如。此指令或此指令(使用另一種編程技術(shù))。如果這一切看起來有些嚇人,您可以使用帶有USB連接器的開發(fā)板(例如Wemos D1),使進(jìn)入ESP8266的世界變得容易得多(但成本略高)。例如,此處給出了非常詳盡的說明(也適用于許多類似的板)。

步驟2:初學(xué)者2:在ESP8266上設(shè)置Web服務(wù)器

現(xiàn)在您的ESP8266已設(shè)置為與Arduino環(huán)境一起使用,我們可以開始編程了。為了確保我們在教科書的同一頁上,我們將首先設(shè)置一個(gè)簡單的Web服務(wù)器,以靜態(tài)消息向我們打招呼。以下是您所需的全部代碼:

#include

#include

// create a web server on port 80 (HTTP)

ESP8266WebServer server(80);

// this function is called for each HTTP request

void handlePage() {

server.send(200, “text/plain”, “Hello world!”);

}

void setup() {

// Example WIFI setup as an access point. Change this to whatever suits you, best.

WiFi.mode(WIFI_AP);

WiFi.softAPConfig (IPAddress (192,168,4,1), IPAddress (0,0,0,0), IPAddress (255,255,255,0));

WiFi.softAP(“EmbAJAXTest”, “12345678”);

// register the page handler and start the server

server.on(“/”, handlePage);

server.begin();

}

void loop() {

// inside loop(), add this line to check for and handle incoming connections

server.handleClient();

}

草圖非常簡單,幾乎不需要解釋內(nèi)嵌注釋。我想指出的一件事是,在本示例(及以下示例)中,我們將ESP8266設(shè)置為無線接入點(diǎn)。這提供了一個(gè)非常簡單但有效的安全機(jī)制:只有范圍,和范圍內(nèi)的客戶端才能知道會(huì)話密碼。

好,因此請將草繪上載到ESP8266。接下來,在您的PC上,啟動(dòng)WiFi連接管理器,掃描名為“ EmbAJAXTest”的網(wǎng)絡(luò),然后連接(密碼為“ 12345678”,如草圖中所配置)。現(xiàn)在啟動(dòng)網(wǎng)絡(luò)瀏覽器,然后在位置欄中輸入“ http://192.168.4.1”。應(yīng)該會(huì)收到消息“ Hello world!”。

步驟3:安裝EmbAJAX

一切正常,所以遠(yuǎn)?大!下一步將很容易。首先,我們必須安裝EmbAJAX庫。和往常一樣,有許多方法可以完成此操作,但這是一種方法:

下載該庫的ZIP。

在Arduino IDE中,選擇“ Sketch-》 Include Library-》 Add .ZIP Library”,然后選擇下載的ZIP。

為了很好地采取措施,請重新啟動(dòng)Arduino(雖然可能不需要)

要正確驗(yàn)證EmbAJAX已安裝,請檢查“文件-》”下是否列出了任何內(nèi)容。示例-》 EmbAJAX”。

第4步:閃爍您的LED-網(wǎng)絡(luò)控制

好吧,我保證您可以做得更多除了使用EmbAJAX閃爍LED之外,但這仍然是入門的有用示例。我們將從第3步開始擴(kuò)展示例。 (以下清單直接取自EmbAJAX庫附帶的“ Blink”示例:“ File-》 Examples-》 EmbAJAX-》 Blink”)。

#include

#include

#include

#define LEDPIN LED_BUILTIN

// Set up web server, and register it with EmbAJAX

ESP8266WebServer server(80);

EmbAJAXOutputDriverESP8266 driver(&server);

// Define the main elements of interest as variables, so we can access to them later in our sketch.

const char* modes[] = {“On”, “Blink”, “Off”};

EmbAJAXRadioGroup《3》 mode(“mode”, modes);

EmbAJAXSlider blinkfreq(“blfreq”, 0, 1000, 100); // slider, from 0 to 500, initial value 400

// Define a page (named “page”) with our elements of interest, above, interspersed by some uninteresting

// static HTML. Note: MAKE_EmbAJAXPage is just a convenience macro around the EmbAJAXPage###》-class.

MAKE_EmbAJAXPage(page, “EmbAJAX example - Blink”, “”,

new EmbAJAXStatic(“

Control the builtin LED

Set the LED to: ”),

&mode,

new EmbAJAXStatic(“

Blink frequency: SLOW”),

&blinkfreq,

new EmbAJAXStatic(“FAST

”)

void handlePage() {

if(server.method() == HTTP_POST) { // AJAX request

page.handleRequest(updateUI);

} else { // Page load

page.print();

}

}

void setup() {

// Example WIFI setup as an access point. Change this to whatever suits you, best.

WiFi.mode(WIFI_AP);

WiFi.softAPConfig (IPAddress (192,168,4,1), IPAddress (0,0,0,0), IPAddress (255,255,255,0));

WiFi.softAP(“EmbAJAXTest”, “12345678”);

// Tell the server to serve our EmbAJAX test page on root

server.on(“/”, handlePage);

server.begin();

pinMode(LEDPIN, OUTPUT);

}

void updateUI() {

// Enabled / disable the slider. Note that you could simply do this inside the loop. However,

// placing it here makes the client UI more responsive (try it)。

blinkfreq.setEnabled(mode.selectedOption() == 1);

}

void loop() {

// handle network

server.handleClient();

// And these lines are all you have to write for the logic: Access the elements as if they were plain

// local controls

if (mode.selectedOption() == 1) { // blink

digitalWrite(LEDPIN, (millis() / (1100 - blinkfreq.intValue())) % 2);

} else { // on or off

digitalWrite(LEDPIN, mode.selectedOption() != 0);

}

}

好,此清單更長一點(diǎn),但是您會(huì)發(fā)現(xiàn)它幾乎沒有害處。從頂部開始,我們現(xiàn)在將EmbAJAX libraray添加到了草圖中(顯然)。接下來,我們定義該引腳以使LED閃爍。令人驚訝的是,這是更復(fù)雜的方面之一,因?yàn)镋SP板在其板載LED的連接位置上存在巨大差異。如果所有其他方法均失敗,則可能需要調(diào)整此定義,以將外部LED(帶有電阻?。┻B接到GPIO引腳之一。

接下來,我們在Web之外還定義了“輸出驅(qū)動(dòng)器”服務(wù)器實(shí)例。不用擔(dān)心這一行,基本上,您只是在告訴EmbAJAX庫在哪里發(fā)送和接收數(shù)據(jù)。

以下幾行更加有趣:我們定義了一些EmbAJAX元素,重要的是一組單選按鈕,以及一個(gè)滑塊。然后將它們添加到網(wǎng)頁(MAKE_EmbAJAXPage)。除了收音機(jī)和滑塊之外,它還包含一些靜態(tài)元素。嘗試添加自己的。乍一看可能很復(fù)雜,但實(shí)際上非常簡單。

handlePage()函數(shù)現(xiàn)在稍微復(fù)雜一點(diǎn):它現(xiàn)在區(qū)分“ GET”請求(正常頁面加載),和“ POST”請求(用于傳輸AJAX數(shù)據(jù))。幸運(yùn)的是,我們不必在這里填寫任何復(fù)雜的內(nèi)容。您需要擔(dān)心的一點(diǎn)是,當(dāng)客戶端發(fā)出更改信號時(shí),將提供要調(diào)用的函數(shù)的名稱(updateUI(),如下所述)。

與我們的靜態(tài)Web服務(wù)器示例相比, setup()實(shí)際上是不變的。唯一的補(bǔ)充是我們設(shè)置了LED引腳的輸出模式。每當(dāng)在Web客戶端中更改控件之一時(shí),就會(huì)調(diào)用

updateUI()。當(dāng)且僅當(dāng)在單選按鈕組中選擇了“閃爍”選項(xiàng)時(shí),我們才能使用此功能將滑塊元素設(shè)置為啟用。這實(shí)際上是我希望您會(huì)認(rèn)為“整潔”的第一點(diǎn):請注意,您將控件當(dāng)作普通的本地對象來處理。您不必?fù)?dān)心發(fā)送或接收任何數(shù)據(jù)。所有這些都是由庫處理的。

類似地,在循環(huán)內(nèi),控件的外觀就像本地對象一樣。您可以查詢它們的當(dāng)前狀態(tài)并對此采取行動(dòng)(請注意,這些操作非??欤凰鼈儗?shí)際上并不異步,因此不涉及每個(gè)呼叫的網(wǎng)絡(luò)請求)。

理論上足夠了!上載草圖,然后在瀏覽器中重新加載“ http://192.168.4.1”。 (ESP8266重啟后,您不一定要重新連接到“ EmbAJAXTest” WiFi網(wǎng)絡(luò);這取決于您的系統(tǒng)和設(shè)置。)您應(yīng)該看到一個(gè)無線電組和一個(gè)滑塊。開始播放!

第5步:從此處出發(fā)

單選按鈕和滑塊并不多,但是當(dāng)然,EmbAJAX不僅具有更多元素。上面是瀏覽“輸入”示例的屏幕截圖(“文件-》示例-》 EmbAJAX-》輸入”)。這顯示了EmbAJAX中當(dāng)前可用的控件。 您知道在您的項(xiàng)目中將這些內(nèi)容用于什么,所以我將不提供任何其他示例,而只是將您引向EmbAJAX API文檔。請注意,您還可以添加自定義CSS進(jìn)行樣式設(shè)置。

作為輸入示例的另一件事,我將指出,右側(cè)顯示的值是從服務(wù)器設(shè)置的 的。重點(diǎn)是要演示一個(gè)完整的循環(huán),從

控件在客戶端更改

更改傳播到服務(wù)器并在服務(wù)器中處理

更新狀態(tài)給客戶

如果您沒有發(fā)現(xiàn)令人興奮的地方-好的,我會(huì)原諒您缺乏熱情。這正是EmbAJAX庫的全部意義:它使您免于幕后工作的所有無聊工作,并且您最終可以完全不用擔(dān)心要在項(xiàng)目中顯示的 控件和顯示內(nèi)容,而比如何。所以-開發(fā)愉快!
責(zé)任編輯:wv

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

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95273
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    47429
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32+esp8266連接機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺配置、代碼生成、代碼移植)

    本教程將詳細(xì)介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機(jī)智云平臺,實(shí)現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠(yuǎn)程控制。通過此過程,您將學(xué)會(huì)如何配置機(jī)智云平臺,燒錄ESP8266固件,移植
    的頭像 發(fā)表于 07-15 18:54 ?100次閱讀
    STM32+<b class='flag-5'>esp8266</b><b class='flag-5'>連接</b>機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺配置、代碼生成、代碼移植)

    ESP8266燒錄與機(jī)智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應(yīng)用于智能家居和工業(yè)自動(dòng)化等領(lǐng)域。機(jī)智云平臺提供了一鍵配網(wǎng)功能,簡化了設(shè)備的聯(lián)網(wǎng)過程。本教程將詳細(xì)介紹如何使用ESP8266進(jìn)行燒錄,并通過機(jī)智云實(shí)現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?485次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機(jī)智云一鍵配網(wǎng)教程

    ESP8266筆記-05.ESP8266 WIFI的使用

    ESP8266是怎么火起來的?毫無疑問就是他把WIFI模塊的價(jià)格成功的打了下來,在我第一次看到ESP8266僅僅10元成本的開發(fā)板竟然可以連接WIFI時(shí),知道對我幼小的心靈造成多大的震撼嗎?一度帶
    發(fā)表于 10-31 18:33

    esp8266加入到c51單片機(jī)單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這一點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發(fā)表于 10-18 11:32 ?1657次閱讀

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

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

    ESP8266 通過 MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程控制

    本文簡要介紹了搭建 EMQX 服務(wù)器實(shí)現(xiàn)基于 MQTT 協(xié)議遠(yuǎn)程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發(fā)表于 09-25 09:11 ?3034次閱讀
    <b class='flag-5'>ESP8266</b> 通過 MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程控制

    arduino(1)--ESP8266配置

    硬件準(zhǔn)備 首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是淘寶購買的兼容arduino的ESP8266模塊。 arduino配置 我使用的是arduino來編程實(shí)現(xiàn),故需要下載對應(yīng)的庫文件,打開
    發(fā)表于 09-06 11:00

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里云
    發(fā)表于 08-29 14:21 ?9次下載

    esp32和esp8266代碼共用嗎

    作為兩款具有Wi-Fi功能的微控制器,因其低成本、易用性和靈活性而受到廣泛關(guān)注。然而,盡管它們在某些方面具有相似性,但在硬件性能、開發(fā)環(huán)境和編程語言等方面仍存在一定差異。 二、ESP32與ESP8266簡介
    的頭像 發(fā)表于 08-19 18:23 ?2347次閱讀

    esp8266esp32區(qū)別是什么

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

    ESP8266需要燒錄固件庫嘛

    需要。ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。它具有低成本、低功耗、易于編程等特點(diǎn),因此受到了許多開發(fā)者的喜愛。在開發(fā)ESP8266項(xiàng)目時(shí),燒錄固件庫是一個(gè)非常重要
    的頭像 發(fā)表于 08-19 17:30 ?1888次閱讀

    esp8266不燒錄可以使用嗎

    ,可以方便地與其他硬件設(shè)備進(jìn)行連接。 2. ESP8266的硬件特性 處理器 :Tensilica L106,最高頻率160MHz 內(nèi)存 :64KB SRAM,1MB Flash Wi-Fi :支持802.11 b/g/n協(xié)議,最高速
    的頭像 發(fā)表于 08-19 17:28 ?1686次閱讀

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

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

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?2076次閱讀
    Arduino Nano 和 NodeMCU <b class='flag-5'>ESP8266</b> 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    ESP8266-12退出深度睡眠模式時(shí)掛起怎么解決?

    我正在使用 adafruits 的 esp8266 HUZZAH 板 (ESP8266-12),該板連接到溫度/濕度傳感器 (DHTxx),該傳感器正在向 thingspeak 發(fā)送溫度/濕度
    發(fā)表于 07-22 06:26