6

Sto usando twitter streaming api & johnny-five con alcuni altri moduli http, express & socket.io con arduino unoNodejs moduli non lavorano come previsto in diversi dispositivi

Il mio script sta lavorando bene in computer portatile. Ma la mia produzione sarà su un tablet. Ho due compresse e entrambi stanno rispondendo in modo diverso. Su hp omni tavoletta sto ricevendo seguente errore

enter image description here

Inoltre ho arduino-uno connesso alla porta COM3 ma il suo dispositivo spettacoli collegati su COM1

quanto ne so questo errore è causato quando standard firmata non è uploded in arduino. Ho caricato questo programma e che funzionano bene in laptop

Su Acer Tablet Non si ricevono qualsiasi programma di errori si avvia perfettamente bene senza problemi, ma Non si ricevono i tweet con twitter streaming api

ho attraversato verificato molte volte funziona perfettamente bene sul computer portatile ogni volta che eseguo ma dà due problemi differenti con il tablets

Ecco il codice che sto usando

var Twitter = require('twitter'); 
var five = require("johnny-five"); 
var express = require('express') 
    , app = express() 
    , http = require('http') 
    , server = http.createServer(app) 
    , io = require('socket.io').listen(server); 

server.listen(8080); 

// routing 
app.use(express.static(__dirname + '/http')); 
app.use(function (req, res, next) { 
     res.setHeader('Access-Control-Allow-Origin', "http://"+req.headers.host+':80'); 

     res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); 
     res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); 
     next(); 
    } 
); 

var client = new Twitter({ 
    consumer_key: 'abc', 
    consumer_secret: 'abc', 
    access_token_key: 'abc', 
    access_token_secret: 'abc' 
}); 

var board = new five.Board(); 

board.on("ready", function() { 
    this.pinMode(5, five.Pin.OUTPUT); 
    this.pinMode(10, five.Pin.INPUT); 
     //Ask to visit url 
     console.log("Visit http://localhost:8080"); 
    var randomHashtag = Math.floor((Math.random() * 10000) +1); 
    var count = 0;//Initialize counter 
    io.sockets.on('connection', function (socket) {  
     console.log('Ready to recieve tweets');//Prints Message when Socket.io is ready to recieve tweets 
     io.emit('stream',{number:randomHashtag});//Send random no when socket initzilize 
     client.stream('statuses/filter', {track: '#tweetMe'}, function(stream) { 
      stream.on('data', function(tweet) { 
       if(tweet.text.search(randomHashtag) > 0){ 
        count++;//Increment pending tweets    
        randomHashtag = Math.floor((Math.random() * 10000) +1);     
        io.emit('stream',{number:randomHashtag});     
        board.digitalWrite(5,1); 
        console.log(tweet.text);      
       } 
       else{ 
        console.log("Tweet Without random No"); 
       } 
      }); 

     stream.on('error', function(error) { 
      throw error; 
     }); 
     }); 
    }); 
}); 
+1

In che cosa è codificato il front-end? Hai sentito parlare di cordova o di telefono? Usano un wrapper per rendere le applicazioni web compatibili/scaricabili attraverso un app store per i sistemi iOS e Android, inoltre ha il supporto per la codifica nativa per aggiungere funzionalità aggiuntive dove necessario. – Ravenous

+0

Non so come possa aiutarmi? Entrambe le estremità sono in javascript. –

+0

Cordova crea una semplice app nativa ma utilizza le visualizzazioni Web per visualizzare la tua Webapp (app javascript). Quindi puoi codificare la tua app Web una volta e ottenere compatibilità incrociata con iOS e Android (I.e.compresse o telefoni). – Ravenous

risposta

1

Come hai detto, funziona perfettamente con altri dispositivi ed è anche riuscito a risolvere il problema ue con altri tablet la possibile ragione mi viene in mente è l'installazione corrotta di nodejs o altro modules si utilizza

cercare di pulire re-installazione di Nodejs e tutto modules. Potrebbe esserci qualche problema nei tuoi moduli non nel tuo codice.

Un altro motivo per cui si è verificata la seguente emissione è la versione che gestisce l'installazione dei moduli in modo diverso.

Utilizzare la stessa versione in uso nel laptop.

0

ho risolto problema con HP OMNI tablet raccontando manualmente johnny-five su quale porta il mio Arduino è collegato come indicato nella OFFICIAL DOCUMENTATION

new five.Board({ port: "COM3" });//FOR WINDOWS ONLY 

Inoltre ho dovuto reinstallare tutti i moduli per farlo funzionare

(Ancora però non funziona con il tablet Acer)