Не понимаю, почему я не получаю никаких данных rssi с моего raspberry pi 3 на свой сервер

У меня возникают проблемы с попыткой отобразить значения RSSI с моего Raspberry Pi 3 для отображения на моем сервере. Успешное подключение, как вы можете видеть на картинке, я смог успешно подключить своего клиента и сервер, но данные rssi не отображаются.

Следующий код — это то, что я выполнил из пи:

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, если вам интересно, откуда я ссылаюсь на код.

Я новичок во всем этом, так что извините, если я постоянно прошу разъяснений.


person Community    schedule 24.04.2020    source источник


Ответы (1)


Вам не хватает прослушивателя для deviceData на сервере, а это событие, которое вы отправляете от клиента.

socket.on('deviceData', function(msg) {
    //received message from scanner
    //do some processing here
});
person Marcos Casagrande    schedule 24.04.2020
comment
можете ли вы привести пример, например. веб-сайт, на который я могу сослаться, потому что я не понимаю, что мне нужно делать с этим конкретным разделом кода. - person ; 24.04.2020
comment
Вы делаете: ; } }); на стороне клиента. Вы должны слушать deviceData на сервере. - person Marcos Casagrande; 24.04.2020
comment
Спасибо большое за вашу помощь. Мне удалось найти нужный мне код и, наконец, получить значения RSSI, отображаемые в моей командной строке. - person ; 24.04.2020