无线广播
掌控板提供2.4G的无线射频通讯,共 13 Channel。可实现一定区域内的简易组网通讯。在相同通道下,成员可接收广播消息。就类似,对讲机一样。在相同频道下,实现通话。
对讲机
radio
发送数据给特定mac地址设备示例
1'''广播'''
2'''发送数据给特定mac地址设备'''
3import time
4import random
5from mpython import *
6from radio import *
7
8espnow_0 = MPythonESPNow(0)
9
10#MPythonESPNow.set_add_peer(peer_mac='') peer_mac:mac地址 16进制字符串 将提供的mac地址注册为对等地址 7CDFA1F20AF4
11espnow_0.set_add_peer(peer_mac='7CDFA1F20ADC')
12
13print(espnow_0.get_mac(0))
14print(espnow_0.get_mac(1))
15
16while True:
17 msg = random.randint(0, 9999999)
18 print(str(msg), 0, 32, 1)
19 #MPythonESPNow.send_msg(peer_mac='',msg='') msg:字符串数据
20 espnow_0.send_msg(peer_mac='7CDFA1F20ADC', msg=msg)
21 time.sleep(0.3)
22
接收消息示例
1'''接收消息'''
2import time
3import random
4from mpython import *
5from radio import *
6
7def espnow_recv_callback(espnow_obj):
8 espnow_mac, espnow_data, espnow_rssi = espnow_obj.recv_msg() # 接收消息
9 print(espnow_data)
10 print(f"MAC: {espnow_mac}, RSSI: {espnow_rssi} dBm, Data: {espnow_data}")
11
12espnow_1 = MPythonESPNow(0)
13# MPythonESPNow.set_irq_callback(callback) callback 接收消息回调函数
14espnow_1.set_irq_callback(espnow_recv_callback)
15
16print(espnow_1.get_mac(0))
17print(espnow_1.get_mac(1))
- class MPythonESPNow(wifi_ch=0)
实例化Radio
- 参数:
wifi_ch (int) – 设置信道 0-14
- class MPythonESPNow
- class MPythonESPNow
- set_add_peer(peer_mac)
将提供的mac地址注册为对等地址,私发需要注册,群发不需要
- 参数:
peer_mac (str) – mac地址 16进制字符串
- class MPythonESPNow
- class MPythonESPNow
- set_irq_callback(espnow_recv_callback)
设置接收消息回调处理函数
- 参数:
espnow_recv_callback (function) – 回调函数