设为首页收藏labplus社区产品资料库
0
积分值+2
0
掌控币+1
0  关注
18  粉丝
18  帖子
今天也要加油鸭
2019年06月04日

#物联网应用#用mpython x玩转掌控板——OneNet遇上掌控板(下)

【情境导入】

上一节描述了如何用掌控板使用MQTT协议接入OneNET平台,并且控制LED灯的开关,那么平台能发送给掌控板消息,能不能接收掌控板传来的信息呢?

【任务描述】

利用掌控板使用MQTT协议接入OneNET平台,在上节课的程序基础上,加上远程控制RGB LED的亮度以及在OneNET上实时查看板载传感器数据

【学习目标】

1、掌握利用OneNET平台控制掌控板RGB灯的亮度

2、掌握如何在产品下创建数据流

3、掌握通过OneNET平台展示板载声音传感器和光线传感器的数据

【关键语句】



【材料清单】

1、掌控板

2、数据线

3、OneNet平台

【项目示例】

Step1 改变RGB LED的亮度

1. 定义变量来控制RGB灯亮度

RGB灯的亮度是通过调节R,G,B的数值来调节的,这就意味着我们可以发送任意的数字,因此这里不能使用“接受特定指令”的模块,但我们可以将OneNet发送的命令存放到一个变量中,然后利用这个变量(数字)来调节RBG灯的亮度。即下面的模块


模块的含义:我们可以在“发送命令”框发送任何指令,然后将这些指令保存到变量_msg中,  判断指令是否是数字,如果是数字则执行相应操作

2. 针对上述模块,我们现在需要做的是,判断接受的指令是数字时,调节RGB灯的亮度。首先拿出调节亮度的模块


3. 对R这个数值进行处理,也即将变量_msg放到R里面


特别注意:虽然msg判断是数字, 但其类型仍然是字符型,使用前需要将其类型转换成整数型

4. 为了更好地体现OneNET与掌控板的互动,我们可以将OneNET上发送的指令显示在OLED显示屏上,加上下面的文本显示模块,刷入程序运行。


5. 发送指令:回到OneNET平台,在“发送命令”框发送任意数值,左边是发送100的灯亮度,右边是发  送4000的灯亮度


Step2 创建数据流

1. 在物联网模块找到下面模块,创建数据流

这里我们创建两个数据流,分别取名light和sound,并将对应的传感器数值放到里面。



【技术支持】

数据流是OneNET平台与掌控板传送数据的纽带,有了数据流我们就可以将板载传感器的数据传送到OneNET平台(OneNET平台会对这些数据进行处理,变成有用的信 息),为了识别不同板载传感器的数据,我们需要对不同的数据取个名字。

2. 在OneNET查看光线值和声音值


3. 点击数据流左边的“>”查看数据的折线图,点击“查询更新”,不断显示更新的数据


4. 监视窗口可以查看串口数据


【拓展思考】

1、如何利用掌控板进行远程点歌。

2、原程序每隔1秒才获取数据一次,如何改成更精确的数值,但是又不让图形的刷新速度过快。

0

点赞

661 次阅读1 人订阅