radio --- radio 无线广播相关功能

radio 模块是基于 ESP-NOW 无连接 Wi-Fi 通信协议而实现无线广播功能,支持13 Channel,在相同的Channel内能接收到成员发出的广播消息,适合30米范围内的多板组网的通讯。

函数

radio.on()

开启无线功能

radio.off()

关闭无线功能

radio.config(channel)

配置无线参数

  • channel (int): 无线通道,范围1~13

radio.receive()

接收无线广播消息,消息以字符串形式返回。最大可接收250字节数据。如果没有接收到消息,则返回 None 。当 receive 内参数为 True ,即 receive(True) ,返回(msg,mac)的二元组。默认缺省 receive(False) ,即只返回msg。

radio.receive_bytes()

接收无线广播消息,消息以字节形式返回。其他同 radio.receive() 相同。

radio.send()

发送无线广播消息,发送数据类型为字符串。当发送成功后返回True,否则返回False。

radio.send_bytes()

发送无线广播消息,发送数据类型为字节。当发送成功后返回True,否则返回False。

无线广播示例
 1'''广播'''
 2'''广播数据'''
 3import time
 4import random
 5from mpython import *
 6from radio import *
 7
 8#MPythonESPNow(wifi_ch=0)  wifi_ch:信道 0-14 整型
 9espnow_0 = MPythonESPNow(wifi_ch=0) 
10
11#MPythonESPNow.get_mac(mode=0) mode:0 sta地址/1 ap地址 16进制字符串mac地址
12oled.fill(0)
13oled.DispChar(str(espnow_0.get_mac(mode=0)), 0, 0, 1)
14oled.show()
15
16print(espnow_0.get_mac(mode=0)) # sta 
17print(espnow_0.get_mac(mode=1)) # ap
18
19while True:
20    msg = random.randint(0, 99999)
21    #MPythonESPNow.broadcast_data(msg='') msg:字符串数据
22    espnow_0.broadcast_data(msg=msg) 
23    print(str(msg))
24    time.sleep(0.5)
25