0

我正在尝试使用假设备(来自 owfs.conf)在我的本地运行 owfs,但遇到了麻烦。这是我的代码,它打印空数组

var OwfsClient =  require('owfs').Client;
var owfs = new OwfsClient('127.0.0.1', '4304');

owfs.dir("/",function(err, directories){
    console.log(directories);
})

它什么也没有返回。在我从控制台执行 owdir 的同时,我得到了这个

$ owdir
/3A.67C6697351FF
/3A.4AEC29CDBAAB
/3A.F2FBE3467CC2
/3A.54F81BE8E78D
/10.765A2E63339F
/05.C99A66320DB7
/bus.1
/bus.0
/uncached
/settings
/system
/statistics
/structure

然后我正在尝试读取这样的设备

owfs.read("/10.765A2E63339F", function (err, data){
    console.log(err, data);
})

它输出

{ msg: 'Communication Error. Received -1',
  header: 
   { version: 0,
     payload: 0,
     ret: -1,
     controlflags: 32,
     size: 0,
     offset: 0 },
  options: 
   { path: '/10.67C6697351FF',
     command: 2,
     server: '127.0.0.1',
     port: '4304' } }

undefined

任何帮助表示赞赏。

4

1 回答 1

1

你只设置了owfs吗?您还必须设置 OWserver

默认:owserver --w1 -p4304

更多您可以在这里找到:

http://owfs.org/index.php?page=owserver

有时你也需要这个——ifconfig lo 127.0.0.1

如果没有也更新。仅适用于 nodejs srv <= 0.12.8

https://github.com/benediktarnold/owfs

于 2015-10-27T10:34:26.107 回答