【酷易物联-microPython教程系列】通过文件模板配置ESP32(3):ESP32将服务器发送的font信息显示在OLED屏幕上

前言:

上一章:酷易物联-microPython教程系列2
本次我们将在前两章代码的基础上,加入OLED显示通信字段的功能

在这里插入图片描述

工作准备:

  1. python3.7
  2. 一定量的python基础
  3. uPyCraft IDE 下载地址
  4. ESP32或ESP8266开发板
  5. 4线制IIC驱动方式OLED屏幕
  6. 酷易物联 APP
    快速访问 H5版本
  7. 了解OLED

接线:

OLEDESP32
GNDGND
VCC5V
SCLP25
SDAP26

配置客户端:

进入设备配置页面,添加一个内容字段
现在我们有两个命令字段和内容字段了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210626143906791.png

重新下载一个新的代码
在这里插入图片描述

添加代码到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 执行显示

上传到开发板,观察效果
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kamimiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值