0
私のウェブサーバ制御のロボットプロジェクトであなたの助けが必要です。 私は2つのモーターをウェブサイトで制御しようとしています。`socket`のエラーハンドラが見つかりませんTypeError:タスクは関数ではありません - node.js async.js
私はウェブサイトを開いて「w」キーを押して、両方のモーターが前進することができるように、すでに多くのものが働いています。 (MyControlls:w =前方、s =後方、a =左、d =右)
しかし、別のコマンドはもう処理されません。コマンドラインで
私は、このエラーメッセージが表示することができます:問題がmoveForwardの周りにあるように見える
Missing error handler on `socket`.
TypeError: task is not a function
at /home/pi/tank/node_modules/async/dist/async.js:5285:13
at replenish (/home/pi/tank/node_modules/async/dist/async.js:871:21)
at /home/pi/tank/node_modules/async/dist/async.js:881:15
at _parallel (/home/pi/tank/node_modules/async/dist/async.js:5284:9)
at parallelLimit (/home/pi/tank/node_modules/async/dist/async.js:5317:14)
at Object.parallel (/home/pi/tank/node_modules/async/dist/async.js:930:20)
at Object.tank.moveForward (/home/pi/tank/app.js:46:9)
at Socket.<anonymous> (/home/pi/tank/app.js:87:9)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
を:機能()とasync.parallel (他の入居の機能は同じを持っています)
var tank = {
//we create an object with the used pins
motors : {
leftFront: 11,
leftBack: 12,
rightFront: 15,
rightBack: 16
},
//we open the gpio pins and set the as outputs
init : function(){
gpio.open(this.motors.leftFront, "output");
gpio.open(this.motors.leftBack, "output");
gpio.open(this.motors.rightFront, "output");
gpio.open(this.motors.rightBack, "output");
},
//in order to move the tank forward, we supply both motors
moveForward : function(){
async.parallel([
gpio.write(this.motors.leftFront, 1),
gpio.write(this.motors.rightFront, 1)
])
},
//in order to move the tank backwards, we supply both motors, but with inverse polarity
moveBackward : function(){
async.parallel([
gpio.write(this.motors.leftBack, 1),
gpio.write(this.motors.rightBack, 1)
]);
},
//in order to turn right, we supply on the left
moveLeft : function(){
gpio.write(this.motors.leftFront, 1);
},
//in order to turn left, we supply on the right
moveRight : function(){
gpio.write(this.motors.rightFront, 1);
},
//in order to stop both motors, we set all pins to 0 value
stop : function(){
async.parallel([
gpio.write(this.motors.leftFront, 0),
gpio.write(this.motors.leftBack, 0),
gpio.write(this.motors.rightFront, 0),
gpio.write(this.motors.rightBack, 0)
]);
}
};
助けてください!
ありがとう:
を余分に定型を避けるために、あなたはまた、必要に応じて必要な機能を作成する機能をくくり出すことができ!それは動作します - 私は私の庭を通って乗っています! ;-) – ClCl