跳转到内容

二维码组件

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

qr_code:
- id: homepage_qr
value: esphome.io
  • id (必选, ID): 你可以稍后 在显示代码中使用这个 ID 来引用二维码。

  • value (必选, string): 你想在二维码中编码的字符串。

  • ecc (可选, string): 你想使用的纠错码等级。默认为 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);