帮酷LOGO
  • 显示原文与译文双语对照的内容
A Node CLI Tool for the Sphero BB8 Robot every loves.

  • 源代码名称:BB8-Commander
  • 源代码网址:http://www.github.com/mintuz/BB8-Commander
  • BB8-Commander源代码文档
  • BB8-Commander源代码下载
  • Git URL:
    git://www.github.com/mintuz/BB8-Commander.git
  • Git Clone代码到本地:
    git clone http://www.github.com/mintuz/BB8-Commander
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/mintuz/BB8-Commander
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • BB8指挥官

    使用 Sphero Javascript SDK的Sphero BB8机器人的node CLI工具

    BB8 Rolling like he's owning

    安装

    还没有 npm,所以你必须做得好,ol的fasioned

    • npm install -g bb8-commander
    • bb8 setup
    • 使用以下命令

    如果你正努力连接到 BB8,那么可能值得检查 @saraford's 博客文章的故障排除部分。

    命令

    命令行实用程序命令

    • bb8 setup - 将你的BB8单元UUID保存到配置以便将来参考的命令
    • bb8 disconnect - 与你的BB8单元断开连接的命令

    操作命令

    • bb8 disco - 在夜晚将你的BB8单位变成一个闪亮的迪斯科球
    • bb8 roll - 一个简单的命令,使你的BB8任意方向滚动。
    • bb8 desk-buddy - 在你的办公桌工作时保持你公司的命令。 放置在充电站的位置,观察它的头部随机移动。
    • bb8 weather --city="manchester" --country="uk" --api-key="ABCD" - 命令将你的BB8单元转换为你自己的天气记录器,使用OpenWeather以获得你自己的API密钥
    • bb8 tweet --hash-tag="bb8" --delay=5000 - 搜索 Twitter 并运行它找到的第一个标签作为命令。 例如 tweet #disco将运行 disco 命令 --consumer-key xxx --consumer-secret xxx --access-token-key xxx --access-token-secret xxx
    • bb8 power - 获取电池状态详细信息的命令。
    • bb8 drive - 命令使你可以从键盘获取输入,并使用箭头键对你的BB-8 进行'驱动器'操作。
    • 运行一个包含一个POST端点的express服务器的命令,你可以发送一个JSON对象到。 有关详细信息,请参阅 below 。

    Express服务器

    能够运行快速服务器来向BB8单元发出命令可以以打开一系列可以能性。 拥有Express服务器的主要好处之一是你可以集成到 IFTTT,此时,你已经进入了things的互联网 of 。

    开始是非常简单的,只有在连接 bb8 express --port=4000 之后,一旦你的BB8连接起来,就会启动一个Express服务器。

    然后,你可以通过POST请求直接向它发送命令。 它支持任何SpheroSDK命令以及我们创建的定制命令。 有关示例,请参见 below 。

    本机命令

    对于本机命令,响应正文将包含在执行命令后BB8公开的信息。 阅读Sphero文档,了解它的返回的数据。 http://sdk.sphero.com/community-apis/javascript-sdk/

    运行 color 命令

    Post请求- localhost:3000/

    请求正文

    {
    "mode":"sphero",
    "command":"color",
    "value":"yellow"
    }
    运行 roll 命令

    Post请求- localhost:3000/

    请求正文

    {
    "mode":"sphero",
    "command":"roll",
    "value": [130, 50]
    }

    通过这个请求,我们传递一个 array,这是因为 Sphero SDK中的roll命令需要多个参数。 这只是将这些值传递给该命令的简单方法。

    自定义命令

    运行 disco 命令

    Post请求- localhost:3000/

    请求正文

    {
    "mode":"custom",
    "command":"disco"
    }
    运行 tweet 命令

    POST请求- localhost:3000/

    请求正文

    {
    "mode":"custom",
    "command":"tweet",
    "value": {
    "delay": 30,
    "consumerKey":"YOUR_CONSUMER_KEY",
    "consumerSecret":"YOUR_CONSUMER_SECRET",
    "accessTokenKey":"YOUR_ACCESS_TOKEN_KEY",
    "accessTokenSecret":"YOUR_ACCESS_TOKEN_SECRET"
     }
    }

    显然,你不会像这样传递你的OAuth信息,但重要的是要注意,可以传递到CLI工具的任何东西都可以传递到服务器端端点。

    在本机命令和自定义命令之间的套件差异是需要多个参数的本地命令作为 array 传递,而自定义命令将是对象。 因为它们与CLI工具共享相同的代码,所以定制命令是 key-value 对的原因。

    使用express服务器停止自定义命令。

    一些自定义命令,如桌面好友命令或者天气命令循环,直到告诉BB8通过快递服务器停止。

    要停止以前的BB8命令,请发送以下POST请求。 这将使express服务器运行,但会停止BB8做任何他正在做。

    Post请求- localhost:3000/

    请求正文

    {
    "mode":"custom",
    "command":"stop"
    }

    在你的项目中使用BB8管理程序。

    能够从终端运行一个工具是很酷的,但它甚至更酷,可以以扩展和构建自己的应用程序。

    运行 npm install bb8-commander --save 在项目的root 目录中,下面是一些示例代码。

    某些命令如 disco 返回 setInterval ID 。 这允许你通过运行 clearInterval(id) 来停止命令的连续运行

    var bb8 = require('bb8-commander');
    var appRootPath = require('app-root-path');
    //Used to create a. bb8config file within your users home directory.
    bb8.setup();
    var name = 'express';
    var options = {
     port: 4000
    };
    //Used to execute the command express 
    bb8.executeCommand(name, options);
    //Used to execute the command disco
    var id = bb8.executeCommand('disco');
    //Used to cancel the disco command.
    clearInterval(id);
    //Used to execute a custom command you have created.
    var filePath = appRootPath + '/path/to/custom/command';
    bb8.executeCustomCommand(filePath, options)

    你可以编写自定义命令,该命令可以通过executeCustomCommand函数执行。 自定义命令接受两个参数,bb8实例和你希望传递的任何选项。

    //example custom command
    module.exports = function(bb8, options) {
     bb8.color(options.colour);
     bb8.roll(0, Math.floor(Math.random() * 180));
    }

    然后可以像这样执行这里命令

    var bb8 = require('bb8-commander');
    var appRootPath = require('app-root-path');
    //Used to execute a custom command you have created.
    var filePath = appRootPath + '/path/to/custom/command';
    bb8.executeCustomCommand(filePath, {colour: '#000000'});
    示例贡献者希望贡献?

    继续,fork,改变,发布一个问题。 我们欢迎新动作和 Bug 修正。




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语