javascript - Módulo de nodo XBee API no funciona
node.js raspberry-pi (1)
¡Resulta que era la tasa de baudios! Necesita ser 9600 (a menos que cambie la tasa de baudios del XBee).
Actualmente estoy trabajando con Node.js en una Raspberry Pi y conecté una serie 1 de radio XBee a través del puerto USB. Para integrar con Node.js, estoy usando el módulo xbee-api .
Si bien no tengo problemas para emitir comandos al XBee desde mi computadora portátil (cambios de pin, etc.) no puedo emitir ningún comando a través del modo API en xbee-api.
Aquí está mi código de prueba (principalmente copiado de la página de inicio de xbee-api):
var util = require(''util'');
var SerialPort = require(''serialport'').SerialPort;
var xbee_api = require(''xbee-api'');
var C = xbee_api.constants;
var xbeeAPI = new xbee_api.XBeeAPI({
api_mode: 1
});
var serialport = new SerialPort("/dev/ttyUSB0", {
baudrate: 57600,
parser: xbeeAPI.rawParser()
});
serialport.on("open", function() {
console.log("open");
var frame_obj = { // AT Request to be sent to
type: C.FRAME_TYPE.AT_COMMAND,
command: "D0",
commandParameter: [0x05],
};
serialport.write(xbeeAPI.buildFrame(frame_obj));
});
// All frames parsed by the XBee will be emitted here
xbeeAPI.on("frame_object", function(frame) {
console.log(">>", frame);
});
Recibo la respuesta "abierta", pero no hay ninguna indicación de que se esté enviando el comando. El comando anterior es un comando local para cambiar el pin D0 a alto, pero el valor del pin no ha cambiado en la realidad.
He restablecido la radio XBee a los valores predeterminados y luego la he puesto en modo API desde mi computadora portátil (+++, ATAP 1, ATWR).
Es muy desconcertante, ya que nadie más parece tener este problema con el módulo xbee-api Node.js.