10693|18

1万

帖子

25

TA的资源

版主

楼主
 

【ESP8266】MicroPython入门教程(5) [复制链接]

 
 
查看开发板上的文件

NicroPython开发板都是带有文件系统的,它将剩余的Flash空间,模拟成磁盘,可以通过多种方式访问。在pyboard上,因为带有USB接口,所以可以模拟成虚拟磁盘,通过系统的文件管理器访问,非常方便。而在ESP8266上,没有USB接口(只有USB转TTL串口),所以只能通过串口或者Wifi方式访问。

  • 文件列表

通过串口访问文件的方法,和pyb上是一样的,都是通过os模块。先看看下面例子,列出当前目录下的文件和目录:

>>> import os
>>> os.listdir()
['boot.py', 'demos', 'drive', 'main.py']

上面就是开发板默认带有的文件。os模块中的listdir()函数提供查看文件列表的功能。它还支持目录,例如:

>>> os.listdir('demos')
['led_test.py', 'morse.py', 'pwm_test.py', 'timer_test.py', 'webservicedemo.py']

这就是开发板的demos目录下的文件。


  • 查看当前目录

os.getcwd()

  • 改变当前目录

os.chdir()

例如:
>>> os.chdir('/demos')
>>> os.getcwd()
'/demos'

  • 查看文件内容

MicroPython没有提供Linux下的cat或者windows的type这样直接查看文件的方法,但是可以通过文件读写的方式查看文件内容。如:

>>> f = open('main.py', 'r')
>>> f.readall()
"print('Welcome to using MicroPython LR ver 1.1.0!')\nprint('Hello!')\nimport morse\nmorse.send('Hello', 2)\n"


最新回复

楼主,esp8266怎么接入阿里云 有教程吗   详情 回复 发表于 2019-8-22 15:52
点赞 关注(1)
 
 

回复
举报

2774

帖子

8

TA的资源

版主

沙发
 
涨知识了!这个终于找到了!可以真的开工了!

点评

例程的讲解也发了,但是周末没有管理员审核,先看这里吧。 http://bbs.micro-python.com/forum.php?mod=viewthread&tid=217  详情 回复 发表于 2016-8-14 20:43
 
 
 

回复

1万

帖子

25

TA的资源

版主

板凳
 
strong161 发表于 2016-8-14 18:01
涨知识了!这个终于找到了!可以真的开工了!

例程的讲解也发了,但是周末没有管理员审核,先看这里吧。

http://bbs.micro-python.com/forum.php?mod=viewthread&tid=217
 
 
 

回复

493

帖子

1

TA的资源

一粒金砂(高级)

4
 
慢慢的能动作一些了,谢谢D大

点评

不客气,大家一起学习。  详情 回复 发表于 2016-8-26 15:56
 
 
 

回复

1万

帖子

25

TA的资源

版主

5
 
Bingqi23 发表于 2016-8-26 15:03
慢慢的能动作一些了,谢谢D大

不客气,大家一起学习。

点评

大神,有个问题。先行谢过! 我的是pyb开发板,通过连接usb口是很容易的借助putty进行命令试验,但是问题来了: 1、PyBoard上通过usb虚拟出的一个com3,通过此串口连接putty命令行了,如果我想操作其它串口,比如  详情 回复 发表于 2017-8-25 15:46
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

6
 
dcexpert 发表于 2016-8-26 15:56
不客气,大家一起学习。

大神,有个问题。先行谢过!
我的是pyb开发板,通过连接usb口是很容易的借助putty进行命令试验,但是问题来了:
1、PyBoard上通过usb虚拟出的一个com3,通过此串口连接putty命令行了,如果我想操作其它串口,比如让com2发数据,com4接收到(已通过杜邦线把com2/4连接起来),这样的需求,在putty这种命令行下面就搞不定了吧? 请问,这时是不是只有靠把程序写入main.py中才能实现了?
2、如果把程序写入main.py运行,假如程序出现问题,我又该如何调试呢?

点评

标准串口也是可以操作的,这个在手册中介绍过的。 UART(1)就是  详情 回复 发表于 2017-8-25 21:21
 
 
 

回复

1万

帖子

25

TA的资源

版主

7
 
shenshen927 发表于 2017-8-25 15:46
大神,有个问题。先行谢过!
我的是pyb开发板,通过连接usb口是很容易的借助putty进行命令试验,但是问 ...

标准串口也是可以操作的,这个在手册中介绍过的。
  1. from pyb import UART
  2. uart = UART(1, 9600)
  3. uart.write('hello')
  4. uart.read(5) # read up to 5 bytes
复制代码


UART(1)就是串口1,这样就可以操作多个串口了。

在mpy中是不能直接设置断点的,只能通过print或者其它方式输出,辅助调试。通常调试是在putty等终端里进行,调试差不多了在写入程序整体调试。

点评

另外,我第一个问题的意思是:pyb通过usb虚拟出来一个串口,但这个串口在通过usb连接交互界面的时候已经被占用了呀。比如说,这个通过usb虚拟出来的串口是com3吧,而我的需求是 用com2连接com4(或者把com2的rx和tx  详情 回复 发表于 2017-8-26 13:52
那关于调试,您一般是如何操作的? 先将自己的代码复制到一个.py文件,拷贝到flash里面,在通过putty运行这个文件,同时在交互界面看printf的日志输出?  详情 回复 发表于 2017-8-26 13:45
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

8
 
dcexpert 发表于 2017-8-25 21:21
标准串口也是可以操作的,这个在手册中介绍过的。
[code]from pyb import UART
uar ...

那关于调试,您一般是如何操作的?
先将自己的代码复制到一个.py文件,拷贝到flash里面,在通过putty运行这个文件,同时在交互界面看printf的日志输出?
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

9
 
本帖最后由 shenshen927 于 2017-8-26 17:04 编辑
dcexpert 发表于 2017-8-25 21:21
标准串口也是可以操作的,这个在手册中介绍过的。
[code]from pyb import UART
uar ...

另外,我第一个问题的意思是:pyb通过usb虚拟出来一个串口,但这个串口在通过usb连接交互界面的时候已经被占用了呀。比如说,这个通过usb虚拟出来的串口是com3吧,而我的需求是 用com2连接com4(或者把com2的rx和tx短接),从而用com2发数据,com4接收数据(或者com2自发自收)。
请问,这样的需求,在putty交互界面里面敲代码(让一个串口发数据,另一个收数据),在putty界面中能显示出 发数据 和 收到数据 的效果么?      这种情况是没办法通过“在putty中执行一行代码的方式”从而在交互界面上看到调试(执行)效果的吧?

点评

putty中可以操作多个串口,包括硬件其它串口。甚至可以将这些串口设置为REPL的串口。 串口的接收和发送,都是需要自己用代码去控制的,就是不会自动显示出来,需要用write() read()函数去读写。  详情 回复 发表于 2017-8-26 20:49
 
 
 

回复

1万

帖子

25

TA的资源

版主

10
 
shenshen927 发表于 2017-8-26 13:52
另外,我第一个问题的意思是:pyb通过usb虚拟出来一个串口,但这个串口在通过usb连接交互界面的时候已经 ...

putty中可以操作多个串口,包括硬件其它串口。甚至可以将这些串口设置为REPL的串口。

串口的接收和发送,都是需要自己用代码去控制的,就是不会自动显示出来,需要用write() read()函数去读写。
 
 
 

回复

136

帖子

2

TA的资源

一粒金砂(中级)

11
 
>>> f=open("main.py",'r') Traceback (most recent call last):   File "", line 1, in OSError: [Errno 2] ENOENT >>> f=open('main.py','r') Traceback (most recent call last):   File "", line 1, in OSError: [Errno 2] ENOENT >>>
 
 
 

回复

136

帖子

2

TA的资源

一粒金砂(中级)

12
 
运行错误

点评

是因为你没有main.py这个文件吧。需要先创建一个  详情 回复 发表于 2017-9-12 21:43
 
 
 

回复

1万

帖子

25

TA的资源

版主

13
 

是因为你没有main.py这个文件吧。需要先创建一个

点评

这行代码也错误创建不了文件  详情 回复 发表于 2017-9-12 23:14
>>> error board dir name >>> f=open("main.py,",'w',encoding='utf-8') Traceback (most recent call last): File "", line 1, in TypeError: extra keyword arguments given >>>  详情 回复 发表于 2017-9-12 23:13
 
 
 

回复

136

帖子

2

TA的资源

一粒金砂(中级)

14
 
dcexpert 发表于 2017-9-12 21:43
是因为你没有main.py这个文件吧。需要先创建一个

>>>
error board dir name
>>> f=open("main.py,",'w',encoding='utf-8')
Traceback (most recent call last):
  File "", line 1, in
TypeError: extra keyword arguments given
>>>

点评

将来encoding='utf-8' 去掉,有些参数不支持.  详情 回复 发表于 2017-9-13 13:19
 
 
 

回复

136

帖子

2

TA的资源

一粒金砂(中级)

15
 
dcexpert 发表于 2017-9-12 21:43
是因为你没有main.py这个文件吧。需要先创建一个

这行代码也错误创建不了文件
 
 
 

回复

1万

帖子

25

TA的资源

版主

16
 
陈韶华 发表于 2017-9-12 23:13
>>>
error board dir name
>>> f=open("main.py,",'w',encoding='utf-8')
Traceback (most recent ca ...

将来encoding='utf-8' 去掉,有些参数不支持.
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

17
 

怎么删除文件?

点评

用 os.remove()  详情 回复 发表于 2019-8-22 10:14
 
 
 

回复

1万

帖子

25

TA的资源

版主

18
 

用 os.remove()

 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

19
 

楼主,esp8266怎么接入阿里云 有教程吗

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表