快速發布采購 管理采購信息

如何使用MicroPython配置和控制ESP8266電路板

時間:2019-8-14, 來源:互聯網, 文章類別:元器件知識庫

第1步:什么是MicroPython?

MicorPython是我們可以用來編程ESP8266的眾多編程語言之一模塊。它是Python 3編程語言的精簡版和快速版,與傳統的編程語言(如C和C ++)相比具有幾個優勢。
MicroPython旨在盡可能地與普通Python兼容。它具有完整的Python編譯器和運行時,并提供稱為REPL(讀取 - 評估 - 打印循環)的交互式提示。

MicorPython旨在支持幾種不同類型的微控制器。但是對于本教程,我將只使用一種模型:基于ESP8266的板(NodeMCU)。請注意,您可以使用相同的芯片購買幾種不同的電路板。

第2步:要求

如何使用MicroPython配置和控制ESP8266電路板

為了能夠學習本教程,您只需具備Python的基本編碼經驗。您不需要具備任何以前的微控制器知識。 ,電子產品,甚至是MicroPython。

您還需要一臺帶有免費USB端口的Windows,Mac或Linux計算機,因為您將微控制器連接到計算機進行編程。

所需部件:

1 x NodeMCU(或其他基于ESP8266的板)

1 x紅色5mm LED

1x220Ω1/4W電阻

1x10KΩ旋轉電位器

1 x面包板

1 x USB到MicroUSB電纜

跳線。

步驟3:為什么ESP8266基板?

通過使用MicroPython,您可以充分利用ESP8266的一種方法。此外,ESP8266模塊是學習如何使用MicroPython的最佳平臺之一。這是因為ESP8266提供簡單的GPIO引腳控制功能以及無線功能,允許您測試MicroPython編程語言的所有方面。

ESP8266芯片在開源開發行業很受歡迎。有許多來自不同制造商的開發板使用ESP8266芯片。 MicroPython旨在提供可在大多數這些主板上運行的通用端口,并盡可能減少限制。該端口基于Adafruit Feather HUZZAH板使用其他ESP8266板時,請務必檢查其原理圖和數據表,以便確定它們與Adafruit Feather HUZZAH板之間的差異。這樣,您就可以適應代碼中的差異。

閱讀和資源:

ESP8266

Adafruit Feather HUZZAH

步驟4:設置計算機

在使用MicroPython對ESP8266板進行編程之前,您需要設置幾件事。

我們將在此步驟中完成設置過程。通過這種方式,您將了解如何配置與MicroPython一起使用的ESP8266板。

準備好

從此步驟到步驟6所需的一切是你的ESP8266和USB線。將ESP8266板連接到計算機。

如何操作。..。..

第1步:安裝設備驅動程序

如果你有一臺Linux計算機,那么你不需要為驅動程序安裝任何設備驅動程序以便識別微控制器。但是你有Mac或Windows機器,需要一個驅動程序來允許計算機將微控制器識別為串行設備。

《第2步:安裝Python

您將用于與ESP8266通信的工具是用Python編寫的,因此您需要在計算機上安裝Python。

如果您的操作系統沒有提供預先打包的Python,您可以訪問https://python.org下載任何支持的操作系統的官方版本。

STEP3:安裝esptool和rshell

安裝兩個軟件包,幫助您使用pip管理電路板。要打開終端并運行

pip install esptool rshell

STEP4 :下載MicroPython

當我寫這篇文章時,當前版本是1.11,固件文件名為esp8266-20190529-v1.11.bin

當你這樣做時,你可能會發現一個更新版本。

步驟5:使用Esptool.py閃爍MicroPython

在將新固件刷入電路板之前,最好先擦除以前的所有數據。這是您應該始終做的事情,以便新固件從干凈的狀態運行。

轉到放置 .bin 文件的位置。使用esptool.py擦除閃存。

對于Linux:

esptool.py --port /dev/ttyUSB0 erase_flash

對于Windows:

esptool.py --port COM3 erase_flash

您可能需要將命令中的串行端口更改為ESP8266板連接的串行端口。如果您不知道ESP8266的串口號,可以查看Arduino IDE。只需打開IDE,然后單擊工具|端口。你應該看到那里列出的ESP8266板的串口。將命令(/dev/ttyUSB0)中的串口替換為電路板的串口。

現在電路板已完全擦除,您可以刷新剛剛下載的MicroPython構建。這也是使用esptool.py命令完成:

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

此命令將把MicroPython .bin文件的內容寫入地址為0的電路板。

確保您將命令(esp82688-2019-080529-v1.11.bin)中固件.bin文件的名稱更改為您下載的固件的名稱。

在ESP8266上成功安裝固件后您可以通過有線連接(UART串口)或思想WiFi訪問主板上的REPL。

步驟6:使用帶有Rshell的MicroPython REPL

您現在可以在ESP8266主板上啟動MicroPython。

我將向您展示如何連接到Python提示在你的主板上運行。這稱為REPL,代表“Read-Eval-Print-Loop”。這是您在使用常規Python解釋器時可能會看到的標準Python提示,但這次它將在您的主板上運行,并與它進行交互,您將使用與計算機的串行連接。準備好了?

要連接到您的主板并打開REPL會話,請輸入以下命令:

rshell --port

此命令將帶您進入rshell提示符。請參閱上面的照片。

如果您在Windows上關注本教程,請注意rshell在Windows上運行時有問題的歷史記錄。

因此,為了修復該類型:

rshell -a --port COM3

在此提示符下,您可以執行與您的微控制器板相關的管理任務,還可以啟動一個Python REPL,您可以使用它實時與電路板進行交互。所以只需輸入以下命令:

repl

要確保一切正常,請鍵入一個簡單的Python句子:

print(“Hello World”)

步驟7:控制引腳使用MicroPython

在這一步中,我們將學習如何使用MicroPython控制ESP8266引腳。為此,我們將設置一個設置,我們將切換連接到ESP8266板GPIO引腳的LED的狀態。這將幫助您了解如何使用MicoPython控制數字輸出。

準備好

您將需要以下內容來完成此步驟:

1 x NodeMCU

1 x紅色5mm LED

1 x220Ω電阻器

1 x面包板

跳線

構建

首先將LED安裝到面包板上。將220Ω電阻的一端連接到LED的正極(LED的正極通常是兩條腿中較高的一條)。將電阻的另一端連接到ESP8266板的引腳D1。然后將LED的負極連接到ESP8266板的GND引腳。連接如上圖所示。

設置完成后,通過USB電纜將ESP8266板連接到計算機。

如何操作。 。.

在REPL中鍵入以下代碼:

# blink LED every 1 second

def blink(pin=5, time=1) # blink function by default pin=5, time=1s

import machine # the machine module holds the pin configurations and modes

from time import sleep # import sleep for some delay

LED = machine.Pin(led_pin, machine.PIN.OUT) # configure LED as OUTPUT

while True: # run forever

LED.value(1) # set LED to HIGH

sleep(time) # wait 1 second by default

LED.value(0) # set LED to LOW

sleep(time) # wait 1 second by default

在RPEL會話中鍵入blink()以測試此代碼。這將閃爍LED每隔1秒連接到GPIO5。

您可以通過調用以下命令更改引腳和/或時間:

blink(pin=, time=)

按ctrl + c退出運行代碼。

您可以使用MicroPython讀取連接到ESP8266的輸入。繼續下一步,了解如何操作。

檢查視頻是否卡住了。

步驟8:淡化LED

在此步驟中,我們將學習如何使用旋轉電位計調節LED的亮度。我們將使用一種稱為脈沖寬度調制(PWM)的技術,它允許我們使用最多256個設置調暗LED。

注意:除了GPIO16外,ESP8266的所有引腳都可以用作PWM引腳( D0)。

做好準備:

您需要完成以下步驟:

1 x NodeMCU

1 x紅色5mm LED

1 x50KΩ旋轉電位計。

1 x面包板

跳線

構建

連接如上圖所示圖:設置完成后,通過USB電纜將ESP8266板連接到計算機。

如何操作。..

鍵入跟隨REPL中的代碼:

# Fading LED every 0.5 by reading data from the Potentiometer

import machine

from time import sleep

led_pin = 5 # led pin

POT = machine.ADC(0) # ADC0 pin

LED = machine.Pin(led_pin) # create LED object

LED_pwm = machine.PWM(LED, freq=500) # create LED_pwm object and set frequency to 500Hz

while True:

LED_pwm.duty(POT.read()) # get the value from the Pot and set it to the duty cycle

sleep(0.5) # wait 0.5

這將通過更改電位計的值來改變連接到GPIO 5的LED的亮度。

按ctrl + c退出正在運行的代碼。

檢查視頻是否卡住。

步驟9:從何處開始?

到目前為止,我們已經了解了如何在基于ESP8266的主板上配置和運行MicroPython。我們學會了如何控制引腳使LED閃爍,然后我們添加了一個電位器,以便使用脈沖寬度調制技術控制LED的亮度。

現在我們可以從傳感器讀取數據并將其發送到云端,我們還可以創建一個HTTP服務器,您可以在一個簡單的網頁中打印我們的數據等。..


技術文章分類
相關技術文章
重庆时时彩安卓客户端