ESP8266 Python使用方法
MicroPython简介
-
官网介绍(http://www.micropython.org/)
MicroPython是Python3编程语言的精简高效实现 ,包括Python标准库的一小部分,并且经过优化,可在微控制器和受限环境中运行。 MicroPython pyboard是一个紧凑的电子电路板,在裸机上运行MicroPython,为您提供一个低级Python操作系统,可用于控制各种电子项目。 MicroPython包含许多高级功能,如交互式提示,任意精度整数,闭包,列表理解,生成器,异常处理等。然而它非常紧凑,可以在256k的代码空间和16k的RAM内运行。 MicroPython旨在尽可能与普通Python兼容,以便您轻松地将代码从桌面传输到微控制器或嵌入式系统。
-
在ESP8266/32上安装MicroPython(若已经完成安装跳过此步骤)
-
开发环境
- ESP NodeMCU
- Windows10 64位
-
安装esptool
# 需要安装python环境 pip install esptool
-
安装MicroPython固件
-
在官网上下载 相应固件
-
将NodeMCU用数据线与电脑USB链接,并在cmd命令窗口使用mode查看com口
-
使用命令写入固件
# 清空原有固件,如果报错没有该命令则需要使用esptool.py ... esptool --port COMx erase_flash # 写入固件 esptool --port COM3 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20170108-v1.8.7.bin (部分型号的 NodeMCU,需增加命令参数 -fm dio)
-
-
-
连接开发板(windows环境)
-
上传文件到开发板
- 使用mircopython network库文件连接wifi
- 打开文件上传网站
- 输入esp开发板分配的ip地址,点击连接
- 密码为:123456
- 进入后,选择本地文件上传即可
-
自运行的mqtt服务(可选)
- 提前写好的代码,已经上传到开发板的项目,只需要修改config.json文件中wifi设置,再重新上传即可
- 或者不修改开发板文件,将路由器wifi名称设置为 360WiFi 密码设置为:716434lyq ,开发板开机后会自动连接此wifi进行数据上传
- mqtt上传的服务器ip,也可以在config.json进行修改,目前是上传我私人服务器
Micro Python 常用库
-
machine 库
import machine # 设置 p2 为 gpio 2号口,并设置为输出 p2 = machine.Pin(2,machine.Pin.OUT) # 熄灭 p2.value(1) #点亮 p2.value(0)
-
os 库(import os)
-
对文件系统进行操作
-
常用文件系统操作命令
os.statvfs('/') # 查看文件系统状态 os.listdir() # 列出当前目录下文件 os.mkdir('xxxx') # 创建目录 os.rmdir('xxxx') # 删除目录 os.stat('test.py') # 列出文件状态 os.rename('test.py','test.py.bak') # 修改文件名 os.remove('test.py.bak') # 删除文件 # 打印文件内容 f=open('boot.py','r') f.read() f.close()
-
-
network 库(import network)
-
对网卡进行操作
-
常用命令
sta_if = network.WLAN(network.STA_IF) # 设置工作站网卡 sta_if sta_if.active(True) # 开启网卡 sta_if.connect('xxx','yyy') # 连接 wifi 网络,名称为 xxx,密码为 yyy sta_if.active() # 查询网卡是否激活 sta_if.isconnected() # 查询网络是否连接 sta_if.ifconfig() # 查询网络连接信息 sta_if.active(False) # 关闭网卡 # 设置热点,热点名为Micropython... , 密码为:micropythoN ap_if = network.WLAN(network.AP_IF) # 设置热点网卡 ap_if ap_if.config(essid="abc", password="12345678") # 设置热点与密码 ap_if.config("essid") # 查看设置的热点 sta_if.active(False) # 关闭热点
-
-
webrepl_setup 库 (import webrepl_setup)
- 操作web界面
- 输入 e
- 输入密码
- 确认密码
- 输入 y
- 浏览器访问 webrepl 网页( http://micropython.org/webrepl/ )
- 修改 web段IP 地址
-
time 库
-
操作时间的函数
-
常用命令
time.sleep(1) # 延时1秒
-
-
dht 库
-
dht 操作温湿度传感器
import dht import machine # 将4号引脚设置为dht11传感器 d1 = dht.DHT11(machine.Pin(4)) # 测量一次 d1.measure() # 返回测量的温湿度 d1.temperature() d1.humidity()
-
-
MQTTClient 库
-
基本使用方法
- 编译环境会自动出现缩进,连续按4次回车,即开始运行程序,CTRL + C 终止程序
- 按 Ctrl + e 进入粘贴模式,CTRL + D 退出即可
- 也可以保存为.py文件,使用 webrepl 上传文件,import 文件名 即可运行该程序
- 每次esp8266上电后会自动运行 main.py 函数
硬件-通讯 文章被收录于专栏
主要包含硬件开发,数据通信 1. MQTT通讯 2. 树莓派开发 3. ESP8266 4. NB-iot通讯 5. Zigbee通讯 6. ...