Stap 6: Voorbereiden het LinkIt Smart 7688 ontwikkel bord
Controleer of uw LinkIt Smart 7688 ontwikkel bord is aangedreven en aangesloten.
Hulpprogramma voor het ssh toegang tot uw LinkIt Smart 7688 console.
Maak een map met de volgende opdracht:
mkdir app && cd app
Installeer de volgende modules met de volgende opdrachten:
npm install mcsjs<br>npm install superagent
Maak app.js-bestand voor het uitvoeren van de toepassing van de FOTA op het bord van de ontwikkeling door:
vim app.js
Typ i en kopieer/plak de volgende code in de editor en het type : wq te slaan en te sluiten.
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()) }); }); });