Arduino的nodemcu 8266开发板使用MicroPython开发的整体流程
创始人
2024-05-15 11:23:30
0

程序安装准备

  • 安装开发板驱动,官网:(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
环境,若是第一次需要一下步骤

  1. import webrepl_setup #设置web热点,注意如果重启,就需要重新导入这句,否则其他设备连接这个wifi很难
  2. 询问是否在boot执行
  3. 询问想要设置的密码这不是wifi密码(是使用webrepl网页中交互的登录密码),并会有一次确认输入
  4. 这样就将nodemcu做为一个路由使用,但这个路由的名字是以下图中的格式,后面数值不一样.(这个wifi密码是:micropythoN)注意最后一个字母就是大写的
  5. 然后将电脑和这个WiFi连接,一定不要忘记
  6. 打开下载好的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的文件传入到开发板中。同样的准备工作。

  1. 在upycraft或putty中,需要保证开发板固件烧录,且程序和开发板通信
  2. 其中需要在连接好的软件窗口,使用import webrepl; webrepl.start()分开输入两个命令,查看下面的那个webREPL的ip(这个上面开发板做为接入点使用的IP不同)
  3. 然后打开下载到本地的webrepl文件夹中的WebREPL.html文件。输入第2步得到的IP,然后正常连接
  4. 注释:前三步和前面操作除了查看IP不同,其他都一样,后面通过图片介绍这些步骤(以upycraft为例)。
  5. 连接好就可以传送或从开发板下载文件

1,步骤中就是确定安装好固件,并串口交互软件通过设置com口等参数实现通信,最终结果如下(第三张图)
第一张图是设置开发板接入网络的模式。配置局域网参数
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
2,启动开发板上的webrepl功能,若重启则需要重新启动webrepl,第二个IP是将开发板设置为无线终端模式下被非匹配的ip
在这里插入图片描述
3,打开下载到本地的webrepl.html,设置好地址输入自己设置的开发板登录密码
在这里插入图片描述
5,可以开始下载了。
在这里插入图片描述

整体文件流程

  1. 先执行boot.py文件,这就是第一次设置wlan后再次重启不需要重新设置的原因
  2. 然后执行main.py

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...