【好奇心驱动力】ESP8266刷MicroPython及OLED显示

0.前言

一个多月的时间没折腾了,之前整个过程都忘的差不多了,用最近两天来熟悉再记录一下。
主要想法是使用ESP8266连接OLED屏幕显示文字及图像,受到B站up主做的吸引https://www.bilibili.com/video/BV1eJ411H7LN,想做成与墨水屏类似。
B站UP主给了成品代码,直接刷机就能成功,按照教程做了一遍如下:
图片替换文本
UP主的开发环境用的是Arduino,毕竟直接拿成品刷机包没什么乐趣,打算探索一下的时候发现ESP8266可以刷micropython
MicroPython是 Python 3 语言 的精简高效实现 ,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。

1.实验目的

给ESP8266刷micropython,自己写个代码来显示文字及图像。

2.实验方法
  • ESP8266烧录固件
    下载MicroPython固件
    我自己使用的是esp8266-20171101-v1.9.3.bin/esp8266-20200911-v1.13.bin
    因为之前查找资料说最新版可能不太稳定,但是实际测试20200911-v1.13也是没问题的
    使用的烧录软件如下图,按道理两个都可以成功烧录,但是实际中ESP8266Flasher好像没有成功,原因也有可能是我在Advanced波特率没有设置好。
    图片替换文本
    图片替换文本

连接XCOM工具或者Puttty,如图进行设置,按下开发板的reset键,界面显示
"Type “help()” for more information. "说明烧录成功
在这里插入图片描述

  • ESP8266亮灯测试
from machine import Pin
p1 = Pin(2,Pin.OUT)
p1.value(0)#亮灯
p1.value(1)#灭灯

在这里插入图片描述

  • ESP8266接入WIFI
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.scan()
wlan.isconnected()#检查是否连接wifi
wlan.connect('wifi名', '密码')
wlan.ifconfig()#查看开发板IP地址
  • ESP8266界面化配置
    连接wifi后可以通过web方式进行配置,上传文件等操作
    访问webrepl(http://micropython.org/webrepl/)
    将192.168.4.1替换成开发板连接wifi后分配的内网IP(wlan.ifconfig())
    在这里插入图片描述
    点击connect连接,初始密码为micropythoN
    在这里插入图片描述
  • ESP8266开机自动执行脚本
    ESP8266刷入micropython后,断电重启会自动执行main.py文件
    因此如果需要自动执行脚本,就需要提前将内容写入main.py文件并上传
    在这里插入图片描述
  • ESP8266连接OLED屏幕
    我买的是4线IIC接口的0.96寸OLED屏幕,具体连线方式如下
    在这里插入图片描述
    连接屏幕,显示Hello World!
from machine import Pin,I2C,RTC
from ssd1306 import SSD1306_I2C
i2c = I2C(scl=Pin(5), sda=Pin(4))
oled = SSD1306_I2C(128, 64, i2c)
oled.fill(0)
oled.show()
oled.text("Hello World!",0,0,1)
oled.show()
  • 调整OLED显示字体大小
oled.text(0, 0, 'aa')
oled.Font('Font_8x16')
oled.text(0, 1, 'aa')
oled.Font('Font_12x24')
oled.text(0, 3, 'aa')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值