Cylon.js 和 Sphero

Posted

技术标签:

【中文标题】Cylon.js 和 Sphero【英文标题】:Cylon.js and Sphero 【发布时间】:2014-06-12 16:45:55 【问题描述】:

是否有使用 Cylon Sphero 获取加速度计和陀螺仪数据的方法 (Cylon.js)?我想将 Sphero 用作控制器,而 locator 事件不会返回有用的信息。这就是我目前正在做的获取locator 数据(咖啡脚本)

Cylon = require 'cylon'

connectionDefaults = 
  name    : 'sphero'
  adaptor : 'sphero'
  port    : '/dev/tty.Sphero-WYW-AMP-SPP' 

deviceDefaults = 
  name    : 'sphero'
  driver  : 'sphero'

spheroDoWork = ( robot )->
SPHERO          = robot.sphero 
DATA            = 

sampleRateHz    = 420 
intN            = 20
intM            = 1
packetCount     = 20 
mask            = 21
mask2           = packetCount * 2

velMin          = 50 
distance        = 0
timeBetweenData = intN / sampleRateHz

handleConnect =->
    console.log '== SPHERO READY...'
    SPHERO.setDataStreaming( intN, intM, mask, packetCount, mask2 )
    SPHERO.detectLocator()
    SPHERO.stop()

handleLocator =( data )->
    raw = 
        yDist  :  data[0]
        xDist  :  data[1]
        accel  :  data[2]
        yVel   :  data[3]
        xVel   :  data[4]

    DATA.prev = DATA.curr
    DATA.curr = raw 

    console.log '=== PREV DATA', DATA.prev  
    console.log '=== CURR DATA', DATA.curr 

SPHERO.on 'connect',  handleConnect 
SPHERO.on 'locator',  handleLocator 


Cylon.robot
  connection  : connectionDefaults 
  device      : deviceDefaults
  work        : spheroDoWork

.start()

【问题讨论】:

【参考方案1】:

在与hybrid 组合作更新cylon.js 中的setDataStreaming 之后,所有传感器数据现在都可以通过git https://github.com/hybridgroup/cylon-sphero 获得

【讨论】:

以上是关于Cylon.js 和 Sphero的主要内容,如果未能解决你的问题,请参考以下文章

第三十一节:扫盲并发和并行同步和异步进程和线程阻塞和非阻塞响应和吞吐等

shell中$()和 ` `${}${!}${#}$[] 和$(()),[ ] 和(( ))和 [[ ]]

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()

malloc和free,brk和sbrk和mmap和munmap的使用和关系以及内存分配的原理