Skip to content

示例23:OLED显示屏 ​

实验概述 ​

通过 I2C 接口驱动 0.96 寸 OLED 显示屏(SSD1306),显示文字、数值和简单图形。FastBee 内置 LCD 外设类型(type: 36)支持SSD1306;SH1106须使用当前驱动指定的width=64、height=128选择配置,不能照搬下面SSD1306的128×64参数。

硬件接线 ​

开发板标识GPIO引脚连接设备
SDAGPIO21OLED SDA(数据线)
SCLGPIO22OLED SCL(时钟线)

I2C 标准接线,SSD1306 默认地址 0x3C。

JSON 配置示例 ​

json
{
  "peripherals": [
    {
      "id": "oled_display",
      "name": "OLED显示屏",
      "type": 36,
      "enabled": false,
      "pins": [21, 22],
      "params": {
        "width": 128,
        "height": 64,
        "interface": 2
      }
    }
  ]
}

参数说明 ​

参数说明可选值
width屏幕宽度(像素)128
height屏幕高度(像素)32, 64
interface接口类型2=I2C

外设执行联动 ​

场景1:显示文字信息(平台触发) ​

功能:通过云平台下发文字显示到OLED

Web界面配置步骤 ​

步骤1:创建规则

  1. 点击左侧菜单 外设执行
  2. 点击 新增规则 按钮
  3. 填写基础配置:
    • 规则名称:OLED显示信息
    • 上报数据:✅ 启用
    • 启用:✅ 启用

步骤2:配置触发器

  1. 点击 添加触发 按钮

  2. 填写触发器配置:

    字段填写内容说明
    触发类型选择 平台触发接收云平台指令
    操作符选择 设置模式接收数据作为动作参数

步骤3:配置动作

  1. 点击 添加动作 按钮

  2. 填写:

    • 动作类型:选择 OLED显示(actionType=27)
    • 目标外设:选择 oled_display
    • 显示模板:
      #Info
      $value
  3. 点击 保存 按钮


场景2:定时显示传感器数据(定时触发) ​

功能:每3秒刷新已采集的温湿度缓存。先按示例19配置温度和湿度两个采集动作;显示本身不读取传感器,也不提供这里未绑定的IP地址。

Web界面配置步骤 ​

  1. 创建规则,名称:OLED显示温湿度
  2. 触发器配置:
    • 触发类型:选择 定时触发
    • 定时模式:选择 间隔定时
    • 间隔秒数:3(每3秒刷新)
  3. 动作配置:
    • 动作类型:选择 OLED显示(actionType=27)
    • 目标外设:选择 oled_display
    • 显示模板:
      #FastBee IoT
      T: ${dht_01.temperature}C
      H: ${dht_01.humidity}%
  4. 点击 保存

OLED显示说明 ​

参数值说明
屏幕尺寸0.96寸常用尺寸
分辨率128x64像素
显示行数约4行16px字体
接口类型I2C地址0x3C
刷新建议1-3秒避免频繁刷新

注意事项 ​

  1. I2C 地址:SSD1306 默认 0x3C,部分模块可能为 0x3D
  2. 引脚顺序:pins[0]=SDA, pins[1]=SCL
  3. 显示行数:128x64 屏幕约可显示 4 行文字(16px 字体)
  4. 中文支持:当前版本不支持中文显示,仅支持 ASCII 字符
  5. 刷新频率:建议 1-3 秒刷新一次,频繁刷新影响性能
  6. 烧屏:OLED 长时间显示固定内容会导致烧屏,建议定期关闭或变换内容

蜂信物联 | fastbee.cn