云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

云数据库_北京哪里有网站建设设计_优惠券

小七 141 0

在博客的这一部分,我们想展示如何与TXT控制器通信。这是一个先决条件,大数据产品,你已经成功地完成了我们的博客文章系列的第一部分。如第一部分所述,通信通过我们的消息网关进行。

TXT控制器的输入和输出可以以各种方式使用,例如输入可以是数字输入或模拟输入。因此,需要配置TXT。这个配置是通过一个json文件完成的,这个json文件必须与第一章中的整体配置文件放在同一个文件夹中。文件名必须为"txt0"_配置.json"。文件看起来像:

第一个重要的部分是马达阵列。TXT控制器有8个输出。由于每个电机需要2个插座,这意味着我们最多可以控制4个电机。例如,如果在数组中,第二个motor条目设置为true,则输出3和4组合为一个motor输出。如果电机设置为false,云 服务器,则两个输出为正常输出。数组中的第一个条目是输出1和2(=电机1)等。

下一个重要部分是输入数组。同样,该数组中的第一个条目用于输入1,以此类推。每个输入有两个参数。如果输入为电压,则模式参数为0;如果输入为电阻器,则模式参数为1;如果输入为Fischertechnik超声波传感器,则模式参数为3。参数digital指定输入是数字还是模拟。对于数字输入(=开关),将模式设置为1.

计数器阵列不得更改。这是因为在开发过程中,TXT控制器没有使用这些字段。但是,这在将来可能会改变。

如果没有找到配置文件,则连接器使用一组内部配置。由于这些默认设置可能会随着时间的推移而改变,贵阳大数据,因此将它们公开是没有意义的。因此,最好的方法是不要依赖内部配置集,始终确保有自己的配置文件。

在本章中,我们将了解我们可以发送什么类型的消息。TXT控制器的命令是JSON格式的。它们看起来像下面的例子:

让我们看看这个JSON字符串的元素。首先,有前面提到的代币。它必须与第一章的配置文件中指定的令牌匹配。使用唯一的令牌将确保我们只执行针对控制器的命令。

JSON对象中的下一个元素是txtId。它是一个整数值。如果我们连接了多个控制器,就使用这个id。所以我们现在可以把它设为0。如果只有一个TXT控制器,则可以省略txtId参数。请注意txtId有一个大写的"I"。

下一个元素是类型。通过这个条目,大数据产品,我们可以指定要执行的命令类型。在上面给出的示例中,值只是"command",因为它是我们可以发送的最基本的JSON消息。在这篇博文的这一部分,我们将讨论所有可能的命令类型。TXT控制器的内部工作方式是,您发送的每个命令都将执行几百毫秒。如果命令执行的时间较长,则需要一次又一次地重新发送。不用担心,因为在阅读之后,你会学到一些新的类型,这些类型可以为你做到这一点。

最后一个元素是命令数组。此数组的每个元素将同时执行。上面的例子将运行ID为1和2的电机。该值指定电机运行的强度,该符号设置方向。请注意,只允许-512和512之间的值。如果您没有电机,但有一个灯或真空泵,例如,然后设置参数马达为假。由于TXT控制器的内部处理,了解设备是否为电机很重要。

每个命令都会触发一个JSON响应消息,其中包含TXT控制器的输入值和计数器值。如果您不想执行任何操作,只想读取这些输入值,则只需发送以下空命令即可获得所需的值。

这将触发如下响应:

如您所见,JSON消息包含有关计数器和输入的基本信息。

如上所述,不同的操作可能需要不同类型的命令。下面是命令类型的列表,每个命令类型都有相应JSON消息的工作示例。

时间命令

此JSON消息将在特定时间执行给定的命令。如前所述,命令值可以有多个条目,例如两个电机可以同时运行。在JSON消息中,我们看到正在使用commandTime类型。然后,参数time指定执行给定命令的持续时间。JSON结构的其余部分与上面使用的类似。在这种情况下,所需的动作是将id为1的电机移动半秒钟。

距离命令

此JSON消息将使电机运行特定距离。但是,请注意,只有红色编码器电机具有内置功能来计算其旋转。我们将其视为类型,使用commandDistance选项。此外,命令数组中的每个JSON对象都有一个参数距离来指定旋转。距离值与内部脉冲数有关。最简单的方法是通过试验和错误来知道您必须使用什么值。

在下面的图片中,我们看到一个编码器电机是如何连接到TXT控制器的。请注意,除了id为1的2个连接插座外,我们还需要将电机连接到9V DC和id相同的计数器插座。这意味着连接到M1的电机必须始终连接到C1,依此类推。

Input4stop命令