酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上
Posted Kamimiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上相关的知识,希望对你有一定的参考价值。
前言:
上一章:酷易物联-microPython教程系列2
本次我们将在前两章代码的基础上,加入OLED显示通信字段的功能
工作准备:
接线:
OLED | ESP32 |
---|---|
GND | GND |
VCC | 5V |
SCL | P25 |
SDA | P26 |
配置客户端:
进入设备配置页面,添加一个内容字段
现在我们有两个命令字段和内容字段了
重新下载一个新的代码
添加代码到ESP32:
uPyCraft自带OLED驱动库
导入SSD1306OLED,拖到上放开发板区域,自动下载
初始化OLED
from machine import I2C,Pin
from ssd1306 import SSD1306_I2C #从 ssd1306 模块中导入 SSD1306_I2C 子模块
i2c = I2C(sda=Pin(26), scl=Pin(25))
#OLED 显示屏初始化:128*64 分辨率, I2C 地址是 0x3c
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
把字符显示函数添加到用户函数区域中
n为字库中的顺序,这里有一个自带字库的ssd1306驱动(会持续更新)
#函数名称:LcdShowCh_16x16()
#输入参数:n:第几个中文字符, x_axis:显示的x位置, y_axis:显示的y位置
#输出参数:无
#程序说明:lcd显示16X16汉字
def LcdShowCh_16x16(n, x_axis, y_axis):
for i in range(2):
for a in range(16):
for b in range(8):
if(ByteOpera(b,Chine.chine[n*32+i*16+a])):
oled.pixel(x_axis+a,y_axis+i*8+b,1)
else:
oled.pixel(x_axis+a,y_axis+i*8+b,0)
#函数名称: oled_clear():
#程序说明:特定位置清除一个字符
#输入参数: line 从0-3,row从0-7
def oled_clear(row,line):
LcdShowCh_16x16(22,line*16,row*16)#
#函数名称: oled_clear_line(line):
#程序说明:清除一行字符
#输入参数: 0-3
def oled_clear_line(line):
oled_clear(0,line)
oled_clear(1,line)
oled_clear(2,line)
oled_clear(3,line)
oled_clear(4,line)
oled_clear(5,line)
oled_clear(5,line)
oled_clear(6,line)
oled_clear(7,line)
我们的内容字段名为font,所以在用户代码区域会生成一个名为font的函数,该函数会传入已经解析好的字符信息,用户可以自行根据要求编写处理函数。
#//**********1-2用户函数**********//#
def font(fonts):
oled_clear_line(3)
oled.show()
time.sleep(0.2)
oled.text(font, 0, 50) #写入第 3 行内容
oled.show() #OLED 执行显示
上传到开发板,观察效果
以上是关于酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上的主要内容,如果未能解决你的问题,请参考以下文章
酷易物联-microPython教程系列通过文件模板将ESP32连入服务器实现远程点灯:让ESP32连接服务器实现远程开关灯
酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上
酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上
酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上
酷易物联-microPython教程系列通过文件模板配置ESP32:ESP32将服务器发送的font信息显示在OLED屏幕上