我曾与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项目的flash的代码
答案 0 :(得分:0)
在摆弄文档并抓取乱码网络近一整天后,我自己找到了解决方案。问题 - >
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()命令。因此,在执行之前处理延迟需要超时。