Uppgradera Firmware-Over-the-Air på LinkIt 7688 med MediaTek Cloud Sandbox (6 / 7 steg)
Steg 6: Förbereda LinkIt Smart 7688 utveckling styrelsen
Kontrollera din LinkIt Smart 7688 utveckling styrelse drivs och ansluten.
Använda ssh för att komma åt konsolen LinkIt Smart 7688.
Skapa en mapp med hjälp av följande kommando:
mkdir app & & cd app
Installera följande moduler med följande kommandon:
NPM installera mcsjs < br > npm installera superagent
Skapa app.js fil för att köra programmet FOTA i utveckling styrelsen av:
vim app.js
Skriv i och klistra in följande kod i redigeraren och skriv : wq att spara och avsluta.
var mcs = require('mcsjs');
var spawn = require('child_process').spawn;
var fs = require('fs');
var begäran = require('superagent');
var fwName = 'fw.hex';
var myApp = mcs.register({
deviceId: "Input ditt enhets-ID",
deviceKey: "Input din deviceKey",
});
var Hämta = funktion (url, dest, cb) {
var filen = fs.createWriteStream(dest);
var sendReq = request.get(url);
verifiera svarskod
sendReq.on ("svar", function(response) {
om (response.statusCode! == 200) {
returnera cb ("svarsstatusen var" + response.statusCode);
}
});
Kontrollera om begäran fel
sendReq.on ("fel", funktion (err) {
FS.unlink(dest);
om (cb) {
återvända cb(err.message);
}
});
sendReq.pipe(file);
File.on ('Avsluta', function() {
File.Close(CB); Close() är asynkrona, ring cb efter nära är klar.
});
File.on ('fel', function(err) {/ / handtag fel
FS.unlink(dest); Ta bort filen async. (Men vi kontrollera inte resultatet)
om (cb) {
återvända cb(err.message);
}
});
};
myApp.on ("FOTA", funktion (data, tid) {
Console.log(data);
var Data = data.split(',');
var firmwareUrl = Data [2].
Ladda ner (firmwareUrl, fwName, function() {
var uppdatering = spawn ("avrdude", ["-p", 'm32u4', '-c', 'linuxgpio', "-v", "-e", "-U", "flash: w: / root /" + fwName, "-U", 'Lås: w:0x0f:m']);
Update.stdout.on ('data', function(data) {console.log(data)});
Update.stderr.on ('data', function(data) {console.log(data.toString())});
});
});