esp8266 默认是嵌入式 c 的固件,写程序是用 c 语言。刷成 micropython 后就可以用 python 语言进行开发了。
本例:
烧录器:CH340C
模块:esp8266-01s
电脑:windows10
1.硬件
1.1.CH340C串口烧录器
1.2.ESP8266-01S模块
1.3.连接
把烧录器和板子插到一块。
我们无法直接把模块和电脑连起来,让电脑里的代码运行到模块上。烧录器充当了一个替身,一个桥梁。
写代码时都是面对的模块,忽略烧录器的存在即可。
2.烧录器驱动
烧录器插到电脑上,进入设备管理器,找到对应的设备,
如果没有驱动,出现一个黄色警示标志的“其他设备”,
如果是windows10系统,很可能驱动就直接自动安装好了,出现一个带有“COM”字样的端口,
记住这里是“COM3”,
如果是黄色标记的设备,按如下步骤安装驱动。
驱动下载 http://www.wch.cn/downloads/CH341SER_ZIP.html
下载驱动包并解压。
2.1.安装方式1
右键设备,更新驱动程序,
浏览我的计算机… ,
找到刚刚解压的目录,
此后自动检索到驱动安装。
2.2.安装方式2
直接运行解压目录中的setup.exe程序进行安装,然后把烧录器拔下后,重新插到电脑上,驱动自动加载,
3.模块刷固件
如果把esp8266模块比作电脑,那么MicroPython固件就相当于它的操作系统。
首先模块和烧录器已经插在电脑上了。
我们使用 uPyCraft 工具。
http://docs.dfrobot.com.cn/upycraft/
http://docs.dfrobot.com.cn/upycraft/2.1下载和安装uPyCraft.html
http://download3.dfrobot.com.cn/uPyCraft/uPyCraft.exe
这是一个直接运行的程序,双击运行,出现一个字体缺失的提升,点 Cancel 即可。
3.1.烧写
Tool,BurnFirmware,打开新弹窗,
Board 选择 esp8266,
erase_flash 选择 yes,
com选择设备管理器中看到的 COM3,
FirmwarChoose 选择默认的 uPyCraft 即可,
(也可以在 https://micropython.org/download/esp8266/ 下载想要的版本,从“Users”选择。)
点击OK,即开始刷MicroPython固件,
此时,板子上有个小灯会闪烁,直到进度完成。
按一下烧录器的重启按钮,或者拔下来重新插一下,
然后连接,初次连接失败可以重新打开 uPyCraft。
菜单栏,Tools,board 选择 esp8266,Serial 选择 COM3,
3.2.测试
第1次点击 workSpace,要求选择一个工作目录作为worokSpace,
再创建代码文件,
1 2 |
import esp esp.check_fw() |
刷新目录,选择代码文件,点击三角按钮,或菜单栏Tools,DownloadAndRun,上传并运行,
看到size和md5出现,即说明在模块上刷MicroPython固件成功。
4.使用VSCode
除了 uPyCraft,还可以使用 vscode 作为开发工具。vscode 通过 “rt-thread micropyth” 插件对 esp8266 模块操作,仍然是通过 COM 口进行的。所以还是结合烧录器插在电脑上的形式。
4.1.安装插件
插件 python、 rt-thread micropyth
4.2.创建工程
在 py 文件中编写代码。
4.3.测试
重新打开VSCode时可能出现 “Import "machine" could not be resolved” 找不到包的情况,
那么在项目下新建“.vscode”文件夹,再在其中新建“settings.json”文件输入:
1 2 3 4 5 |
{ "python.analysis.extraPaths": [ ".vscode配置目录/extensions/rt-thread.rt-thread-micropython-1.0.8/microExamples/code-completion" ] } |
5.模块的 webrepl 设置
Webrepl 指的是通过网络的形式让电脑和模块进行交互,即不必通过烧录器插到电脑上。
通常就是,电脑和模块都通过 wifi 连接到同一个路由器上,电脑就能通过 ip 对模块进行访问。
5.1.作为终端
下面代码逐行输入 uPyCraft 的交互窗口。
1 2 3 4 5 |
import network wlan = network.WLAN(network.STA_IF) # 创建网络接口 wlan.active(True) # 开启接口 wlan.connect("wifi热点", "wifi密码") # 连接一个wifi信号(“wifi热点”,“密码”) wlan.ifconfig() # 查看模块的ip |
5.2.作为服务端
1 2 3 |
import webrepl_setup |
输入:E ,开启 webrepl,
输入:123456 ,一个秘密
确认:123456 ,确认密码
输入:y ,立刻重启模块,使 webrepl 生效
如果implort后没反应,可以先
1 2 |
import machine machine.reset() |
再 import webrepl_setup 。
然后,是开启webrepl。
1 2 |
import webrepl webrepl.start() |
此时日志中会多显示一个 ip,即 webrepl 的后台地址 ip。
5.3.通过 webrepl 连接模块
从这里 https://github.com/micropython/webrepl 下载项目,
解压到本地,浏览器打开 webrepl.html
此时可以使用 micropython 内置的 api 对模块进行操作。
参考 http://docs.dfrobot.com.cn/upycraft/
开启web-repl后就可以使用独立电源开启模块。下面是一个开启模块上指示灯的例子。
- end
本文由崔维友 威格灵 cuiweiyou vigiles cuiweiyou 原创,转载请注明出处:http://www.gaohaiyan.com/3771.html
承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设