无法保存代码 Espruino NodeMCU

Unable to save code Espruino NodeMCU

我使用 Espruino 已经有一段时间了,它确实是一个很棒的项目。但是,我面临着将代码保存到闪存中的问题,因此当向板(NodeMCU)而不是 PC COM 端口供电时它仍然可以是 运行。该代码在从终端传递之前完全可以正常工作。但是,如果我切换电源,它就会停止工作。 另外,我尝试了 save() 和 E.on('init',function(){}) 但无济于事。它仍然没有创建 Web 服务器。如果有人可以在这里提供帮助,那就太好了! 谢谢!

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();
});

这是我希望为我正在进行的 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();

问题是在执行 http.createServer() 命令之前,MCU 无法获得足够的时间连接到 wifi。因为无法获取MCU的ip地址,所以无法处理http.createServer()命令。因此,在执行之前需要超时来处理延迟。