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()