RF433R Unit
这个库是 Unit RF433R 的驱动
支持以下产品:
备注
目前尚不支持与 ESP32-S3 相关的设备,如 CoreS2 和 AtomS3。
UiFlow2 应用示例:
接收数据。
在 UiFlow2 上打开 basic_rf433r_recv_example.m5f2 项目。
示例程序演示使用 RF433TUnit 和 RF433RUnit 进行通信,发送数据端请查看 RF433TUnit
UiFlow2 代码块:
示例输出:
无
MicroPython 应用示例:
接收数据。
示例程序演示使用 RF433TUnit 和 RF433RUnit 进行通信,发送数据端请查看 RF433TUnit
MicroPython 代码块:
1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD 2# 3# SPDX-License-Identifier: MIT 4 5import os, sys, io 6import M5 7from M5 import * 8from unit import RF433RUnit 9 10 11title0 = None 12label_cnt = None 13rf433r_0 = None 14rf433r_data = None 15cnt = None 16 17 18def rf433r_0_receive_event(received_data): 19 global title0, label_cnt, rf433r_0, rf433r_data, cnt 20 rf433r_data = received_data 21 cnt = rf433r_data[-1] 22 label_cnt.setText(str((str("Count: ") + str(cnt)))) 23 print(rf433r_data) 24 25 26def setup(): 27 global title0, label_cnt, rf433r_0, rf433r_data, cnt 28 M5.begin() 29 title0 = Widgets.Title("RF433R Recv Data", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu24) 30 label_cnt = Widgets.Label("Count", 115, 118, 1.0, 0x00FF00, 0x000000, Widgets.FONTS.DejaVu18) 31 rf433r_0 = RF433RUnit((36, 26)) 32 rf433r_0.set_recv_callback(rf433r_0_receive_event) 33 rf433r_0.start_recv() 34 35 36def loop(): 37 global title0, label_cnt, rf433r_0, rf433r_data, cnt 38 M5.update() 39 40 41if __name__ == "__main__": 42 try: 43 setup() 44 while True: 45 loop() 46 except (Exception, KeyboardInterrupt) as e: 47 try: 48 from utility import print_error_msg 49 50 print_error_msg(e) 51 except ImportError: 52 print("please update to latest firmware")
示例输出:
无
API应用
RF433RUnit
- class unit.rf433r.RF433RUnit(port=None)
基类:
object
创建一个 RF433RUnit 对象。
UiFlow2 代码块:
MicroPython 代码块:
from unit import RF433RUnit unit_rf433r = RF433RUnit(port=(36, 26))
- read()
读取数据。
- 返回:
接收数据。
- 返回类型:
bytes | None
未接收到数据,则返回 None。
UiFlow2 代码块:
MicroPython 代码块:
unit_rf433r.read()
- set_recv_callback(callback)
设置接收数据回调函数。
- 参数:
callback – 当接收到数据时将调用的函数。
UiFlow2 代码块:
MicroPython 代码块:
def unit_rf433r_receive_event(received_data): rf433r_data = received_data unit_rf433r.set_recv_callback(unit_rf433r_receive_event)
- start_recv()
开始接收数据。
UiFlow2 代码块:
MicroPython 代码块:
unit_rf433r.start_recv()
- 返回类型:
None
- stop_recv()
停止接收数据。
UiFlow2 代码块:
MicroPython 代码块:
unit_rf433r.stop_recv()
- 返回类型:
None