javascript - नोड मॉड्यूल XBee API काम नहीं कर रहा है



node.js raspberry-pi (1)

यह पता चला है कि यह बॉडेट था! यह 9600 होना चाहिए (जब तक कि मैं XBee के बॉडेट बदल नहीं सकता)।

मैं वर्तमान में रास्पबेरी पी पर नोड। जेएस के साथ काम कर रहा हूं और यूएसबी पोर्ट के माध्यम से श्रृंखला 1 एक्सबीई रेडियो से जुड़ा हुआ हूं। Node.js के साथ intergrate करने के लिए, मैं 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);
});

मुझे प्रतिक्रिया "खुली" मिलती है, लेकिन कोई संकेत नहीं है कि कमांड भेजा जा रहा है। उपरोक्त कमान पिन D0 को उच्च में बदलने के लिए एक स्थानीय कमांड है, लेकिन वास्तविकता में पिन मान नहीं बदला है।

मैंने एक्सबीबी रेडियो को डिफॉल्ट पर रीसेट कर दिया है और उसके बाद इसे अपने लैपटॉप (+++, एटीएपी 1, एटीडब्ल्यूआर) से एपीआई मोड में डाल दिया है।

यह बहुत ही चकित है, क्योंकि किसी और को एक्सबी-एपीआई नोड। जेएस मॉड्यूल के साथ यह समस्या नहीं है।





xbee