|
【micropython教程】{ESP32} 在MicroPython下使用FTP进行文件同步
[复制链接]
本帖最后由 47857872 于 2018-6-14 11:57 编辑
现在市面上的ESP32模块基本都是通过CP2012的虚拟串口与PC进行通信,因此ESP32内的文件上传下载就得高度依赖于uPyLoader等小软件,其原理是在ESP32内运行一个文件操作的程序与电脑进行串口通信。我这里再介绍一种,通过ESP可以连接wifi的网络通信功能,使用FTP方法进行通信。(其实我使用FTP是迫不得已,因为在比较大的测试数据记录后,使用uPyLoader没办法读出大文件,我随便记录两天文件就到接近1MB了。。。)
首先需要刷下面更新的固件,是基于loboris做的,我一般也只用到的ftpsvr websvr telnetsvr等几个,一般用途的玩够使唤了,更新的方法和官网的固件有点不同,需要:
1. erase flash
2. esptool.exe --chip esp32 --port COM8 --baud 921600 --before default_reset --after no_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader/bootloader.bin 0xf000 phy_init_data.bin 0x10000 MicroPython.bin 0x8000 partitions_mpy.bin
或者 用ESPFlashDownloadTool 按照上面的地址写一下这4个文件
3. rst
使用的方法,这个是我常用的程序,随便存成啥,比如FtpStart.py,用uPyLoader拷到flash目录下,运行import FtpStart 就搞定了(注意更改一下你家wifi的账号密码)
- wifi_ssid = "your wifi_ssid"
- wifi_passwd = "your wifi_passwd.."
- my_timezone = "CST-8"
- import network
- import machine
- import time
- sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
- sta_if.connect(wifi_ssid, wifi_passwd)
- time.sleep(5)
- sta_if.ifconfig()
- rtc = machine.RTC()
- rtc.init((2018, 01, 01, 12, 12, 12))
- rtc.ntp_sync(server= "", tz=my_timezone, update_period=3600)
- time.sleep(5)
- print(rtc.now())
- network.ftp.start(user="micro", password="python", buffsize=1024, timeout=300)
- network.telnet.start(user="micro", password="python", timeout=300)
- print("IP of this ESP32 is : " + sta_if.ifconfig()[0])
复制代码
这两个是程序,一般的node esp32里是没有psRAM的,用第一个就好
MicroPython_LoBo_esp32_all.zip
(1.13 MB, 下载次数: 75)
MicroPython_LoBo_esp32_psram_all.zip
(1.18 MB, 下载次数: 43)
|
赞赏
-
1
查看全部赞赏
-
|