查看: 6527|回复: 0

[原创] 11.ESP32-DevkitC教程之下载MicroPython&试玩

[复制链接]
  • TA的每日心情
    开心
    2019-12-26 22:21
  • 签到天数: 310 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2018-1-20 14:51:51 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 风之山谷 于 2018-1-20 14:53 编辑

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

    1.下载MicropythonESP32 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
    2.png

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

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

    5.尝试用MicroPython来实现LED灯吧~
    MicroPython只是一个解释性语言,烧录进去的固件只是解释我们的语言,然后执行操作。如果要输入MicroPython语句的话,一般需要一条条地输入。
    为了方便输入,我这里并不打算使用串口助手,这里推荐使用SecureCRT,这是一个非常好用的串口文本输入工具,使用方法也很简单,只需要配置好波特率和端口,点击连接即可,使用感觉跟使用Linux Shell差不多。
    4.png

    重启动板子之后,逐条输入以下语句,当然输入完一行记得回车
    1. from machine import Pin
    2. p5 = Pin(5, Pin.OUT) #将GPIO5设为输出模式
    3. p5.value(1) # 高电平
    复制代码
    看看P5的管脚LED是不是亮了。然后再接着输入以下语句。
    1. p5.value(0) # 低电平
    复制代码
    P5管脚的LED是不是灭了。
    是不是感觉MicroPython特别简单,使用起来就想在用电脑编程~
    接着玩一些复杂点的,写一个1S循环亮灭灯程序。

    1s循环闪灯程序:
    1. from machine import Pin
    2. import time
    3. p5 = Pin(5, Pin.OUT) #将GPIO5设为输出模式
    4. state = 1
    5. for i in range(0,10):
    6.   p5.value(state) #高电平
    7.   state = 1 – state
    8.   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

    7.这是DHT11读取温度的MicroPython语句,代码如下:
    1. import dht  #导入dht库
    2. from machine import Pin #从machine库中导入Pin
    3. d = dht.DHT11(Pin(4)) #创建一个DHT11实例,其中信号引脚为4号引脚
    4. d.measure() #开始测量
    5. d.temperature() #读取温度
    复制代码
    把上面代码保存成txt文件或者py文件
    8.png

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

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

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

    11.接下来用MicroPython连接上wifi,输入以下代码:、
    1. import network
    2. sta_if = network.WLAN(network.STA_IF)
    3. sta_if.active(Ture)   #打开wifi
    4. sta_if.scan()  #搜索wifi,下面会列出搜到的wifi
    5. sta_if.connect("Name","Password")   #这里填入wifi SSID和密码,取代语句中的那两个英文单词
    6. sta_if.isconnected()   #检查是否连上
    复制代码
    6.png
    7.png



    DHT.txt

    184 Bytes, 下载次数: 5

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 10:00 , Processed in 0.151732 second(s), 23 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.