程序安装准备
- 安装开发板驱动,官网:(https://cn.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads)这里不是CH340驱动,而是CP210x USB to USART 驱动,最终也是在“设备管理器查看COM口”
- 为NodeMCU刷入固件(一个bin文件),(官网:www.micropython.org)就像是手机的系统一样。可以用来用户上传和管理开发板
- 安装python环境,为了安装pytools库,而pytools可以把下载的bin文件刷到NodeMCU中
- 安装putty,官网putty.org,这是一个串行接口连接软件,用于设置连接口COM设置后,启动连接测试
各个部件的分配和认知
Micropython固件下载
使用多种方式下载的过程中,一定要保证当时只有一种方式对传输串口访问,否则会失败。
1,使用官方工具直接下载,
但个人测试没能成功,个人认为很可能是地址问题
https://www.espressif.com.cn/zh-hans/support/download/other-tools
2.使用python的esptool安装
这种方式主要是依赖python环境。先安装python,然后下载esptool库。使用esptool把固件烧录到开发板,但这种方式个人测试并没有成功。
3,最简单的方式,使用 uPyCraft
尝试过后,感觉这种方式是最简单的
软件地址:https://gitee.com/dfrobot/upycraft_cn
**经过个人尝试,前两种安装方式很难成功(个人是没成功),但显示确实是传入了)就是重启不能在串口正常工作。但使用这种方式,即使自己下载的固件bin文件,也可以安装成功,但同样的文件上传,上面两种方式就不能成功(**若有大神看见请告知,为什么这样)
putty
这是一个串口检测和交互软件,在设置好COM口的各项内容后,点击打开会出现一个很像命令提示符(cmd)窗口的内容
这时就可以对这个软件连接的串口发送命令。若串口连接的设备有系统,也会根据putty发出的命令,返回对应的信息。这里就是开发板的micropython系统返回到putty
下面这种情况,就是前两种固件下载方式后,这种并不是成功显示。
这是使用uPyCraft下载后,重启,现象正常。是下载地址问题?,这个不太知道。
webREPL
这是在开发板做为一个WiFi点的时候使用,也就是开饭的接入点模式,有一个本地的webRepl,用于在自己电脑浏览器打开后和开发板交互,下载地址(https://github.com/micropython/webrepl)
还有一个在micropython中的一个库,可以使用putty发送import webrepl setup
命令给开发板连接的COM口,让开发板安装这个库,设置好这个库在开发板启动的配置后。重启后会在putty窗口返回一个IP,
开发板接入点模式做为路由连接网络
通过上面的尝试,个人最终选择使用了upycraft ide这个专门为micropython使用的软件。
通过前面步骤需要准备的东西:upycraft,webRepl(从GitHub下载下来的一个压缩包)。
首先使用upycraft安装好nodemcu的固件(micropython的文件),然后第一次设置wifi
环境,若是第一次需要一下步骤
- import webrepl_setup #设置web热点,注意如果重启,就需要重新导入这句,否则其他设备连接这个wifi很难
- 询问是否在boot执行
- 询问想要设置的密码这不是wifi密码(是使用webrepl网页中交互的登录密码),并会有一次确认输入
- 这样就将nodemcu做为一个路由使用,但这个路由的名字是以下图中的格式,后面数值不一样.(这个wifi密码是:micropythoN)注意最后一个字母就是大写的
- 然后将电脑和这个WiFi连接,一定不要忘记
- 打开下载好的webrepl压缩包,并打开其中的“webrepl.html”文件
然后就能,通过网页和交互,也可以传文件。**但是这样由于开发板没有连接外网,且做为了节点,所有整个范围的设备不能连接internet。**所以使用无线连接模式,让开发板做为一个网络终端。
开发板做为终端,无线连接模式连接网络
参考:http://micropython.com.cn/en/latet/esp8266/tutorial/network_basics.html,http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-micropython/micropython-webrepl-4/
只需要通过Putty对接入板进行网络配置,在类似cmd窗口中配置,使用下面的命令
import network,
wlan = network.WLAN(network.STA_IF) ##STA_IF站点/终端接入模式,AP_IF是access point接入模式
wlan.active(True)
wlan.connect('自己wifi网络名字', 'WiFi密码')
wlan.ifconfig() # 返回四个ip分别是IP 地址、网络掩码、网关、DNS
这种情况即可以连接WIFI也可以访问开发板内容,当然还是在putty中其中webRepl,然后看到多个IP,这个IP可能因自动分配而不同时刻连接后的IP不一样。当然,可以通过设置静态IP和查看当时连接的IP完成设置。这里使用了参考中的图片,然后打开本地下载的WebRepl对开发板发送文件。
下面是对开发板进行传输数据
向开发板传入一个main.py的文件,文件里就写一句打印print("hello world")
.
从开发板读取数据
首先通过上面的步骤将一个名字为main.py的文件传入到开发板中。同样的准备工作。
- 在upycraft或putty中,需要保证开发板固件烧录,且程序和开发板通信
- 其中需要在连接好的软件窗口,使用
import webrepl; webrepl.start()
分开输入两个命令,查看下面的那个webREPL的ip(这个上面开发板做为接入点使用的IP不同) - 然后打开下载到本地的webrepl文件夹中的WebREPL.html文件。输入第2步得到的IP,然后正常连接
- 注释:前三步和前面操作除了查看IP不同,其他都一样,后面通过图片介绍这些步骤(以upycraft为例)。
- 连接好就可以传送或从开发板下载文件
1,步骤中就是确定安装好固件,并串口交互软件通过设置com口等参数实现通信,最终结果如下(第三张图)
第一张图是设置开发板接入网络的模式。配置局域网参数
2,启动开发板上的webrepl功能,若重启则需要重新启动webrepl,第二个IP是将开发板设置为无线终端模式下被非匹配的ip
3,打开下载到本地的webrepl.html,设置好地址输入自己设置的开发板登录密码
5,可以开始下载了。
整体文件流程
- 先执行boot.py文件,这就是第一次设置wlan后再次重启不需要重新设置的原因
- 然后执行main.py