物联网-控件控制

本文介绍如何用物联网--控件控制功能生成一个网页,跟树莓派进行交互控制。
目前支持的物联网控件有:

  • 单向发送控件
    • 按钮
    • 图标
    • 滑块
    • 录音
    • 拍照
    • 遥控器
    • 自定义按钮
  • 单向接收控件
    • 数据采集
  • 收发双向控件
    • 对话框

先以创建一个按钮控件为例来说明如何使用,然后再依次介绍其他控件如何使用。

注意:可以同时创建多个控件放到一个应用中的。

创建一个按钮控件

生成的按钮控件形状如下图,有两个按钮(开和关),一般可以用来控制小灯等。

按钮外观

  1. 首先登陆到古德微编程平台,如下图,添加一个控件 添加控件

  2. 在弹出的模态框内,如下图填写。各项含义如下:

    • 控件类型:从下拉列表中选择按钮
    • 设备编号:为要控制的树莓派设备编号
    • 功能描述:说明这个按钮的功能
    • 自定义主题:定义一个物联网主题,树莓派侧订阅这个主题。主题也是支持中文字符的。

  3. 如下图,添加一个应用名称,点击保存按钮,可以将创建的控件保存到服务器,下次可以直接从历史记录中打开。
    点击生成新的网页按钮,可以打开一个新的网页。
    生成的新网页

  4. 生成的新网页如下图。网页中会有一个按钮可以用来点击。 点击分享按钮,会打开一个二维码,手机扫码该二维码,手机上也能打开该网页。
    点击分享

    生成的二维码

  5. 接下来我们看下树莓派代码如何编写。代码如下图。
    需要注意的是:

    1. 监听的主题跟按钮控件的自定义主题要一致。
    2. 获取到对应主题的数据类型是文本类型,
    3. 按下按钮,发送的消息内容是“ON”,按下按钮,发送的消息内容是“OFF”
      控件匹配的代码
  6. 点击运行按钮,运行程序后,在步骤4里新生成的网页里点击对应的按钮,可以在调试区里看到接收到的主题数据,同时小灯也会响应的亮灭。

接下来我们依次说明其他控件是怎么使用的。
具体步骤跟创建按钮是一样的,只是控件的参数填写以及对应树莓派侧代码不同,即前面的步骤2和5。

创建一个图标控件

图标控件跟按钮控件功能相同,只是外观不同。外观如下图

图标控件外观

控件的参数含义跟按钮也是相同的。对应的树莓派控制代码也相同,这里就不赘述了。

创建一个滑块控件

滑块控件的外观如下图。拖动滑块可以发送0-100的数字,实现类似于电脑调节音量的功能。我们可以用它来控制小灯的亮度。

滑块外观

控件的参数配置如下图,下图示例中的自定义主题是灯亮度

对应的树莓派代码如下图,实现的功能是用滑块来控制小灯的亮度。 监听的主题同样是灯亮度
注意:滑块发送的是文本类型的数字,树莓派收到后需要进行类型转换。

滑块匹配的代码

创建一个录音控件

录音控件的外观如下图。按住录音按钮开始录音,松开后将录好的音频发送出去。

录音控件外观

控件的参数配置如下图。下图示例中的自定义主题是录音

对应的树莓派代码如下图,实现的功能是用将录音控件过来的语音转成文字,并在调试区打印出来。 监听的主题同样是录音
注意:录音发送的是音频的base64编码字符串。树莓派收到后需要先按照base64格式解码保存为mp3音频。

录音控件匹配的代码

创建一个拍照控件

拍照控件的外观如下图。点击拍照按钮可以拍照,点击发送按钮将拍的照片发送出去。

拍照控件外观

控件的参数配置如下图。下图示例中的自定义主题是拍照

对应的树莓派代码如下图,实现的功能是用将拍照控件过来的图片,在网页显示,并识别成文字,在调试区打印出来。 监听的主题同样是录音
注意:拍照控件发送的是照片的base64编码字符串,树莓派收到后需要先按照base64格式解码保存为png或jpg格式。

拍照控件匹配的代码

创建一个对话框控件

对话框控件的外观如下图。跟其他控件都只能单向发送消息不同,对话框不仅能发消息,也能接收消息

对话框控件外观

控件的参数配置如下图。下图示例中的自定义发送主题是网页端发送,自定义接收主题是网页端接收

对应的树莓派代码如下图,实现的功能是一个智能聊天机器人,输入一个问题,自动回复答案。
注意:

  • 对话框控件是双向控件,能收发消息,配置时需要填写两个主题,分别是自定义发送主题自定义接收主题
  • 自定义发送主题为对话框发送消息使用的主题,接收端(比如树莓派)需要监听(或者叫订阅)该主题才能收到对话框发送的消息。
  • 自定义接收主题为对话框接收消息使用的主题,对话框监听(或者叫订阅)了该主题,如果希望对话框能收到消息,其他发送端需要以该主题发送消息。
  • 树莓派用古德微平台的图形化代码向对话框发送消息,需要填写三个内容:设备号,主题,具体消息。 其中设备号跟对话框控件里填写的设备号要一致, 主题为对话框控件里填写的自定义接收主题

对话框控件匹配的代码

如下图,可以看到,真的可以智能聊天哎~~

智能聊天对话框截图

附加题:
能不能用对话框控件创建两个对话框,实现类似微信、QQ这样的聊天工具的聊天功能呢?

创建一个遥控器控件

遥控器控件的外观如下图。其有5个按键可以控制,发送5个不同的消息。

遥控器控件外观

控件的参数配置如下图。下图示例中的自定义主题是遥控器

对应的树莓派代码如下图,实现的功能是将5个不同按键所发送的消息打印出来。
如图所示,5个按钮所代表的信息分别是:GO,BACK,LEFT,RIGHT,STOP。因此这个控件用来遥控小车再合适不过了。

遥控器控件匹配的代码

创建一个自定义按钮控件

自定义按钮控件的外观如下图。可以看到跟之前的按钮控件不同,按钮上的文字是可以自定义的(点我点我)。

自定义按钮外观

控件的参数配置如下图。如下图示例中,除按钮标题可以自定义外,按钮发送的消息也是可以自定义的。(之前的按钮只能发送固定的ON/OFF)

对应的树莓派代码如下图,实现的功能是只有检测到按钮发来的消息等于“开灯”,才会点亮小灯。

自定义按钮控件对应代码

创建一个数据采集控件

数据采集控件跟之前的控件不一样,这是一个只能接收数据的控件,将接收到的数据通过图表展示出来。
这是一个简易的数据采集功能,比较完整的数据采集功能详见物联网--数据采集

控件的参数配置如下图。如下图示例中,自定义主题为距离,这是控件监听的主题。

对应的树莓派代码如下图,实现的功能是将超声波传感器检测到的距离数据发送给网页,在网页上以图表的形式展示出来。

数据采集控件匹配的代码

网页收到的数据,展示效果如下图。

数据采集结果的展示图

Copyright © 古德微 2023 all right reserved,powered by GDWRobot本课修订时间: 2021-10-21

results matching ""

    No results matching ""