Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nodejs模块在不同设备中无法按预期工作_Javascript_Node.js_Arduino Uno_Twitter Streaming Api_Johnny Five - Fatal编程技术网

Javascript Nodejs模块在不同设备中无法按预期工作

Javascript Nodejs模块在不同设备中无法按预期工作,javascript,node.js,arduino-uno,twitter-streaming-api,johnny-five,Javascript,Node.js,Arduino Uno,Twitter Streaming Api,Johnny Five,我正在使用twitter流媒体api&johnny five和一些其他模块http,express&socket.io和arduino uno 我的脚本在笔记本电脑上运行良好。但我的作品将放在平板电脑上。我有两片药片,它们的反应都不一样。在hp omni平板电脑上,我收到以下错误 另外,我在端口COM3上连接了arduino uno,但其显示设备连接在COM1 据我所知,此错误是由于未在arduino中上传standard firmata时引起的。我已经上传了这个程序,它在笔记本电脑上运行良好

我正在使用
twitter流媒体api
&
johnny five
和一些其他模块
http
express
&
socket.io
arduino uno

我的脚本在笔记本电脑上运行良好。但我的作品将放在平板电脑上。我有两片药片,它们的反应都不一样。在
hp omni
平板电脑上,我收到以下错误

另外,我在端口
COM3
上连接了
arduino uno
,但其显示设备连接在
COM1

据我所知,此错误是由于未在arduino中上传
standard firmata
时引起的。我已经上传了这个程序,它在笔记本电脑上运行良好

在Acer平板电脑上,我没有收到任何错误。程序启动时完全正常,没有任何问题,但我没有收到推特流媒体api的推特

我已经检查过很多次了,每次我运行它时,它在笔记本电脑上运行得都很好,但在
平板电脑上出现了两个不同的问题

这是我正在使用的代码


我解决了HP OMNI平板电脑的问题,手动告诉johnny five我的arduino连接到哪个端口,如中所述

此外,我必须重新安装所有模块,使其工作


(仍然无法与Acer平板电脑配合使用)

正如您所说,它可以与其他设备配合使用,并且能够解决其他平板电脑的问题。我能想到的可能原因是您正在使用的
nodejs
或其他
模块的安装损坏

尝试清理重新安装的
Nodejs
和所有
模块
。可能是模块中有问题,而不是代码中有问题

您遇到以下问题的另一个原因是
nodejs
维护两个不同的版本 两者都以不同的方式处理模块的安装


使用与笔记本电脑相同的版本。

前端编码是什么?你听说过科尔多瓦和或电话公司吗?他们使用包装器使webapps兼容/可通过iOS和Android系统的应用商店下载,它还支持本地编码,以便在需要时添加附加功能。我不知道这对我有什么帮助?Cordova构建了一个简单的本机应用程序,但使用WebView来显示您的Webapp(javascript应用程序)。因此,您可以编写一次web应用程序,并获得与iOS和Android(即平板电脑或手机)的交叉兼容性。仍然不知道这对我有何帮助?因为您不会在您想要支持的每个设备上下载node,node不会在每个设备上都工作相同。因此,您可以在服务器上运行node并ping服务器API以使应用程序正常工作。Node将以不同的方式对待设备内核,并且世界上的每个内核都不支持Node,这就是它在某些设备上工作的原因。Nodes-bigshebang是这样一个事实:它运行一个易于实现的服务器。如果需要客户端节点,请尝试使用同样重命名为Nwjs的节点WebKit。另外,一些节点模块可能有底层C使其正常工作,并且C代码可能不兼容。
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;
        });
        });
    });
});
new five.Board({ port: "COM3" });//FOR WINDOWS ONLY