本帖最后由 风之山谷 于 2018-1-20 14:53 编辑

Python是一个简洁快捷的语言,风靡于全球,其功能强大好用;而为微处理器优化的Micropython语言吸取了精华,对微处理器进行了优化。它是一种解释性语言,只需要解释器。ESP32刚好是支持Micropython语言的,可以安装来尝试一下。

1.下载Micropython的ESP32 bin固件。地址为:

https://micropython.org/download#esp32

2.使用之前介绍的下载器ESP FLASH TOOL来下载到ESP32-DevkitC上面。打开软件之后选择ESP32。在SPIDownload窗口中,点击…选择刚下载的Micropython bin固件,把前面的复选框勾上,@后面的框中输入偏移值,为0x1000。选择晶振频率、SPI速度、SPI模式和Flash大小,可参考如图。最后选择ESP32-DevkitC板连接的COM口和波特率。点击START按键开始下载。

1.png (41.58 KB, 下载次数: 50)

2018-1-20 14:19 上传

2.png (48.33 KB, 下载次数: 39)

2018-1-20 14:19 上传

3.完成之后重新上电,打开串口调试工具,如下图则成功。

3.png (47.5 KB, 下载次数: 39)

2018-1-20 14:19 上传

4.有关ESP32 MicroPython的Doc的ESP32版本官网好像没有更新,但是可以有ESP8266版本的,因为两者都是相同架构,只是一些细微地方可能有些不同,可以在http://docs.micropython.org/en/latest/esp8266/参考。

5.尝试用MicroPython来实现LED灯吧~

MicroPython只是一个解释性语言,烧录进去的固件只是解释我们的语言,然后执行操作。如果要输入MicroPython语句的话,一般需要一条条地输入。

为了方便输入,我这里并不打算使用串口助手,这里推荐使用SecureCRT,这是一个非常好用的串口文本输入工具,使用方法也很简单,只需要配置好波特率和端口,点击连接即可,使用感觉跟使用Linux Shell差不多。

4.png (82.22 KB, 下载次数: 36)

2018-1-20 14:19 上传

重启动板子之后,逐条输入以下语句,当然输入完一行记得回车

from machine import Pin

p5 = Pin(5, Pin.OUT) #将GPIO5设为输出模式

p5.value(1) # 高电平复制代码

看看P5的管脚LED是不是亮了。然后再接着输入以下语句。

p5.value(0) # 低电平复制代码P5管脚的LED是不是灭了。

是不是感觉MicroPython特别简单,使用起来就想在用电脑编程~

接着玩一些复杂点的,写一个1S循环亮灭灯程序。

1s循环闪灯程序:

from machine import Pin

import time

p5 = Pin(5, Pin.OUT) #将GPIO5设为输出模式

state = 1

for i in range(0,10):

p5.value(state) #高电平

state = 1 – state

time.sleep(1) #延迟1s复制代码

注意在输入了for之后,它自动空了一个TAB键,在留空TAB键内输入的就是for语句执行的循环部分。效果是LED 1s亮,1s灭,这只是加了一个for循环语句就可以实现了。

6.MicroPython内置了对DHT11支持的库,十分方便。刚好手头上有一个,把DHT11的DATA接到GPIO4引脚。

在SecureCRT中可以支持TXT文件输入,这样就不用一句一句地输入了,可以写好了再输入到ESP32-DevkitC板上。

DSC_0467.JPG (1.31 MB, 下载次数: 31)

2018-1-20 14:38 上传

7.这是DHT11读取温度的MicroPython语句,代码如下:

import dht  #导入dht库

from machine import Pin #从machine库中导入Pin

d = dht.DHT11(Pin(4)) #创建一个DHT11实例,其中信号引脚为4号引脚

d.measure() #开始测量

d.temperature() #读取温度复制代码把上面代码保存成txt文件或者py文件

8.png (17.96 KB, 下载次数: 39)

2018-1-20 14:19 上传

8.然后在SecureCRT中点击Transfer -> Send ASCLL...,

9.png (50.76 KB, 下载次数: 36)

2018-1-20 14:19 上传

9.选择刚才保存代码的文件,这里例子为DHT.py,点击Send即可

10.png (35.26 KB, 下载次数: 34)

2018-1-20 14:19 上传

10.输入之后的效果,输出了17字样,这个就是读取DHT11得出的温度了~

11.png (49.96 KB, 下载次数: 33)

2018-1-20 14:19 上传

11.接下来用MicroPython连接上wifi,输入以下代码:、

import network

sta_if = network.WLAN(network.STA_IF)

sta_if.active(Ture)   #打开wifi

sta_if.scan()  #搜索wifi,下面会列出搜到的wifi

sta_if.connect("Name","Password")   #这里填入wifi SSID和密码,取代语句中的那两个英文单词

sta_if.isconnected()   #检查是否连上复制代码

6.png (101.66 KB, 下载次数: 34)

2018-1-20 14:19 上传

7.png (92.06 KB, 下载次数: 34)

2018-1-20 14:19 上传

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐