6837|7

514

帖子

5

TA的资源

纯净的硅(中级)

楼主
 

【一起玩esp8266】ESP8266初上手 [复制链接]

 
本帖最后由 leekuip 于 2016-8-23 22:21 编辑

  先大致说下对ESP8266的认识。ESP8266是一枚国产芯片,是内置了WiFi功能的单片机,ESP8266模块则是在芯片基础上扩展出的最小系统,包含了I/O的引出和板载PCB天线。
  MicroPython是兼容Python语法及文件的微型Python系统,该系统由作者移植到诸如pyboard、wipy等硬件平台上,ESP8266也是MicroPython支持的硬件平台之一。MicroPython的初衷和Arduino类似,都是为了能够让没有电子电路基础的软件开发人员可以快速的实现对常用电路的控制。
  向ESP8266烧写固件就是类似于向电脑上安装操作系统,完了之后一上电,整个系统便开始启动,如果需要让与ESP8266相连的外部电路执行某些指令,可以通过串口终端在控制台输入指令,也可以将想要实现的程序做成Python文件,放到Python系统中,类似于在Windows中运行EXE可执行文件。MicroPython是默认来执行命名为main.py的文件的。

  MicroPython的官方网站是micropython.org ,大家可以在这里找到micropython的固件、文档等资料。这里值得一提的是MicroPython支持多个硬件平台,在官网Doc部分的左侧可以选择对应的硬件平台,这个是ESP8266部分的链接:网址 (这里吐槽下,之前一直没有看到这部分的文档,以至于一直没明白WLAN连接的指令是怎么样的)

  下面就是拿到各种板子之后的第一个实验了——点灯。
  本次活动的ESP8266板子上只有8266模块自带的一个蓝色LED灯,该LED灯连接的是Pin2,所以就拿Pin2来做实验了。GPIO的相关指令描述如下:

Pins and GPIOUse the machine.Pin class:
from machine import Pin
p0 = Pin(0, Pin.OUT)    # create output pin on GPIO0
p0.high()               # set pin to high
p0.low()                # set pin to low
p0.value(1)             # set pin to high
p2 = Pin(2, Pin.IN)     # create input pin on GPIO2
print(p2.value())       # get value, 0 or 1
p4 = Pin(4, Pin.IN, Pin.PULL_UP) # enable internal pull-up resistor
p5 = Pin(5, Pin.OUT, value=1) # set pin high on creation


  在控制台中要先引入machine.Pin类,然后才能对引脚做对应的操作,执行的指令如下:
  from machine import Pin   #引入类
  p2 = Pin(2, Pin.OUT)    #定义Pin2
  p2.high()          #Pin2置高,LED灯灭
  p2.low()          #Pin2置低,LED灯亮

  下面是WLAN的连接,同样在官网找到的指令描述如下:

NetworkingThe network module:
import network
wlan = network.WLAN(network.STA_IF) # create station interface
wlan.active(True)       # activate the interface
wlan.scan()             # scan for access points
wlan.isconnected()      # check if the station is connected to an AP
wlan.connect('essid', 'password') # connect to an AP
wlan.config('mac')      # get the interface's MAC adddress
wlan.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses
ap = network.WLAN(network.AP_IF) # create access-point interface
ap.active(True)         # activate the interface
ap.config(essid='ESP-AP') # set the ESSID of the access point


  一样需要先做引用,至于network这个是叫做库还是叫做什么还没有具体看。然后按照指令描述中的步骤及返回的相关提示进行WLAN的设置后即可连接到指定的路由器。摸索的时候忘记截图了,大家就自己尝试吧。
  连接好WLAN之后就可以尝试一项比较酷的实验了,作者在官网给出了网络访问板载MicroPython的工具:

WebREPL (web browser interactive prompt)WebREPL (REPL over WebSockets, accessible via a web browser) is anexperimental feature available in ESP8266 port. Download web clientfrom https://github.com/micropython/webrepl (hosted version availableat http://micropython.org/webrepl), and start the daemon on a deviceusing:
import webreplwebrepl.start()

   连接好后如下图所示,界面与串口终端的控制台一样,可以在浏览器中控制LED的亮灭,是不是
挺好玩儿的呢。貌似还可以导入导出文件的,暂时还没研究,后面捣鼓清楚了再说。

   暂时就先写这么多吧,后面有进展了再继续发帖。

   上述中仅为个人理解,可能有存在偏差的地方,请大侠们对错误的地方加以指正。

   最后附一个官方指令描述的截图。




火狐截图_2016-08-23T13-02-22.984Z.png (553.71 KB, 下载次数: 2)

指令描述

指令描述

esp8266指令说明.docx

98.61 KB, 下载次数: 18

最新回复

传小文件,用uPyLoader最方便。 楼主那个图片太长了,分成几个小一点的就方便了。  详情 回复 发表于 2016-8-24 11:19
点赞 关注(1)
 
 

回复
举报

5218

帖子

236

TA的资源

管理员

沙发
 
前面的esp8266和micropython的认识棒棒哒
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

见笑见笑  详情 回复 发表于 2016-8-24 11:16
 
 
 

回复

1158

帖子

2

TA的资源

版主

板凳
 
不错,支持一下!
 
 
 

回复

1万

帖子

25

TA的资源

版主

4
 
除了webrepl,uPyLoader也不错,很方便。

点评

uPyLoader还没来得及用呢,后面再按着你写的教程体验下。  详情 回复 发表于 2016-8-24 11:15
 
 
 

回复

514

帖子

5

TA的资源

纯净的硅(中级)

5
 
dcexpert 发表于 2016-8-24 10:01
除了webrepl,uPyLoader也不错,很方便。

uPyLoader还没来得及用呢,后面再按着你写的教程体验下。

点评

传小文件,用uPyLoader最方便。 楼主那个图片太长了,分成几个小一点的就方便了。  详情 回复 发表于 2016-8-24 11:19
 
 
 

回复

514

帖子

5

TA的资源

纯净的硅(中级)

6
 
nmg 发表于 2016-8-24 08:43
前面的esp8266和micropython的认识棒棒哒

见笑见笑
 
 
 

回复

1万

帖子

25

TA的资源

版主

7
 
leekuip 发表于 2016-8-24 11:15
uPyLoader还没来得及用呢,后面再按着你写的教程体验下。

传小文件,用uPyLoader最方便。

楼主那个图片太长了,分成几个小一点的就方便了。

点评

额,那个图片只是做参考,指令我都贴在word里放在附件中了。  详情 回复 发表于 2016-8-24 12:17
 
 
 

回复

514

帖子

5

TA的资源

纯净的硅(中级)

8
 
dcexpert 发表于 2016-8-24 11:19
传小文件,用uPyLoader最方便。

楼主那个图片太长了,分成几个小一点的就方便了。

额,那个图片只是做参考,指令我都贴在word里放在附件中了。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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