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-11 整型
9espnow_0 = MPythonESPNow(wifi_ch=11)
10
11#MPythonESPNow.get_mac(mode=0) mode:0 sta地址/1 ap地址 16进制字符串mac地址
12print(str(espnow_0.get_mac(mode=0)), 0, 0, 1)
13
14
15print(espnow_0.get_mac(mode=0)) # sta
16print(espnow_0.get_mac(mode=1)) # ap
17
18while True:
19 msg = random.randint(0, 99999)
20 #MPythonESPNow.broadcast_data(msg='') msg:字符串数据
21 espnow_0.broadcast_data(msg=msg)
22 print(str(msg))
23 time.sleep(0.5)
24