這節(jié)簡單的介紹一下:
MicroPython REPL位于UART0(GPIO1 = TX,GPIO3 = RX)上,波特率為115200。制表符補(bǔ)全有助于找出對象具有哪些方法。粘貼模式(Ctrl-E)可用于將大量Python代碼粘貼到REPL中。
importmachine
machine.freq() # 獲取CPU頻率
machine.freq(160000000) # 設(shè)置160 MHz
import network
wlan=network.WLAN (network.STA_IF ) #創(chuàng)建站接口
WLAN .active (True ) #激活接口
wlan .scan () #掃描訪問點(diǎn)
wlan .isconnected () #檢查工作站是否連接到AP
wlan .connect ('essid' , 'password' ) #連接到AP
wlan .config ('mac' ) #獲取接口的MAC地址
wlan .ifconfig () #獲取接口的IP /網(wǎng)絡(luò)掩碼/ gw / DNS地址
ap = network.WLAN (網(wǎng)絡(luò)。AP_IF ) #創(chuàng)建接入點(diǎn)界面
AP.active (True ) #激活接口
ap.config(essid = 'ESP-AP') #設(shè)置接入點(diǎn)的ESSID(就是熱點(diǎn)名字)


ESP-yunswj就是熱點(diǎn)
輸入 help():
歡迎使用MicroPython!
有關(guān)在線文檔,請?jiān)L問
http:// docs.micropython.org/en/latest/esp8266/。
要使診斷信息包含在錯誤報(bào)告中,請執(zhí)行“
import port_diag
”。
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.scan() # Scan for available access points
sta_if.connect("", "") # Connect to an AP
sta_if.isconnected() # Check for successful connection
# 更改ESP8266 AP的名稱/密碼:
ap_if = network.WLAN(network.AP_IF)
ap_if.config(essid="", authmode=network.AUTH_WPA_WPA2_PSK,
password="")
控制命令:
CTRL-A-在空白行上,進(jìn)入原始REPL模式
CTRL-B-在空白行上,進(jìn)入常規(guī)REPL模式
CTRL-C-中斷正在運(yùn)行的程序
CTRL-D-在空白行上,對電路板進(jìn)行軟復(fù)位
CTRL-E-在空白行上進(jìn)入粘貼模式
有關(guān)特定對象的更多幫助,請鍵入
help(obj)
延時(shí)于時(shí)間:
import time
time.sleep(1) # 休眠一秒
time.sleep_ms(500) # 休眠 500 milliseconds
time.sleep_us(10) # sleep for 10 microseconds
start = time.ticks_ms() ##獲取毫秒計(jì)數(shù)器
delta = time.ticks_diff(time.ticks_ms(), start) # 計(jì)算書簡差
這些東西,是讓你在寫程序的時(shí)候?qū)戇M(jìn)去的,命令行輸入的話,效果不是太大
from machine import Pin
p0 = Pin(0, Pin.OUT) # create output pin on GPIO0
p0.on() # set pin to "on" (high) level
p0.off() # set pin to "off" (low) level
p0.value(1) # set pin to on/high
p2 = Pin(2, Pin.IN) # create input pin on GPIO2
print(p2.value()) # get value, 0 or 1
p4 = Pin(4, Pin.IN, Pin.PULL_UP) # 使能內(nèi)部上拉電阻
p5 = Pin(5, Pin.OUT, value=1) # set pin high on creation
可用的引腳為:0、1、2、3、4、5、12、13、14、15、16(11個(gè)),它們對應(yīng)于ESP8266芯片的實(shí)際GPIO引腳編號。請注意,許多最終用戶板使用自己的臨時(shí)引腳編號(例如,標(biāo)記為D0,D1等,自己來取名的)。由于MicroPython支持不同的板卡和模塊,因此選擇了物理引腳編號作為最低的公分母。有關(guān)板邏輯引腳和物理芯片引腳之間的映射,請看我昨天發(fā)的映射圖.
請注意,引腳(1)和引腳(3)分別是REPL UART TX和RX。另請注意,Pin(16)是一個(gè)特殊的引腳(用于從深度睡眠模式喚醒).
PWM(脈沖寬度調(diào)制)
可以在引腳(16)以外的所有引腳上使能PWM。
所有通道都有一個(gè)頻率,范圍在1到1000之間(以Hz為單位)。
占空比在0到1023之間(包含端點(diǎn)值)。
machine.pwm
from machine import Pin, PWM
pwm0 = PWM(Pin(0)) # create PWM object from a pin
pwm0.freq() # 現(xiàn)在頻率
pwm0.freq(1000) # 設(shè)置頻率
pwm0.duty() # 獲取當(dāng)前占空比
pwm0.duty(200) # 設(shè)置占空比
pwm0.deinit() # 關(guān)閉引腳上的PWM
pwm2 = PWM(Pin(2), freq=500, duty=512) # #一次性創(chuàng)建和配置,寫法上的便利,不需要一次配置一個(gè)
ADC(模擬到數(shù)字轉(zhuǎn)換)
ADC在專用引腳上可用。請注意,ADC引腳上的輸入電壓必須在0v至1.0v之間。
使用machine.ADC類:
from machine import ADC
adc = ADC(0) # create ADC object on ADC pin
adc.read() # read value, 0-1024(10bit的精度)
軟件SPI總線
有兩個(gè)SPI驅(qū)動程序。一種是通過軟件實(shí)現(xiàn)的(位敲打)并在所有引腳上工作,并且可以通過機(jī)器訪問.SPI類:
frommachineimportPin,SPI
# construct an SPI bus on the given pins
# polarity is the idle state of SCK
# phase=0 means sample on the first edge of SCK, phase=1 means the second
# 構(gòu)造給定的銷SPI總線
# 極性是SCK的空閑狀態(tài)
# 相位= 0表示樣品在SCK的第一邊緣,相位= 1個(gè)裝置中的第二
spi = SPI(-1, baudrate=100000, polarity=1, phase=0, sck=Pin(0), mosi=Pin(2), miso=Pin(4))
spi.init(baudrate=200000) #設(shè)置波特率
spi.read(10) # read 10 bytes on MISO
spi.read(10, 0xff) # read 10 bytes while outputing 0xff on MOSI
buf = bytearray(50) # create a buffer
spi.readinto(buf) #讀入給定的緩沖區(qū)(在這種情況下,讀取50個(gè)字節(jié))
spi.readinto(buf, 0xff) #讀入給定的緩沖區(qū),并在MOSI上輸出0xff
spi.write(b'12345') # write 5 bytes on MOSI
buf = bytearray(4) # create a buffer
spi.write_readinto(b'1234', buf) # write to MOSI and read from MISO into the buffer
spi.write_readinto(buf, buf) # write buf to MOSI and read MISO back into buf
硬件SPI總線
硬件SPI速度更快(最高80Mhz),但僅適用于以下引腳:MISO
GPIO12,MOSI
GPIO13和SCK
GPIO14。它具有與上面的bangbanging SPI類相同的方法,但構(gòu)造函數(shù)和init的pin參數(shù)(固定的)是:
from machine import Pin, SPI
hspi = SPI(1, baudrate=80000000, polarity=0, phase=0)
(SPI(0)
用于FlashROM,對用戶不可用,別用了。)
I2C總線
I2C驅(qū)動程序是通過軟件實(shí)現(xiàn)的,并且可以在所有引腳上工作,并且可以通過machine.IC(class):
from machine import Pin, I2C
# construct(構(gòu)造) an I2C bus
i2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000)
i2c.readfrom(0x3a, 4) #從地址為0x3a i2c的從設(shè)備讀取4個(gè)字節(jié)
i2c.writeto(0x3a, '12') #將'12'寫入地址為0x3a的從設(shè)備
buf = bytearray(10) #創(chuàng)建一個(gè)具有10個(gè)字節(jié)
i2c.writeto(0x3a, buf) #將給定的緩沖區(qū)寫入從屬設(shè)備
-
ESP8266
+關(guān)注
關(guān)注
50文章
963瀏覽量
46656
發(fā)布評論請先 登錄
ESP8266 MicroPython移植流程分享!
esp8266microPython如何調(diào)用Arduino庫?
ESP8266和Node MCU掃盲與開發(fā)入門

VScode嵌入式開發(fā)之ESP32以及ESP8266入門

視頻教程-micropython基礎(chǔ)入門(esp32/esp8266單片機(jī)開發(fā))-物聯(lián)網(wǎng)技術(shù)

arduino / VScode+platformIO搭建esp32/esp8266編譯環(huán)境(一篇足矣)

ESP8266入門博客---記錄

ESP8266燒寫micropython固件

如何在ESP32/ESP8266上使用MicroPython

ESP8266 DevKitC入門指南

ESP8266初次如何實(shí)現(xiàn)無線通信(基于電腦與ESP8266)

使用ESP8266和MicroPython支持MQTT的滾動文本

評論