2017-07-04 2 views
-1

私はEspruinoとちょっとした仕事をしていました。本当に素晴らしいプロジェクトです。しかし、私はフラッシュにコードを保存するという問題に直面しています。そのため、PC COMポートではなくボード(NodeMCU)に電源が供給されても実行できるようになります。コードは端末から渡されるまで完全に正常に動作します。しかし、私が電源を切ってしまえば、それは動作を停止します。 また、私はsave()とE.on( 'init'、function(){})を試しましたが、役に立たなかった。それでもWebサーバーは作成されません。誰かがここで助けてくれるなら、それは素晴らしいことかもしれません! ありがとう!コードを保存できませんEspruino NodeMCU

function main() { 
    var http = require('http'); 
    var led = Pin(5); 
    http.createServer(function (req, res) { 
    var url = req.url; 
    res.writeHead(200); 
    if(url == "/on") { 
     digitalWrite(led, 1); 
     res.end("on"); 
    } else if(url == "/off") { 
     digitalWrite(led, 0); 
     res.end("off"); 
    } else { 
     res.end('Lol'); 
    } 
    }).listen(80); 
} 
E.on('init', function(){ 
    main(); 
}); 

ここで私は、私は解決策を見つけたドキュメントの周りいじると、ほぼ丸一日スクランブルウェブをクロールした後、私は

答えて

0

に取り組んでいますIOTプロジェクトのための私のフラッシュへの書き込みを希望するコードがあります私自身。問題 - >

function main() { 
    var wifi = require('Wifi'); 
    wifi.startAP("testing"); 
    wifi.save(); 
    var http = require('http'); 
    var led = Pin(5); 
    return http.createServer(function (req, res) { 
    var url = req.url; 
    res.writeHead(200); 
    if(url == "/on") { 
     digitalWrite(led, 1); 
     res.end("on"); 
    } else if(url == "/off") { 
     digitalWrite(led, 0); 
     res.end("off"); 
    } else { 
     res.end('Lol'); 
    } 
    }).listen(80); 
} 
function test() { 
    console.log('Starting server'); 
    setTimeout(function() { 
    var server = main(); 
    console.log(server); 
    }, 5000); 
} 
E.on('init', function(){ 
test(); 
}); 
save(); 

問題は()が実行されるMCUはhttp.createServerためのコマンドの前に無線LANに接続するために十分な時間を得るcouldnotということでした。 MCUのIPアドレスを取得できないため、http.createServer()コマンドを処理できません。したがって、実行前に遅延を処理するにはタイムアウトが必要でした。

+0

私はタイムアウトを使用しません。準備が整っているかどうかを確認してから続けてください。 – dandavis

+0

そうです。 wifi.connect( "SSID"、{パスワード: "パスワード"}、function(){main();})のコールバック内でメイン関数を呼び出すことができます。 E.On( 'init')でWi-Fiに接続します。 –

関連する問題