不明白为什么我没有从树莓派3到服务器接收任何rssi数据

问题描述 投票:1回答:1

我尝试从树莓派3显示RSSI值以显示在服务器上时遇到问题。从图片中可以看到Connection Success,我已经能够成功连接我的客户端和服务器,但是没有显示rssi数据。

以下代码是我从pi执行的代码:

var noble = require('noble');

//replace localhost with your server's IP;
var socket = require('socket.io-client')('http://localhost:3000/scanner');

//replace with your hardware address
var addressToTrack = '7c669d9b2dda'; 

socket.on('connect', function(){  
  console.log('connected to server');
});

noble.on('discover', function(peripheral){
  if(peripheral.uuid == addressToTrack){
    socket.emit('deviceData', {mac: peripheral.uuid, rssi:peripheral.rssi});    
  }
});

noble.startScanning([], true) 

下面的代码是我用来设置服务器以及它如何接收pi发送的信息的代码:

var express = require('express');
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

var scanner = io.of('/scanner'); 

scanner.on('connection', function(socket) {

    console.log('Scanner Connected');

    socket.on('message', function(msg) {
        //received message from scanner
        //do some processing here
    });

    socket.on('disconnect', function() {
        console.log('Scanner Disconnected');
    });
});

http.listen(3000, function() {
    console.log('listening on *:3000');
});

以下代码取自https://blog.truthlabs.com/beacon-tracking-with-node-js-and-raspberry-pi-794afa880318,如果您想知道我从哪里引用该代码。

我不熟悉这一切,因此,如果我不断要求澄清,请原谅。

node.js socket.io raspberry-pi3 rssi
1个回答
0
投票

您在服务器上缺少deviceData的侦听器,这是您从客户端发出的事件。

socket.on('deviceData', function(msg) {
    //received message from scanner
    //do some processing here
});
© www.soinside.com 2019 - 2024. All rights reserved.