数码之家

 找回密码
 立即注册
搜索
查看: 5256|回复: 21

【ESP8266_micropython】_01_环境搭建(点灯)

[复制链接]
发表于 2021-7-5 12:06:48 | 显示全部楼层 |阅读模式
本帖最后由 lyy-cy 于 2021-7-5 18:27 编辑


ESP8266_micropython_01_环境搭建(点灯)





【准备工作】
1、安装usb-ttl驱动
推荐用这种板子,集成了usb-ttl,而且能自动下载,用数据线连接电脑,安装串口驱动,这个大家都会;
装完驱动记得拔掉模块。









2、下载IDE和固件

建议先建立一个目录“01_环境搭建”,将下载和后续的文件有序存放,例如我的路径是:
g:\ESP8266_micropython\01_环境搭建\


https://thonny.org/  
下载IDE,文件很小17M





很贴心的网站,右上选择windows,可以用迅雷下,放在前面的目录,省得以后找不到。



用以下网址下载固件,直接用最新版,下图已经标出
https://micropython.org/download/esp8266/




3、安装thonny

直接双击,默认安装即可。








4、设置开发环境


选择语言,英文好的可以不改。




查看能支持的开发板种类。



这里先看看电脑已有哪些串口,等会插上模块,增加的那个就是模块8266.




后面这一步就看看,不用确认,直接取消就行了。
记得重新启动下软件,让语言设置生效。




5、烧录固件


插上模块,连接电脑后。增加的这个就是。


选择好8266,最下面的小字是关键。



按图操作,基本是默认参数。




等几分钟就好。


这就表示完成了。




不出意外能看到8266已经连接上了,出现以下画面。
若是没有看见这个,插拔几次模块。




>>> 是Python的提示符,现在可以和模块对话了,
试一试输入下面的字符,体验下交换环境和解释型语言。





6、点灯


选择新建文件


输入以下3句语句。要是真的很懒,复制粘贴也可。我已经想到了。

  1. <font face="微软雅黑">from machine import Pin

  2. LED_02 = Pin(2, Pin.OUT)    # 创建对象,对应GPIO0口输出
  3. LED_02.value(0)             # 设置引脚为0 输出低电平  亮灯</font>
复制代码


点击绿色的运行按钮



会让你选择保存在电脑还是模块,这里先选择保存在电脑,






保存在电脑的好处是可以在外面用自己熟悉的文本软件编辑。下面这些只是小技巧,不用也行。






用外置的文本工具编辑后点保存,会提示是否是否更新,点击是就刷新了。
当然用自带的文本编辑也可以,还支持语法高亮。





要是不保存到模块,模块重启后就不会执行以前编辑的代码。
当调试修改成功后,点击文件--另存--选择保存到模块。
这样,拔下模块,用充电宝供电,灯也是亮的。




在这个窗口中点击右键,可以删除已经保存的文件。
boot.py  是启动文件,最好别动。
main.py  和 main.c 是一个道理。







7、相关资料

收集的一些网络资料,分享给大家,可能有帮助。




两个LED在 gpio2  和 gpio16
  1. from machine import Pin

  2. LED_02 = Pin(2, Pin.OUT)    # 创建对象,对应GPIO0口输出
  3. LED_02.value(0)             # 设置引脚为0 输出低电平  亮灯
  4. #LED_02.value(1)             # 设置引脚为1 输出高电平  关灯

  5. LED_16 = Pin(16, Pin.OUT)    # 创建对象,对应GPIO0口输出
  6. # LED_16.off()               # 设置引脚为off 输出低电平  亮灯
  7. LED_16.on()                  # 设置引脚为on  输出高电平  关灯</font>
复制代码
可以依次尝试各个IO,记得空格不能随意加在行首就可以了。




micropython  是按照  GPIO 编号来操作的。











自动下载的原理就是控制GPIO 0  ,拉低,上电后再释放













8、后记

  • 上面的过程看似繁琐,其实很容易成功,
  • 成功的朋友一定要记得留言。
  • 愿意尝试的朋友此时应该能点亮LED了,
  • 开发环境的搭建是第一步,很多时候我们这些非专业人士就是卡在这里了;
  • 下面的网站大家可以看看,有什么想法也欢迎留言讨论。


http://docs.micropython.01studio.org/zh_CN/latest/esp8266/quickref.html

https://www.runoob.com/python3/python3-comment.html

https://blog.csdn.net/zhou_2018/article/details/117769317










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 3家元 +80 收起 理由
慕名而来 + 20
家睦 + 50
keye + 10 加油

查看全部打赏

 楼主| 发表于 2021-7-5 12:09:47 | 显示全部楼层
本帖最后由 lyy-cy 于 2021-7-5 16:16 编辑
以前折腾过的一些跟micropython相关的帖子,大家可以参考:


micropython不适合做很大的项目,业余玩很方便。
而且Python更适合非计算机专业人士使用。更适合日常工作中处理重复的操作。

当年工作要求要每周发工作报表,手工要1个小时,写了Python代码,自动生成还自己发邮件。
还有一个工作是要求监测全国的与本公司产品相关的招标信息,
要对自己分管的大区的每个省、每一个标,写出参与公司、本公司当地区域负责人、丢标分析等,
别的兄弟手工一个个查,每个月至少6--8小时,有的要几天、搞这个事情。
我用爬虫,几分钟一键自动生成Excell报表。

我记得好像岳鑫的SDK里面有调用Python烧写和设置参数,上次电脑重装后懒得再装linux虚拟机就放弃了。
linux直接内置了Python,而且你要是卸载,会……

这是我自己用的一个每次开机自动对时的win电脑端程序,主板老了不能保存时间,又懒得折腾。

  1. # 必须先安装NTP模块  pip install ntplib
  2. import os
  3. import time ,datetime
  4. import ntplib


  5. def count_down():
  6.     scale = 50
  7.     #print("30秒倒计时".center(scale//2,"-"))
  8.     print("--")
  9.     start = time.perf_counter()
  10.     for i in range(scale+1):
  11.         a = '*' * i
  12.         b = '.' * (scale - i)
  13.         c= (i/scale) * 100
  14.         dur = time.perf_counter() - start
  15.         print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
  16.         time.sleep(0.6)
  17.     #print("\n"+"倒计时结束".center(scale//2,"-"))







  18. print("NTP program running....")
  19. time.sleep(1)
  20. print("延时30秒等待网络稳定")
  21. time.sleep(1)
  22. count_down()
  23. c = ntplib.NTPClient()
  24. response = c.request('time1.cloud.tencent.com')
  25. ts = response.tx_time
  26. _date = time.strftime('%Y-%m-%d',time.localtime(ts))
  27. _time = time.strftime('%X',time.localtime(ts))





  28. _ntp_hour = time.strftime('%H',time.localtime(ts))
  29. _pc_hour = datetime.datetime.now().strftime('%H')


  30. if(_ntp_hour == _pc_hour):
  31.     print("\n\r时间是正确的,30秒后,自动退出。")
  32.     count_down()
  33. else:
  34.     os.system('date {} && time {}'.format(_date,_time))
  35.     print("\n\r时间已经调整好!")
  36.     print("\n\r30秒后注销用户,若不需要直接关闭本窗口。")
  37.     count_down()
  38.     os.system('shutdown -l') #注销当前用户
  39.     #os.system('rundll32.exe user32.dll,LockWorkStation')


复制代码




回复 支持 反对

使用道具 举报

发表于 2021-7-5 12:54:54 | 显示全部楼层
这个环境还是第一次见!
回复 支持 反对

使用道具 举报

发表于 2021-7-5 14:07:05 来自手机浏览器 | 显示全部楼层
总算是有教程了,最后这个板子在arduino下并不会自动下载,0-15-16三个引脚拉高拉低…搞的没心情玩了…
回复 支持 反对

使用道具 举报

发表于 2021-7-5 14:17:13 | 显示全部楼层
可以理解成一个编译器,把规定的语法转为硬件汇编
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-5 14:19:49 | 显示全部楼层
本帖最后由 lyy-cy 于 2021-7-5 14:27 编辑
触景情伤 发表于 2021-7-5 14:07
总算是有教程了,最后这个板子在arduino下并不会自动下载,0-15-16三个引脚拉高拉低…搞的没心情玩了… ...

自动下载是硬件的问题,和软件无关;最后这个板子只能手动;
推荐买个Nodemcu模块;
点亮了记得发图。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-5 14:23:46 | 显示全部楼层
本帖最后由 lyy-cy 于 2021-7-5 14:25 编辑
inthsunshine 发表于 2021-7-5 14:17
可以理解成一个编译器,把规定的语法转为硬件汇编

一看就是学过C语言的,但是这个……
回复 支持 反对

使用道具 举报

发表于 2021-7-5 15:16:38 来自手机浏览器 | 显示全部楼层
lyy-cy 发表于 2021-7-5 14:19
自动下载是硬件的问题,和软件无关;最后这个板子只能手动;
推荐买个Nodemcu模块;
点亮了记得发图。

就帖子第一图的板子玩着很闹心…现在累的躺床上就能睡着…没有时间玩了,等工地啥时候放假再折腾吧…
回复 支持 反对

使用道具 举报

发表于 2021-7-5 15:19:15 | 显示全部楼层
支持一把!

有新帖还是热闹:lol::lol::lol::lol::lol:
回复 支持 反对

使用道具 举报

发表于 2021-7-5 16:52:19 | 显示全部楼层
在不掉电的情况下,把IO0置低,然后复位,可以进入下载模式吧?
我看有些原理图,都没有把RST接出来,反而EN接了一个开关。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-5 22:15:55 | 显示全部楼层
hecat 发表于 2021-7-5 16:52
在不掉电的情况下,把IO0置低,然后复位,可以进入下载模式吧?
我看有些原理图,都没有把RST接出来,反而E ...

是的,自己画板子只要这样就可以了。


上面的原理图已经多次验证,只要用跳线帽短接gpio 0 和gnd即可下载。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2021-7-6 02:53:29 | 显示全部楼层
我点不亮呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2021-7-6 03:22:14 | 显示全部楼层
from machine import Pin

LED_2=Pin(2,Pin.OUT)


会亮灯,但是加上LED_2.value(0) 就会出错
回复 支持 反对

使用道具 举报

发表于 2021-7-6 09:53:50 | 显示全部楼层
现在这个灯是点亮了,下一步却不知道做什么。。。
回复 支持 反对

使用道具 举报

发表于 2021-7-6 11:12:56 | 显示全部楼层
leafchy 发表于 2021-7-6 09:53
现在这个灯是点亮了,下一步却不知道做什么。。。

把灯闪起来试试
回复 支持 反对

使用道具 举报

发表于 2021-7-6 11:57:25 | 显示全部楼层
学习了,不错的样子
回复 支持 反对

使用道具 举报

发表于 2021-7-6 15:28:50 | 显示全部楼层
楼主一句话劝退,Python不适合项目,毕竟一般单片机没有这么大空间。
回复 支持 反对

使用道具 举报

发表于 2021-7-6 23:44:35 | 显示全部楼层
闪起来了,但是那个LED_2.value(0) 还是不知道怎么回事

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-7 13:08:25 | 显示全部楼层
keye 发表于 2021-7-6 23:44
闪起来了,但是那个LED_2.value(0) 还是不知道怎么回事

这里涉及两个知识点: 模块、类

看完下面这两篇文章就懂了:

https://www.runoob.com/python3/python3-module.html

https://www.runoob.com/python3/python3-class.html

要是觉得有难度,就跟着后续文章,慢慢推进。
回复 支持 反对

使用道具 举报

发表于 2021-7-8 09:10:24 | 显示全部楼层
对Python不熟,但在楼主帖子的激励下,网上一顿狂搜,建好了官方ESP8266_RTOS_SDK的开发环境,谢谢。
我会C语言,就着自己的知识面来,降低学习成本。:lol::lol::lol:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-11 03:22 , Processed in 0.312001 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表