国产熟女视频草草影院_中文天堂最新婷婷在线播放_亚洲成人一区三区97_蜜臀色欲av无码人妻_久久综合中文字幕色_日本WWW变态视频免费看_不卡在线中文字幕_无码有码国产18p

ESP8266 For Arduino基礎篇 如何安裝ESP8266的Arduino開發環境


本網站所有源碼和文章均為作者提供和網友推薦收集整理而來,對提供的源碼不擁有任何權利,其版權歸原著者擁有。僅供學習和研究使用,下載后請24小時內刪除。不得使用于非法商業用途,不得經營非法游戲或違反國家法律。一切關于該資源商業行為與www.fcnptqk.cn無關。

1. 硬件
????ESP8266模塊,或者ESP8266開發板,建議初學者直接使用開發板;
????2. 軟件
????Arduino IDE開發環境;

1. 硬件

????硬件環境主要分為兩種:
????1. ESP8266開發板 + USB線
????

在這里插入圖片描述

?2. ESP8266模塊 + USB轉TTL線
????如果WiFi模塊是ESP8266-01系列,首先請看一下以下引腳接口說明:

引腳編號引腳定義引腳描述
1TX1)UART_TX發送端;2)通用IO口:GPIO1;
2GNDGND
3CH_PD1)高電平工作;2)低電平模塊供電關掉;
4GPIO2開機上電時必須為高電平,禁止硬件下拉,內部默認已拉高;
5GPIO16外部Reset信號,低電平復位,高電平工作(默認應該是高電平);
6GPIO0接地進入燒錄固件模式,懸空為正常運行模式;
7VCC3.3V(切記不要供5V!!!)
8RX1)UART_RX接收端;2)通用IO口:GPIO3;

????其余引腳懸空即可。 從引腳介紹表可以看出,關鍵引腳GPIO0決定了模塊當前處于什么工作模式。

燒錄固件模式

????請按照下圖連接ESP8266-01和USB轉TTL線,進入燒錄模式:

image

????如果WiFi模塊是ESP8266-12系列,按照下圖對應引腳接線:

image

溫馨提示

  • 從Arduino IDE角度來看,ESP8266工作模式包括:
    1.燒錄固件模式
    下載代碼的時候,需要將GPIO0口接地;
    2.正常工作模式
    下載完代碼,需要將GPIO0口懸空;
    有電路經驗的讀者可以安裝撥碼開關來切換工作模式。
  • 注意ESP8266安全工作電壓是3.3V,不要直接連接5v;
  • 手動切換工作模式之后,最好重新啟動一下ESP8266模塊(通斷電);
  • 有時ESP8266下載失敗,有可能是供電問題,可以嘗試獨立供電,不直接連到TTL Vcc;
  • 燒錄固件,我們需要了解的是,我們的固件是以下哪一種:AT固件、自己編寫的SDK固件(基于ESP8266 SDK開發或者Lua)以及本書基于Arduino平臺開發的ESP8266固件

2. 軟件開發環境

????軟件安裝需要分成兩個步驟:
????1.安裝Arduino IDE
????Arduino IDE開發環境主要用于Arduino Uno/Mini/Mega2560等平臺的項目開發。而ESP8266也可以基于該IDE來開發, 所以我們首先需要安裝它;

2.1 安裝Arduino IDE

????由于某些原因,Arduino官網網站(https://www.arduino.cc/en/Main/Software) 經常打不開或者下載速度極慢,導致下載IDE非常困難,讀者可以通過以下兩種方式下載安裝:通過Arduino中文社區鏈接地址(https://www.arduino.cn/thread-5838-1-1.html) 去下載。

????如果你下載的是windows安裝版(exe后綴),那么直接安裝即可,其他則直接解壓即可使用,注意路徑不要存在中文目錄。啟動Arduino,會出現如下圖所示界面:

image

2.2 安裝ESP8266開發環境

????安裝好Arduino IDE環境后,就得在它基礎上配置Arduino Core For ESP8266。以window版本為例,讀者可以安裝以下順序安裝:

  1. 打開Arduino IDE->菜單項文件->首選項,然后會看到附加開發版管理器網址,填入http://arduino.esp8266.com/stable/package_esp8266com_index.json,重啟IDE;
  2. 重啟IDE之后->菜單項工具->開發板->點擊開發板管理器->滾動找到ESP8266平臺;
  3. 從下拉選項中選擇你想下載的版本,點擊安裝,需要等待一段時間安裝完畢。
  4. 安裝成功的話,會可以看到下圖所示。
image

????到此,整個軟件開發環境搭建完畢。

溫馨提示

  • 如果安裝失敗,一般都是因為網絡問題,可以嘗試多次重新安裝;多次安裝失敗之后,可能需要翻墻;
  • Arduino Core For ESP8266庫版本之間是有區別,有些版本可能沒有某些方法,比如筆者剛開始的時候安裝了2.0.0版本,但是編譯代碼不通過,提示client.peekBytes方法不存在,安裝最新版本完美無bug。
  • Arduino IDE界面相對比較簡單,筆者覺得代碼提示功能、自動補全不夠友好,推薦使用Visual Studio、Eclipse等更為專業的開發環境進行開發。這些第三方的開發環境都需要下載對應的Arduino插件進行配置,筆者這里就不具體講解,有興趣的可以自行查閱資料解決。

3. 燒錄ESP8266

????實驗是檢驗真理的唯一標準,配置好硬件和軟件環境之后,筆者就給讀者提供一個實例代碼,并且告訴讀者如何配置燒錄以及提及一些燒錄配置注意點。

3.1實例代碼

????首先,請讀者不用在意代碼細節問題,請先拷貝如下代碼到Arduino IDE,然后點擊編譯:


/**
   Authorization.ino

    Created on: 09.12.2015

*/

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>

#include <WiFiClient.h>

ESP8266WiFiMulti WiFiMulti;

void setup() {

  Serial.begin(115200);
  // Serial.setDebugOutput(true);

  Serial.println();
  Serial.println();
  Serial.println();

  for (uint8_t t = 4; t > 0; t--) {
    Serial.printf("[SETUP] WAIT %d...\n", t);
    Serial.flush();
    delay(1000);
  }

  WiFi.mode(WIFI_STA);
  WiFiMulti.addAP("1502", "18560052108");

}

void loop() {
  // wait for WiFi connection
  if ((WiFiMulti.run() == WL_CONNECTED)) {

    WiFiClient client;

    HTTPClient http;

    Serial.print("[HTTP] begin...\n");
    // configure traged server and url


    http.begin(client, "http://xxx.com/1.php");

    /*
      // or
      http.begin(client, "http://jigsaw.w3.org/HTTP/Basic/");
      http.setAuthorization("guest", "guest");

      // or
      http.begin(client, "http://jigsaw.w3.org/HTTP/Basic/");
      http.setAuthorization("Z3Vlc3Q6Z3Vlc3Q=");
    */


    Serial.print("[HTTP] GET...\n");
    // start connection and send HTTP header
    int httpCode = http.GET();

    // httpCode will be negative on error
    if (httpCode > 0) {
      // HTTP header has been send and Server response header has been handled
      Serial.printf("[HTTP] GET... code: %d\n", httpCode);

      // file found at server
      if (httpCode == HTTP_CODE_OK) {
        String payload = http.getString();
        Serial.println(payload);
      }
    } else {
      Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
    }

    http.end();
  }

  delay(10000);
}

Comments

發表回復

您的郵箱地址不會被公開。 必填項已用 * 標注