• ESP8266传送文件设置和操作


    问题:ESP8266不能被识别为USB盘,也不能通过串口传送文件,只能通过wifi传送文件,需要事前在串口连接后的repl状态下,用命令行方式配置网络参数,之后才可以用wifi传送文件(webrepl方式)。
    目的:解决wifi传送文件的设置问题。
    工具:使用putty或TeraTerm
    固件:升级后的固件MicroPython v1.9.3-8-g63826ac5c on 2017-11-01
    平台:windows XP

    一. AP方式直接连接到PC机

    1. 配置AP(不用配置,默认网关为192.168.4.1 )

    你的PC机直接连接到ESP8266 ssid = "micropython-xxx" password="micropythoN"
    自己可以修改:
    >>> ap_if = network.WLAN(network.AP_IF)
    >>> ap_if.config(essid="micropython-xxx", authmode=network.AUTH_WPA_WPA2_PSK, password="micropythoN")

    2.启动webrepl

    用putty或TeraTerm以串口连接后,在串口repl模式下,输入:
    >>> import webrepl_setup
    按(E)able
    按y/n?(y)
    输入密码:h1234
    再输入密码:h1234
    按y,重新启动。
    显示>>>
    !设置已经保存文件中,下次启动时有效。

    3. wifi传送文件(两种方法传送文件)

    (1). 浏览器方式wifi传送文件和webrepl命令
    javascript实现,不用Python3,要求高版本浏览器
    <1> PC机上,双击webrepl.html 打开黑色浏览窗口(firefox esr 52.0.1 (32-bit)测试正确;js代码中要求IE10以上,但没有测试。)
    <2> 默认地址和端口不变:192.168.4.1:8266
    <3> 输入密码:h1234
    <4> 显示>>>
    <5> 黑色浏览窗口右上角收发文件正常
    <6> webrepl中命令正常

    (2). webrepl_cli.py命令行方式wifi传送文件
    !要求已经安装python3
    <1> 执行cmd,进入命令行状态,进入webrepl_cli.py所在目录
    <2> 帮助
    >>> python webrepl_cli.py --help
    <3> ESP--->PC接收文件
    >>> python webrepl_cli.py -p h1234 192.168.4.1:/boot.py ./esp2pc_test.txt
    上行命令写入批处理文件中,点击就执行。自己修改目录和文件。
    <4> PC--->ESP发送文件
    >>> python webrepl_cli.py -p h1234 pc2esp_test.txt 192.168.4.1:/pc2esp_test.txt
    上行命令写入批处理文件中,点击就执行。自己修改目录和文件。

    二. STA方式经过自己的路由器连接到PC机

    1. 配置ESP8266 wifi网络参数

    配置STA,连接到自己的wifi自己的路由器(ssid=hyper1, password=hj1234567):
    用putty或TeraTerm以串口连接后(repl方式),设置ESP8266 wifi STA模式,并连接到自己的wifi路由器。
    串口连接ESP8266, 在repl方式下输入如下命令:
    >>> import network
    >>> sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
    >>> sta_if.connect("hyper1", "hj1234567") #连接到hyper1路由器。
    >>> sta_if.ifconfig() # 查看ip地址 192.168.0.106 !记住这个IP
    >>> sta_if.isconnected() #查看是否连接到自己的路由器
    >>> import port_diag #诊断板

    2. 启动webrepl

    用putty或TeraTerm以串口连接后,在串口repl模式下,输入:
    >>> import webrepl_setup
    按(E)able
    按y/n?(y)
    输入密码:h1234
    再输入密码:h1234
    按y,重新启动。
    显示>>>
    !设置已经保存文件中,下次启动时有效。

    3. wifi传送文件(两种方法传送文件)(esp8266 STA方式连接到自己路由器)

    (1). 浏览器方式wifi传送文件和webrepl命令
    javascript实现,不用Python3,要求高版本浏览器
    <1> PC机上,双击webrepl.html 打开黑色浏览窗口(firefox esr 52.0.1 (32-bit)测试正确;js代码中要求IE10以上,但没有测试。)
    <2> 修改8266的STA地址:192.168.0.106,端口8266不变
    <3> 输入密码:h1234
    <4> 显示>>>
    <5> 黑色浏览窗口右上角收发文件正常

    (2). webrepl_cli.py命令行方式wifi传送文件
    !要求已经安装python3
    <1> 执行cmd,进入命令行状态,进入webrepl_cli.py所在目录
    <2> 帮助
    >>> python webrepl_cli.py --help
    <3> ESP--->PC接收文件
    >>> python webrepl_cli.py -p h1234 192.168.0.106:/boot.py ./esp2pc_test.txt
    上行命令写入批处理文件中,点击就执行。自己修改目录和文件。
    <4> PC--->ESP发送文件
    >>> python webrepl_cli.py -p h1234 pc2esp_test.txt 192.168.0.106:/pc2esp_test.txt
    上行命令写入批处理文件中,点击就执行。自己修改目录和文件。

    三. 使用

    用wifi传送文件,有线串口调试。
    (1)两种网络连接方式
    AP或STA连接,选择一种就行,建议用第一种方式,方便、不用配置、只启动就行。
    (2) 两种文件传送方式
    有两种文件传送方式,网页方式和命令行方式,选择一种就行,第一种方便,不用安装Python3,但对浏览器要求高。
    (3)两种命令操作方式
    建议用串口repl命令行操作esp中文件和调试代码片段。
    网络中webrepl也可以,但不稳定,慢。
    (4) 文件操作
    import os
    os.listdir()
    os.remove("test.py")
    ...

    四. 停止与重启动

    1. 停止webrepl

      (1) 串口repl中Ctr-C后Ctr-D启动,wrepl守护进程停止。
      (2) >>> import webrepl
      >>> webrepl.stop()
      (3)>>> import webrepl_setup
      按d (Disable)
      按y (yes)
      修改boot中开机启动守护进程项,关闭。

    2. 重新启动webrepl
      (1) >>> import webrepl
      >>> webrepl.start()
      显示如下:
      WebREPL daemon started on ws://192.168.4.1:8266
      WebREPL daemon started on ws://192.168.0.100:8266
      Started webrepl in normal mode
      表示webrepl已经启动。

      (2)上电或复位后会自动启动webrepl守护进程,
      (3)>>> import webrepl_setup,并重新输入密码。
      修改boot中开机启动守护进程项,打开,并保存新密码。

    以上方式全部测试通过!

    五. 出现的问题:

    1. 固件1.9.3,在putty或TeraTerm连接开始时,repl窗口出现很多乱码,连接三次后正常。或者板上电后,延时5秒以上时间后,再打开putty或TeraTerm.
    2. putty会有串口锁住的问题,而TeraTerm不会锁住串口。

    微信:h790516
    qq :790516
    博客:http://www.cnblogs.com/hyper99
    微店:嵌入式系统工匠坊 ---http://wd.koudai.com/s/259792644
    作者:黄永平(Hyper)
    时间:2017年12月7日

  • 相关阅读:
    POJ3213(矩阵乘法)
    jquery:ajax不接收返回值回
    Swift UI学习UITableView and protocol use
    也可以看看GCD(杭州电2504)(gcd)
    数据结构—队列
    HDU 4946 Area of Mushroom 凸包
    UVa 353
    照片教你eclipse通过使用gradle 打包Android
    普林斯顿大学公开课 算法1-8:并检查集合 高速查找
    Codeforces Round #246 (Div. 2)
  • 原文地址:https://www.cnblogs.com/hyper99/p/ESP8266chuan-song-wen-jian-she-zhi-he-cao-zuo.html
Copyright © 2020-2023  润新知