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

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

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

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

如何開始在ESP-01 WIFI模塊上對(duì)ESP8266微控制器進(jìn)行編程

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

掃碼添加小助手

加入工程師交流群

步驟1:配置Rapberry Pi

我使用了Raspberry Pi 3 Model B +,但是,說明應(yīng)該適用于其他版本,尤其是在Model B上。

首先,我們需要在Pi上啟用UART。

轉(zhuǎn)到RPi配置設(shè)置。在終端窗口中運(yùn)行

$ sudo raspi-config

轉(zhuǎn)到 5個(gè)接口選項(xiàng),,然后選擇 P6 Serial。 然后,您提示是否要通過串行訪問登錄shell? select ,因?yàn)槲覀儾幌胧褂肬ART無頭運(yùn)行Pi,而是與其他設(shè)備進(jìn)行通信,因此在出現(xiàn)以下問題時(shí)會(huì)在以下屏幕上顯示您要啟用串行端口硬件嗎?選擇。根據(jù)提示重啟樹莓派?,F(xiàn)在應(yīng)該為Raspberry Pi 3的RX和TX引腳上的串行通信啟用UART。注意:此后,在/boot/config的末尾應(yīng)出現(xiàn)一個(gè)新條目 enable_uart = 1 。 txt。

步驟2:將ESP-01連接到Raspberry Pi

現(xiàn)在,我們開始進(jìn)行所有接線

首先,在RPi上標(biāo)識(shí) 3.3V電源 和 GND(接地) 》引腳為ESP8266微控制器供電, TXD(發(fā)送) 和 RXD(接收) 引腳進(jìn)行通信,并且 兩個(gè)通用引腳 來操作ESP8266(可以將其設(shè)置為高電平或低電平)。在pinout.xyz上查找引腳排列或輸入端子

$ pinout

其次確定ESP-01上的必要引腳。但是從一開始我們就需要了解ESP-01引腳。我在互聯(lián)網(wǎng)上找到了許多有用的資源,可以在這方面為您提供幫助。這個(gè)是最短的,而這個(gè)給出了更好的解釋。簡而言之:共有8個(gè)引腳,我們將需要7個(gè)引腳,分別是 VCC電源 和 GND(接地) 電源引腳, TXD 和 RXD 引腳進(jìn)行通信,以及 RST (重置), CH_PD (芯片掉電,有時(shí)標(biāo)記為CH_EN或芯片啟用)和 GPIO0 來操作該模塊。 ESP8266通常在常規(guī)模式下運(yùn)行,但在將代碼上傳到ESP8266時(shí),會(huì)注意其處于閃存模式。對(duì)于常規(guī)或正常運(yùn)行模式,模塊需要連接到電源(顯然),但引腳CH_PD也必須通過10K連接到VCC(此值在不同的情況下會(huì)有所不同,我發(fā)現(xiàn)值降至3K)上拉引導(dǎo)時(shí)的電阻。另一方面,要進(jìn)入閃存或編程模式,您需要在引導(dǎo)時(shí)將GPIO0引腳接地。為防止接地時(shí)流過GPIO0的電流不受限制,建議通過一些300Ω-470Ω低阻電阻將GPIO0接地(有關(guān)更多信息,請(qǐng)參見此處)。顧名思義,RST引腳復(fù)位(或重啟)MCU。在正常操作期間,它可以通過10K上拉電阻連接到VCC,但應(yīng)接地以復(fù)位微控制器。雖然始終可以使用物理按鈕將RST和GPIO0引腳接地(甚至手動(dòng)連接導(dǎo)線以模擬按鈕),但使用Raspberry Pi引腳在模塊的RST和GPIO0上設(shè)置高低電壓會(huì)更令人愉悅。引腳。然后也就不需要10K和470Ω電阻了。

現(xiàn)在了解ESP-01引腳的特性了,我們就可以開始將所有東西連接在一起了。您可以將下表和上圖用作參考:

ESP-01 《-》 Raspberry Pi

VCC(3.3V)《-》引腳# 1(3.3V)

GND 《-》引腳6(GND)

TXD 《-》引腳#10(RXD/BCM 15)

RXD 《-》針#8(TXD/BCM 14)

CH_PD 《-10K電阻器-》針#1(3.3V)

RST 《-》針#3(BCM 2 )

GPIO 0 《-》引腳#5(BMC 5)

最后連接VCC引腳。您連接到VCC引腳的實(shí)例將打開Wi-Fi模塊。使用 screen 或 minicom 檢查RPi和ESP8266是否可以使用UART通訊(注意:您可能需要安裝 screen 或 minicom ,因?yàn)槟J(rèn)情況下似乎未在Raspbian上安裝它們)。

使用屏幕運(yùn)行:

$ sudo screen /dev/serial0 115200

使用minicom運(yùn)行:

$ sudo minicom -b 115200 -o -D /dev/serial0

注意:許多在線參考資料建議連接到/dev/ttyAMA0 上的ESP8266,但根據(jù)RPi文檔,此操作不適用于RPi 3或更高版本(包括零W)。通過/dev/serial0 或/dev/ttyS0 連接。

進(jìn)入屏幕或minicom后,使用AT指令與ESP8266通訊。輸入AT,然后按Enter,然后按Ctrl + J發(fā)送命令。您應(yīng)該得到好的回應(yīng)。可用的AT命令列表可在espressiff.com或此處找到。

將設(shè)備物理連接并相互交談,我們就可以開始對(duì)RPi GPIO引腳進(jìn)行編程,最后對(duì)ESP8266本身進(jìn)行編程。

步驟3:軟件設(shè)置(用于操作的Python和用于編程的Arduino IDE)

PART 1.使用python切換ESP8266模式

如上所述使用RPI的GPIO引腳切換ESP8266的操作模式非常方便。我編寫了兩個(gè)基本的python代碼,將ESP8266置于常規(guī)或編程模式。

常規(guī)模式:要將微控制器置于常規(guī)操作模式,我們只需為其供電并通過上拉連接CH_PD電阻連接到VCC,但是要將MCU從編程模式切換到正常模式,我們需要對(duì)其進(jìn)行重置(請(qǐng)考慮重啟)。為此,我們將短暫拉低連接到ESP-01上RST引腳的RPi GPIO(默認(rèn)情況下,我用于重置的RPi引腳設(shè)置為HIGH)。有多簡短?對(duì)我來說,這是一個(gè)投機(jī)問題。您可以嘗試不同的時(shí)間間隔,但我發(fā)現(xiàn)200-500毫秒的效果很好。如果您有更好的主意,請(qǐng)?jiān)谠u(píng)論中寫。將代碼另存為 reset.py 。

#!/usr/bin/python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD) # sets GPIO identification by physical pin numbers

resetPin = 3 # identify RPi physical pin connected to ESP8266 RST pin

GPIO.setup(resetPin, GPIO.OUT) # set reset pin as output

GPIO.output(resetPin, GPIO.LOW) # drop voltage on RST pin

time.sleep(.2) # wait for .2 s

GPIO.output(resetPin, GPIO.HIGH) # restore voltage on RST pin

GPIO.cleanup() # reset pins on RPI to prevent future runtime warnings

編程模式:要將MCU置于編程模式,我們需要為ESP8266供電GPIO0接地,或者在引導(dǎo)時(shí)將其復(fù)位并接地GPIO0(再次,確切的電壓降持續(xù)時(shí)間我不太清楚,因此請(qǐng)不要嚴(yán)格按照使用的值進(jìn)行操作)。將代碼另存為 flash.py 或在下面下載。動(dòng)作的順序如下:

上拉RST引腳

上拉GPIO0引腳

上拉RST引腳

上拉GPIO0 pin

#!/usr/bin/python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD) # sets GPIO identification by physical pin numbers

resetPin = 3 # identify RPi physical pin connected to ESP8266 RST pin

flashPin = 5 # identify RPi physical pin connected to ESP8266 GPIO0 pin

GPIO.setup(resetPin, GPIO.OUT) # set reset pin as output

GPIO.setup(flashPin, GPIO.OUT) # set flash pin as output

GPIO.output(resetPin, GPIO.LOW) # drop voltage on RST pin

time.sleep(.2) # need for this waiting is speculative

GPIO.output(flashPin, GPIO.LOW) # drop voltage on GPIO0

time.sleep(.2) # need for this waiting is speculative

GPIO.output(resetPin, GPIO.HIGH) # start booting ESP8266

time.sleep(.5) # wait for ESP8266 to boot

GPIO.ouput(flashPin.GPIO.HIGH) # restore voltage on

GPIO pinGPIO.cleanup() # reset pins on RPI to prevent future runtime warnings

在終端更改權(quán)限中:

$ sudo chmod +x flash.py

$ sudo chmod +x reset.py

從現(xiàn)在開始,只要您需要輸入在終端上運(yùn)行編程模式:

$ python /flash.py

上傳代碼以進(jìn)入正常運(yùn)行模式后運(yùn)行:

$ python /reset.py

此時(shí),您可能還需要更新ESP8266固件。有很多關(guān)于如何執(zhí)行此操作的在線教程,因此我將不做詳細(xì)介紹。

PART2。設(shè)置Arduino IDE

如果您已經(jīng)安裝了Arduino IDE,則可能仍要瀏覽本節(jié),以確保您的IDE已為ESP8266準(zhǔn)備就緒。

在Rapberry Pi上,您可以使用Arduino IDE來對(duì)ESP8266進(jìn)行編程。有兩種方法可以在RPi上安裝IDE:

,使用apt-get install

從存儲(chǔ)庫通過命令行從arduino.cc下載并手動(dòng)安裝。

我強(qiáng)烈建議您走后一條路。倉庫中的IDE版本似乎已過時(shí),您一定要準(zhǔn)備更多工作,才能開始對(duì)ESP8266進(jìn)行編程。為避免麻煩,請(qǐng)轉(zhuǎn)到Arduino.cc下載頁面并下載Linux ARM版本。接下來解壓縮并安裝:如果下載文件的名稱類似于 arduino-XYZ-linuxarm.tar.xz ,則在下載文件夾中運(yùn)行:

$ tar -xvf arduino-X.Y.Z-linuxarm.tar.xz

這應(yīng)將文件解壓縮到 arduino-XYZ 文件夾。運(yùn)行:

$ sudo 。/arduino-X.Y.Z/install.sh

這應(yīng)該安裝IDE。安裝完成后,啟動(dòng)IDE。

從Arduino IDE轉(zhuǎn)到 File》 Preferences 。在首選項(xiàng)窗口的底部查找“ 其他Board Manager URL ”。在“其他板管理器URL”字段中輸入 http://arduino.esp8266.com/stable/package_esp8266com_index.json ,然后單擊“確定”按鈕。

轉(zhuǎn)到工具》董事會(huì):XXX》董事會(huì)經(jīng)理。在窗口中使用搜索或向下滾動(dòng),選擇ESP8266開發(fā)板菜單,然后單擊安裝。等待安裝完成并關(guān)閉窗口。

再次轉(zhuǎn)到工具》開發(fā)板:XXX ,然后尋找ESP8266開發(fā)板。選擇通用ESP8266模塊。

現(xiàn)在,IDE已準(zhǔn)備好對(duì)ESP8266進(jìn)行編程。輸入所需的代碼或?qū)⑵湔迟N到IDE窗口中并保存。點(diǎn)擊上傳。從終端運(yùn)行 flash.py ,這應(yīng)該使您的電路板進(jìn)入編程模式。等待幾分鐘,以便IDE完成編譯和上傳(注意:ESP-01通常帶有2個(gè)LED,在代碼上傳時(shí)藍(lán)色LED會(huì)閃爍)并運(yùn)行 reset.py 。現(xiàn)在您的ESP-01板就可以執(zhí)行任務(wù)了。
責(zé)任編輯:wv

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

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95193
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    47370
  • ESP-01
    +關(guān)注

    關(guān)注

    1

    文章

    18

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    CW32模塊使用 ESP01S WIFI模塊

    為現(xiàn)有的設(shè)備添加聯(lián)網(wǎng)功能,也可以構(gòu)建獨(dú)立的網(wǎng)絡(luò)控制器。即使不了解其原理的情況下,只要有一定的串口知識(shí)理解,那么就可以輕松上手該模塊,進(jìn)而實(shí)現(xiàn)手機(jī)WiFi操作。功能特點(diǎn):基于
    的頭像 發(fā)表于 01-23 13:08 ?664次閱讀
    CW32<b class='flag-5'>模塊</b>使用 <b class='flag-5'>ESP01</b>S <b class='flag-5'>WIFI</b><b class='flag-5'>模塊</b>

    ESP8266筆記-05.ESP8266 WIFI的使用

    ESP8266是怎么火起來的?毫無疑問就是他把WIFI模塊的價(jià)格成功的打了下來,我第一次看到ESP8266僅僅10元成本的開發(fā)板竟然可以連
    發(fā)表于 10-31 18:33

    arduino(1)--ESP8266配置

    Module進(jìn)行開發(fā)。 至此,ESP8266已經(jīng)配置完畢。 代碼 本文使用點(diǎn)亮LED來驗(yàn)證模塊是否配置正確,點(diǎn)燈的代碼如下所示。 上圖可以得知LEDGPIO2
    發(fā)表于 09-06 11:00

    esp32和esp8266代碼共用嗎

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

    esp8266esp32區(qū)別是什么

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

    esp8266不燒錄可以使用嗎

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

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

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

    是否可以創(chuàng)建一個(gè)包含多個(gè)esp8266模塊esp-01)的網(wǎng)狀網(wǎng)絡(luò)?

    我想知道是否可以創(chuàng)建一個(gè)包含多個(gè) esp8266 模塊esp-01)的網(wǎng)狀網(wǎng)絡(luò)。如果是這樣,是否有任何指南/示例可以開始使用 esp8266
    發(fā)表于 07-19 08:31

    ESP-01固件更新下載/刷寫后不工作了怎么解決?

    ESP-01 固件更新/下載/刷機(jī)后不工作 我正在開發(fā)使用 ESP-01 模塊(小黑板)的產(chǎn)品。這些產(chǎn)品使用 PIC32MX 微控制器,目前我使用 PIC/
    發(fā)表于 07-19 08:15

    如何使用ESP-PROG編程器對(duì)ESP-01無線模塊(8 針)進(jìn)行編程?

    有沒有人能夠使用 ESP-PROG 編程器對(duì) ESP-01 無線模塊(8 針)進(jìn)行編程? 我根本
    發(fā)表于 07-19 06:39

    ESP8266-01適合長時(shí)間使用嗎?

    。由于某些寄存損壞,它似乎進(jìn)入了掛起狀態(tài)。(我無法驗(yàn)證寄存內(nèi)容,這只是猜測(cè)) 目前唯一有效的解決方法是對(duì) ESP 進(jìn)行電源重置,這在我們的案例中是不可行的。 您能否告訴我們您對(duì)此
    發(fā)表于 07-18 06:45

    esp-01esp-12e實(shí)現(xiàn)串口轉(zhuǎn)wifi橋接時(shí)的區(qū)別是什么?

    我正在有一個(gè)項(xiàng)目,我使用ESP8266作為串行到 wifi 橋接器。我從 windows7 運(yùn)行的 python 代碼串行發(fā)送數(shù)據(jù)到 esp82
    發(fā)表于 07-17 06:17

    CWMODE=3使用ESP-01(1M)、ESP-12F(4M)模組,AT CWLAP無法列出AP為什么?

    我使用ESPRESSIF固件,ESP8266_NONOS_SDK_V1.5.4_16_05_20.zip 編程工具:FLASH_DOWNLOAD_TOOLS_v2.4_150924
    發(fā)表于 07-15 08:31

    ESP8266透?jìng)髂J绞侨绾喂ぷ鞯模?/a>

    數(shù)據(jù)包,最多為 2048 字節(jié)? 如果這是正確的想法,我的項(xiàng)目需要通過 ESP8266ESP-01WIFI 連接從 Arduino 每 4 毫秒向安卓手機(jī)發(fā)送一個(gè) 7 字節(jié)的數(shù)據(jù)包。因此
    發(fā)表于 07-15 07:48

    如何在ESP8266逐步進(jìn)行智能配置?

    我沒有找到有關(guān)如何使用 at命令逐步配置智能配置的相關(guān)文檔。 我正在使用外部微控制器ESP8266esp01 模塊)通信。 我
    發(fā)表于 07-15 07:40