实验板与实验板之间的互联
大约 3 分钟约 757 字
实验板与实验板之间的互联
利用信息科技实验板的板载WIFI功能及物联数据中台,可以使两块实验板 之间进行物联控制,下面将以2块实验板为例:利用1号实验板板载“A键” 作为一个开关,去控制2号实验板左右两侧的“RGB”LED灯进行输出控制。
![]() | ![]() |
| 按下1号板 A键 | 2 号板 RGB灯 |
首先在物联数据中台中创建一个项目,并获取项目的ID及用户ID,以便在 编写客户端程序时使用。

在项目中创建好相应的主题,运行项目即可


编写客户端程序
# -*- coding: utf_8 -*-
from npython import * # 导入npython模块
#在下面开始写你自己的代码
#连接WIFI
SSID="NYT_510_2.4G"
PWD="88837306"
wifi.connect(SSID,PWD)
flag=0
#连接MQTT服务器
server="121.5.75.157"
port=1883
userId="1009"
projectId="w5GM0BEexQc0NAnSNPt0YYRX1Ehyoj5E"
mqtt.config(server,port,projectId=projectId,userId=userId,keepalive=1000)
mqtt.connect()
while True:
if button.get_a()==1:
time.sleep_ms(50)
if button.get_a()==1:
flag=0 if flag==1 else 1
mqtt.publish("switch",str(flag))
print(str(flag)+'\n')
oled.print(1,1,"开关状态:"+str(flag),1)

该处需与物联数据中台项目中的设置保持一致
运行程序之后,可通过OLED显示屏查看按键开关实时状态,同时物联数据中台中也可以查看主题数据。
编写2号板客户端程序
# -*- coding: utf_8 -*-
from npython import * # 导入npython模块
#在下面开始写你自己的代码
#连接WIFI
SSID="NYT_510_2.4G"
PWD="88837306"
ip=wifi.connect(SSID,PWD)
oled.print(1,1,"ip:"+str(ip),1)
#连接MQTT服务器
server="121.5.75.157"
port=1883
userId="1009"
projectId="w5GM0BEexQc0NAnSNPt0YYRX1Ehyoj5E"
mqtt.config(server,port,projectId=projectId,userId=userId,keepalive=1000)
mqtt.connect()
#回调函数
topicname='switch' #回调函数主题名
def event(topic,msg):
data=str(msg.decode('utf-8'))
data=eval(data) #转成字典
#屏幕显示返回消息内容
oled.print(1,2,"灯的控制状态:"+str(data['msg']),1)
if topic ==(projectId+'/'+topicname).encode('utf-8'):
if data['msg']=='1':
rgb.write_left(255,0,0) #左测显示红灯
rgb.write_right(255,0,0) #右测显示红灯
if data['msg']=='0':
rgb.write_left(0,0,0)
rgb.write_right(0,0,0)
while True:
mqtt.subscribe('switch',event)#订阅主题

该处需与物联数据中台项目中的设置保持一致
![]() | ![]() |
| 按下1号板 A键 | 2 号板 RGB灯 |
![]() | ![]() | 按下1号板 A键 | 2 号板 RGB灯 |
运行程序之后,即可通过1 号板按键A控制2号板的RGB灯,按1次A键, RGB灯亮,再按1次A键,RGB灯灭。






