65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Cylon.js 和 Intel® Edison 主板控制机器人

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.60/5 (3投票s)

2016年8月19日

CPOL

4分钟阅读

viewsIcon

6839

使用 JavaScript 框架 Cylon.js,您可以在基于 Web 的界面中轻松控制不同的机器人组件。为此,您需要一个基本的机器人套件,该套件有两个直流 (DC) 电机,仅由主板控制和供电:无需额外的硬件,这使得项目易于设置

获取新的 Intel® IoT Developer Kit,这是一个完整的硬件和软件解决方案,使开发人员能够使用 Intel® Galileo 和 Intel® Edison 主板创建令人兴奋的新解决方案。请访问 Intel® 物联网开发者中心

Intel® Edison 主板是一款强大、新型的单板计算机,能够处理从小型到可靠的工业项目等各种物联网 (IoT) 应用。使用 JavaScript* 框架 Cylon.js*,您可以轻松地在基于 Web 的界面中控制不同的机器人组件。为此,您需要一个基本的机器人套件,该套件有两个直流 (DC) 电机,仅由主板控制和供电:无需额外的硬件,这使得项目易于设置。

Cylon.js 具有简单的语法,可以帮助您在没有任何编程经验的情况下理解代码。它根据组件的类型对其进行命名,并且要生成命令,需要与您使用的驱动程序配合使用(例如,对于您的电机设备,您需要 `turn_on` 和 `turn_off` 命令来使机器人移动)。

本文旨在帮助初学者理解使用 Intel® Edison 主板内置 Wi-Fi 模块创建无线控制机器人所需的基本要求。为确保主板有足够的电量供应电机和 Wi-Fi 模块,请将其连接到 7–15 V、1000 mA (1.0 A) 的电源。

要将 JavaScript 代码上传到 Intel® Edison 主板,您可以使用 Intel® XDK IoT Edition。有关如何设置 Intel® Edison 主板的详细信息,请参阅 Intel® XDK IoT Edition 入门

要上传使您能够控制机器人的代码,请使用 Cylon.js HTTP 应用程序编程接口 (API)。此 API 已实现:您只需调用函数,让 Cylon.js 处理其余部分。

主板设置

根据您拥有的机器人套件(大多数都具有相同的设计),您需要为两个电机进行相同的连接

  • GND - GND (在 Intel® Edison 主板上)
  • VCC - 5 V (在 Intel® Edison 主板上)
  • 前进数字引脚 (IB)* - 引脚 ~3 (在 Intel® Edison 主板上的 PWM 引脚)
  • 后退数字引脚 (IA)* - 引脚 ~5 (在 Intel® Edison 主板上的 PWM 引脚)

* 引脚名称可能因您的机器人套件而异。

图 1 显示了您必须连接到 Intel® Edison 主板以供电的电机引脚。

图 1. Intel® Edison 主板上的引脚连接

注意:这些引脚为单个电机供电。您必须为第二个电机执行相同的操作,使用主板上的引脚 ~6 和 ~9。

在本篇文章中,您将使用一个配备两个 5-V 直流电机和一个驱动器的机器人套件来控制每个电机。电机有两个引脚用于控制每个方向,以及用于 GND 和 VCC(主板上的 5-V 引脚)的两个引脚,如图 2 所示。很容易弄清楚引脚的去向,因为每个电机都具有相同的设置。

图 2. 您必须连接到 Intel® Edison 主板的四个引脚

控制电机

Cylon.js HTTP API 提供了一种直接从 Web 浏览器控制电机的方法,使得控制机器人变得容易。您可以使用自然语言向特定引脚发送命令,这意味着您可以轻松地进行原型设计,而无需编写代码。

要使此步骤生效,您必须找到 Intel® Edison 主板用于连接到无线路由器的 IP 地址。有关说明,请参阅 使用 Wi-Fi 连接您的 Intel® Edison 主板

在集成开发环境 (IDE) 中运行代码后,您应该会在 Intel® Edison 主板上看到图 3 所示的输出。

图 3. 此输出告诉您哪些设备已连接以及服务器正在运行。

要控制连接到主板的电机,请访问您计划控制的设备的相应链接。通过使用 Cylon.js HTTP API,您可以通过在浏览器的地址栏中输入以下 URL 来做到这一点。它们使用了图 3 中控制台输出列出的设备名称,每个 URL 都对应 Intel® Edison 主板上的一个引脚

  • 要使电机前进,请输入此 URL:http://edison.local:3000/api/robots/tank/devices/motor_1_forward/commands/turn_on
  • 要使电机后退,请输入此 URL:http://edison.local:3000/api/robots/tank/devices/motor_1_forward/commands/turn_off

现在,根据您的主板配置,您可以停止和启动机器人,并通过将 `edison.local` 替换为主板提供的 IP 地址来使其移动。(在 Intel® XDK IoT Edition 中,您可以在上传代码时看到 IP 地址 — 例如,192.168.0.100)

  • http://192.168.0.100:3000/api/robots/tank/devices/motor_1_forward/commands/turn_on
  • http://192.168.0.100:3000/api/robots/tank/devices/motor_1_forward/commands/turn_off

摘要

在学习了如何使用 Cylon.js 框架远程控制电机之后,您可以轻松地扩展您的应用程序来控制不同的组件,方法是根据 Cylon.js 文档中的示例替换连接到 Intel® Edison 主板的设备。

© . All rights reserved.