跳转到内容

二维码组件

使用此组件可在设备上生成包含字符串的二维码,然后可以在兼容的显示器上绘制。

qr_code:
- id: homepage_qr
value: esphome.io
  • id (必需, ID): 二维码的 ID,用于在显示代码中引用该二维码。

  • value (必需, 字符串): 要编码到二维码中的字符串。

  • ecc (可选, 字符串): 要使用的纠错码级别。默认为 LOW。可以使用以下值之一:

    • LOW : 二维码可以容忍约 7% 的错误码字
    • MEDIUM : 二维码可以容忍约 15% 的错误码字
    • QUARTILE : 二维码可以容忍约 25% 的错误码字
    • HIGH : 二维码可以容忍约 30% 的错误码字

要绘制二维码,请在渲染 lambda 中调用 it.qr_code 函数:

display:
- platform: ...
# ...
pages:
- id: page1
lambda: |-
// 在位置 [x=50,y=0] 以白色和 2 倍比例绘制二维码
it.qr_code(50, 0, id(homepage_qr), Color(255,255,255), 2);
// 在屏幕中央以白色和 2 倍比例绘制二维码
auto size = id(homepage_qr).get_size() * 2; // 乘以缩放比例
auto x = (it.get_width() / 2) - (size / 2);
auto y = (it.get_height() / 2) - (size / 2);
it.qr_code(x, y, id(homepage_qr), Color(255,255,255), 2);