Paso 6: Preparar la Junta de desarrollo de LinkIt Smart 7688
Asegúrese de que su Junta de desarrollo de LinkIt 7688 inteligente es alimentado y conectado.
Utilizando la herramienta ssh para acceder a tu consola de LinkIt 7688 inteligente.
Crear una carpeta con el siguiente comando:
mkdir app && cd app
Instalar los siguientes módulos utilizando los siguientes comandos:
npm install mcsjs<br>npm install superagent
Crear el archivo app.js para ejecutar la aplicación de la FOTA en la Junta de desarrollo por:
vim app.js
Tipo i y copiar/pegar el siguiente código en el editor y escriba : wq para guardar y salir.
var mcs = require('mcsjs');var spawn = require('child_process').spawn; var fs = require('fs'); var request = require('superagent'); var fwName = 'fw.hex';var myApp = mcs.register({ deviceId: 'Input your deviceID', deviceKey: 'Input your deviceKey', });var download = function(url, dest, cb) { var file = fs.createWriteStream(dest); var sendReq = request.get(url); // verify response code sendReq.on('response', function(response) { if (response.statusCode !== 200) { return cb('Response status was ' + response.statusCode); } }); // check for request errors sendReq.on('error', function (err) { fs.unlink(dest); if (cb) { return cb(err.message); } }); sendReq.pipe(file); file.on('finish', function() { file.close(cb); // close() is async, call cb after close completes. }); file.on('error', function(err) { // Handle errors fs.unlink(dest); // Delete the file async. (But we don't check the result) if (cb) { return cb(err.message); } }); };myApp.on('FOTA', function(data, time) { console.log(data); var Data = data.split(','); var firmwareUrl = Data[2]; download(firmwareUrl, fwName, function(){ var update = spawn('avrdude', ['-p', 'm32u4', '-c', 'linuxgpio', '-v', '-e', '-U', 'flash:w:/root/'+ fwName, '-U', 'lock:w:0x0f:m']); update.stdout.on('data', function(data) { console.log(data) }); update.stderr.on('data', function(data) { console.log(data.toString()) }); }); });