• ESP32 Micropython编程(Thonny)01----环境搭建&点灯


    本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~

    为什么使用 Micropython编进行变成呢,在我初步使用后有一下的体悟:
    	1.操作简单,python语法。arduino框架编译速度贼慢,即使用了platform平台还是很慢,而乐鑫提供的开发环境部署开发都有一点麻烦。
    	2.有命令行模式,也就是可以实时的进行调试,可以一行一行的执行代码,esp32好像没有像stm32那样强大的调试功能,而这个命令行模式对于简单程序来说调试还是很舒服的。
    	当然问题也不少
    	1.资源比较少,很难找到一些库文件,而且出现问题也不好解决,但目前这一块好起来了。
    	2.占用硬件资源,但是对我一个diy爱好者来说,能用就行,目前没感受到因为这个语言而出现的资源方面问题。
    	而且随着技术的发展,和python的爆火,Micropython一定会被越来越多的人接收使用。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    ok,接下来我们就进入Micropython的学习吧(因为我是一边学习一边记录,因此肯定会出现一些错误,欢迎大家指正,大家一起学习进步)

    第一步:Micropython编程环境搭建

    1.Thonny安装

    一个python软件,但是支持micropython,
    
    • 1

    下载地址:Thonny
    选择对应版本,一路next就OK

      安装好就是这样的界面

    2.为你的esp32刷入micropython固件

    下载地址:micropython
    选择你对应的硬件类型,下载固件,然后将你的板子连接到电脑。

    1.点击选择解释器
    在这里插入图片描述
    2. 选择解释器是ESP32,并选择端口,点击下面的install or update
    在这里插入图片描述
    3. 在Firmware添加你刚才下载的固件,点击安装等待就ok拉
    在这里插入图片描述
    到这一步,你的esp32硬件就已经支持micropython语言了,下面我们点个灯测试一下吧。

    第二步 老演员-点灯

    1. 如果你有一点python基础,一点硬件基础,你应该可以看懂代码啥意思吧,不解释。
    2. 刚接触micropython我们主要对他的一些函数不是很清楚,而且这个编译器没有提示,所以很难受,这时候用好micropython开发手册就很重要了,大家可以在micropython的官网找到。】
    # IO2对应led
    import machine
    import time
    pin2 = machine.Pin(2, machine.Pin.OUT)
    while True:
        pin2.value(1)
        time.sleep_ms(500)     
        pin2.value(0)
        time.sleep_ms(500)    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意改成你的硬件led哦,不过esp32一般都是IO2吧,看一下你的原理图吧。

    pwm输出:实现呼吸灯,代码如下

    from machine import Pin, PWM
    import time
    
    pwm0 = PWM(Pin(2))      # create PWM object from a pin
    pwm0.freq(1000)         # set frequency
    while True:
        for i in range(0,1024,1):
            pwm0.duty(i)          # 0-1023
            time.sleep_ms(1)
        for i in range(1023,-1,-1):
            pwm0.duty(i)          # 0-1023
            time.sleep_ms(1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    初入门大家多试一试我上面的代码,就对micropython有大致的体会了,这篇就到这喽,欢迎大家沟通交流~~~

  • 相关阅读:
    HCIA -- 动态路由协议之RIP
    公众号搭建教程
    【技术积累】Linux中的命令行【理论篇】【七】
    LeetCode0076.最小覆盖子串 Go语言AC笔记
    二分算法(2)
    小小Python编程故事-小小的成绩单(1)
    SQL语句练习
    选择HAL库还是标准库
    交叉编译 笔记
    关于在 Angular 应用里重复调用 RouterModule.forRoot(ROUTES) 的讨论
  • 原文地址:https://blog.csdn.net/amimax/article/details/127813134