edge-impulse-linux 1.3.7 → 1.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -191,17 +191,15 @@ class LinuxDevice extends tsee_1.EventEmitter {
191
191
  resolve(buffer);
192
192
  });
193
193
  });
194
- let img = make_image_1.makeImage(jpg, this._devKeys.hmacKey, data.label + '.jpg');
195
194
  console.log(SERIAL_PREFIX, 'Uploading sample to', this._config.endpoints.internal.ingestion + data.path + '...');
196
195
  ee.emit('uploading');
197
196
  await make_image_1.upload({
198
197
  apiKey: this._devKeys.apiKey,
199
198
  filename: data.label + '.jpg',
200
- processed: img,
199
+ buffer: jpg,
201
200
  allowDuplicates: false,
202
201
  category: data.path.indexOf('/training') > -1 ? 'training' : 'testing',
203
202
  config: this._config,
204
- dataBuffer: jpg,
205
203
  label: { label: data.label, type: 'label' },
206
204
  boundingBoxes: undefined
207
205
  });
@@ -230,17 +228,15 @@ class LinuxDevice extends tsee_1.EventEmitter {
230
228
  resolve(buffer);
231
229
  });
232
230
  });
233
- let img = make_image_1.makeVideo(mp4, this._devKeys.hmacKey, data.label + '.mp4', 'video/mp4');
234
231
  console.log(SERIAL_PREFIX, 'Uploading sample to', this._config.endpoints.internal.ingestion + data.path + '...');
235
232
  ee.emit('uploading');
236
233
  await make_image_1.upload({
237
234
  apiKey: this._devKeys.apiKey,
238
235
  filename: data.label + '.mp4',
239
- processed: img,
236
+ buffer: mp4,
240
237
  allowDuplicates: false,
241
238
  category: data.path.indexOf('/training') > -1 ? 'training' : 'testing',
242
239
  config: this._config,
243
- dataBuffer: mp4,
244
240
  label: { label: data.label, type: 'label' },
245
241
  boundingBoxes: undefined
246
242
  });
@@ -288,17 +284,15 @@ class LinuxDevice extends tsee_1.EventEmitter {
288
284
  await audio.stop();
289
285
  ee.emit('processing');
290
286
  let wavFile = this.buildWavFileBuffer(audioBuffer, data.interval);
291
- let wav = make_image_1.makeWav(wavFile, this._devKeys.hmacKey);
292
287
  console.log(SERIAL_PREFIX, 'Uploading sample to', this._config.endpoints.internal.ingestion + data.path + '...');
293
288
  ee.emit('uploading');
294
289
  await make_image_1.upload({
295
290
  apiKey: this._devKeys.apiKey,
296
291
  filename: data.label + '.wav',
297
- processed: wav,
292
+ buffer: wavFile,
298
293
  allowDuplicates: false,
299
294
  category: data.path.indexOf('/training') > -1 ? 'training' : 'testing',
300
295
  config: this._config,
301
- dataBuffer: audioBuffer,
302
296
  label: { label: data.label, type: 'label' },
303
297
  boundingBoxes: undefined,
304
298
  });
@@ -1 +1 @@
1
- {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../cli/linux/linux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../cli/linux/linux.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import { EdgeImpulseConfig } from './config';
3
- export interface ExportInputBoundingBox {
4
- label: string;
5
- width: number;
6
- height: number;
7
- x: number;
8
- y: number;
9
- }
10
- export declare function makeImage(buffer: Buffer, hmacKey: string | undefined, fileName: string): {
11
- encoded: Buffer;
12
- contentType: string;
13
- attachments: {
14
- value: Buffer;
15
- options: {
16
- filename: string;
17
- contentType: string;
18
- };
19
- }[];
20
- };
21
- export declare function makeVideo(buffer: Buffer, hmacKey: string | undefined, fileName: string, mimeType: string): {
22
- encoded: Buffer;
23
- contentType: string;
24
- attachments: {
25
- value: Buffer;
26
- options: {
27
- filename: string;
28
- contentType: string;
29
- };
30
- }[];
31
- };
32
- export declare function makeWav(buffer: Buffer, hmacKey: string | undefined): {
33
- encoded: Buffer;
34
- contentType: string;
3
+ import { ExportInputBoundingBox } from '../shared/bounding-box-file-types';
4
+ export declare const EXTENSION_MAPPING: {
5
+ [k: string]: string;
35
6
  };
7
+ export declare const validExtensions: string[];
36
8
  export declare function upload(opts: {
37
9
  filename: string;
10
+ buffer: Buffer;
38
11
  label: {
39
12
  type: 'unlabeled';
40
13
  } | {
@@ -45,22 +18,7 @@ export declare function upload(opts: {
45
18
  };
46
19
  allowDuplicates: boolean;
47
20
  apiKey: string;
48
- processed: {
49
- encoded: Buffer;
50
- contentType: string;
51
- attachments?: {
52
- value: Buffer;
53
- options: {
54
- contentType: string;
55
- };
56
- }[];
57
- };
58
21
  config: EdgeImpulseConfig;
59
22
  category: string | undefined;
60
- dataBuffer: Buffer;
61
23
  boundingBoxes: ExportInputBoundingBox[] | undefined;
62
- }): Promise<unknown>;
63
- export declare function makeCsv(buffer: Buffer, hmacKey: string | undefined): {
64
- encoded: Buffer;
65
- contentType: string;
66
- };
24
+ }): Promise<void>;
@@ -3,152 +3,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.makeCsv = exports.upload = exports.makeWav = exports.makeVideo = exports.makeImage = void 0;
6
+ exports.upload = exports.validExtensions = exports.EXTENSION_MAPPING = void 0;
7
7
  const crypto_1 = __importDefault(require("crypto"));
8
- const borc_1 = __importDefault(require("borc"));
9
- const request_1 = __importDefault(require("request"));
8
+ const form_data_1 = __importDefault(require("form-data"));
9
+ const node_fetch_1 = __importDefault(require("node-fetch"));
10
10
  const http_1 = __importDefault(require("http"));
11
11
  const https_1 = __importDefault(require("https"));
12
- const wavefile_1 = require("wavefile");
13
12
  const encoding_1 = __importDefault(require("../shared/encoding"));
13
+ const path_1 = __importDefault(require("path"));
14
14
  const keepAliveAgentHttp = new http_1.default.Agent({ keepAlive: true });
15
15
  const keepAliveAgentHttps = new https_1.default.Agent({ keepAlive: true });
16
- function makeImage(buffer, hmacKey, fileName) {
17
- let hmacImage = crypto_1.default.createHmac('sha256', hmacKey || '');
18
- hmacImage.update(buffer);
19
- let emptySignature = Array(64).fill('0').join('');
20
- let mimeType = fileName.endsWith('.png') ? 'image/png' : 'image/jpeg';
21
- let data = {
22
- protected: {
23
- ver: "v1",
24
- alg: "HS256",
25
- },
26
- signature: emptySignature,
27
- payload: {
28
- device_type: "EDGE_IMPULSE_UPLOADER",
29
- interval_ms: 0,
30
- sensors: [{ name: 'image', units: 'rgba' }],
31
- values: [`Ref-BINARY-${mimeType} (${buffer.length} bytes) ${hmacImage.digest().toString('hex')}`]
32
- }
33
- };
34
- let encoded = borc_1.default.encode(data);
35
- let hmac = crypto_1.default.createHmac('sha256', hmacKey || '');
36
- hmac.update(encoded);
37
- let signature = hmac.digest().toString('hex');
38
- data.signature = signature;
39
- return {
40
- encoded: borc_1.default.encode(data),
41
- contentType: 'application/cbor',
42
- attachments: [
43
- {
44
- value: buffer,
45
- options: {
46
- filename: fileName,
47
- contentType: mimeType
48
- }
49
- }
50
- ]
51
- };
52
- }
53
- exports.makeImage = makeImage;
54
- function makeVideo(buffer, hmacKey, fileName, mimeType) {
55
- let hmacVideo = crypto_1.default.createHmac('sha256', hmacKey || '');
56
- hmacVideo.update(buffer);
57
- let emptySignature = Array(64).fill('0').join('');
58
- let data = {
59
- protected: {
60
- ver: "v1",
61
- alg: "HS256",
62
- },
63
- signature: emptySignature,
64
- payload: {
65
- device_type: "EDGE_IMPULSE_UPLOADER",
66
- interval_ms: 0,
67
- sensors: [{ name: 'video', units: 'rgba' }],
68
- values: [`Ref-BINARY-${mimeType} (${buffer.length} bytes) ${hmacVideo.digest().toString('hex')}`]
69
- }
70
- };
71
- let encoded = borc_1.default.encode(data);
72
- let hmac = crypto_1.default.createHmac('sha256', hmacKey || '');
73
- hmac.update(encoded);
74
- let signature = hmac.digest().toString('hex');
75
- data.signature = signature;
76
- return {
77
- encoded: borc_1.default.encode(data),
78
- contentType: 'application/cbor',
79
- attachments: [
80
- {
81
- value: buffer,
82
- options: {
83
- filename: fileName,
84
- contentType: mimeType
85
- }
86
- }
87
- ]
88
- };
89
- }
90
- exports.makeVideo = makeVideo;
91
- function makeWav(buffer, hmacKey) {
92
- if (buffer.slice(0, 4).toString('ascii') !== 'RIFF') {
93
- throw new Error('Not a WAV file, first four bytes are not RIFF but ' +
94
- buffer.slice(0, 4).toString('ascii'));
95
- }
96
- const wav = new wavefile_1.WaveFile(buffer);
97
- wav.toBitDepth('16');
98
- const fmt = wav.fmt;
99
- let freq = fmt.sampleRate;
100
- // tslint:disable-next-line: no-unsafe-any
101
- let totalSamples = wav.data.samples.length / (fmt.bitsPerSample / 8);
102
- let dataBuffers = [];
103
- for (let sx = 0; sx < totalSamples; sx += fmt.numChannels) {
104
- try {
105
- let sum = 0;
106
- for (let channelIx = 0; channelIx < fmt.numChannels; channelIx++) {
107
- sum += wav.getSample(sx + channelIx);
108
- }
109
- dataBuffers.push(sum / fmt.numChannels);
110
- }
111
- catch (ex) {
112
- console.error('failed to call getSample() on WAV file', sx, ex);
113
- throw ex;
114
- }
16
+ exports.EXTENSION_MAPPING = {
17
+ '.wav': 'audio/wav',
18
+ '.cbor': 'application/cbor',
19
+ '.json': 'application/json',
20
+ '.jpg': 'image/jpeg',
21
+ '.jpeg': 'image/jpeg',
22
+ '.png': 'image/png',
23
+ '.csv': 'text/csv',
24
+ '.mp4': 'video/mp4',
25
+ '.avi': 'video/avi',
26
+ };
27
+ exports.validExtensions = Object.keys(exports.EXTENSION_MAPPING);
28
+ async function upload(opts) {
29
+ if (opts.buffer.length > 100 * 1024 * 1024) {
30
+ throw new Error('File too large, max. size is 100MB');
115
31
  }
116
- // empty signature (all zeros). HS256 gives 32 byte signature, and we encode in hex,
117
- // so we need 64 characters here
118
- let emptySignature = Array(64).fill('0').join('');
119
- let data = {
120
- protected: {
121
- ver: "v1",
122
- alg: "HS256",
123
- },
124
- signature: emptySignature,
125
- payload: {
126
- device_type: "EDGE_IMPULSE_UPLOADER",
127
- interval_ms: 1000 / freq,
128
- sensors: [{ name: 'audio', units: 'wav' }],
129
- values: dataBuffers
130
- }
131
- };
132
- let encoded = JSON.stringify(data);
133
- // now calculate the HMAC and fill in the signature
134
- let hmac = crypto_1.default.createHmac('sha256', hmacKey || '');
135
- hmac.update(encoded);
136
- let signature = hmac.digest().toString('hex');
137
- // update the signature in the message and re-encode
138
- data.signature = signature;
139
- encoded = JSON.stringify(data);
140
- return {
141
- encoded: Buffer.from(encoded, 'utf-8'),
142
- contentType: 'application/json'
143
- };
144
- }
145
- exports.makeWav = makeWav;
146
- function upload(opts) {
32
+ let ext = path_1.default.extname(opts.filename).toLowerCase();
147
33
  let headers = {
148
34
  'x-api-key': opts.apiKey,
149
- 'x-file-name': encoding_1.default(opts.filename),
150
- 'Content-Type': (!opts.processed.attachments ? opts.processed.contentType : 'multipart/form-data'),
151
- 'x-no-date-id': '1',
152
35
  'Connection': 'keep-alive'
153
36
  };
154
37
  if (opts.label.type === 'label') {
@@ -164,225 +47,67 @@ function upload(opts) {
164
47
  if (opts.boundingBoxes) {
165
48
  headers['x-bounding-boxes'] = JSON.stringify(opts.boundingBoxes);
166
49
  }
167
- return new Promise((res, rej) => {
168
- if (!opts.config)
169
- return rej('No config object');
170
- let agent = opts.config.endpoints.internal.ingestion.indexOf('https:') === 0 ?
171
- keepAliveAgentHttps :
172
- keepAliveAgentHttp;
173
- let category = opts.category;
174
- // if category is split we calculate the md5 hash of the buffer
175
- // then look at the first char in the string that's not f
176
- // then split 0..b => training, rest => test for a 80/20 split
177
- if (category === 'split') {
178
- let hash = crypto_1.default.createHash('md5').update(opts.dataBuffer).digest('hex');
179
- while (hash.length > 0 && hash[0] === 'f') {
180
- hash = hash.substr(1);
181
- }
182
- if (hash.length === 0) {
183
- return rej('Failed to calculate MD5 hash of buffer');
184
- }
185
- let firstHashChar = hash[0];
186
- if (['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b'].indexOf(firstHashChar) > -1) {
187
- category = 'training';
188
- }
189
- else {
190
- category = 'testing';
191
- }
50
+ let agent = opts.config.endpoints.internal.ingestion.indexOf('https:') === 0 ?
51
+ keepAliveAgentHttps :
52
+ keepAliveAgentHttp;
53
+ let category = opts.category;
54
+ // if category is split we calculate the md5 hash of the buffer
55
+ // then look at the first char in the string that's not f
56
+ // then split 0..b => training, rest => test for a 80/20 split
57
+ if (category === 'split') {
58
+ let hash = crypto_1.default.createHash('md5').update(opts.buffer).digest('hex');
59
+ while (hash.length > 0 && hash[0] === 'f') {
60
+ hash = hash.substr(1);
192
61
  }
193
- // now upload the buffer to Edge Impulse
194
- request_1.default.post(opts.config.endpoints.internal.ingestion + '/api/' + category + '/data', {
195
- headers: headers,
196
- body: (!opts.processed.attachments ? opts.processed.encoded : undefined),
197
- formData: (opts.processed.attachments ? {
198
- body: {
199
- value: opts.processed.encoded,
200
- options: {
201
- filename: opts.filename,
202
- contentType: opts.processed.contentType
203
- }
204
- },
205
- attachments: opts.processed.attachments
206
- } : undefined),
207
- encoding: null,
208
- agent: agent
209
- }, (err, response, body) => {
210
- if (err)
211
- return rej(err);
212
- if (response.statusCode !== 200) {
213
- return rej(body || response.statusCode.toString());
214
- }
215
- res(body);
216
- });
217
- });
218
- }
219
- exports.upload = upload;
220
- function makeCsv(buffer, hmacKey) {
221
- let csvFile = parseCsvString(buffer.toString('utf-8'));
222
- let intervalMs;
223
- let hasTimestamp = true;
224
- if (csvFile.length === 0) {
225
- throw new Error('No lines in CSV file, need at least two (a header and a line with values)');
226
- }
227
- if (Object.keys(csvFile[0]).indexOf('timestamp') > -1) {
228
- if (csvFile.length === 1) {
229
- intervalMs = 1000;
62
+ if (hash.length === 0) {
63
+ throw new Error('Failed to calculate MD5 hash of buffer');
64
+ }
65
+ let firstHashChar = hash[0];
66
+ if (['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b'].indexOf(firstHashChar) > -1) {
67
+ category = 'training';
230
68
  }
231
69
  else {
232
- intervalMs = Number(csvFile[1].timestamp) - Number(csvFile[0].timestamp);
233
- if (!intervalMs || isNaN(intervalMs)) {
234
- throw new Error('Could not determine frequency, the timestamp column should ' +
235
- 'contain increasing numbers');
236
- }
70
+ category = 'testing';
237
71
  }
238
72
  }
239
- else {
240
- hasTimestamp = false;
241
- intervalMs = 1000;
242
- if (csvFile.length !== 1) {
243
- throw new Error('For CSV files without a timestamp column, need exactly one line with values (but found ' +
244
- csvFile.length + ')');
245
- }
73
+ const form = new form_data_1.default();
74
+ form.append('data', opts.buffer, {
75
+ filename: opts.filename,
76
+ contentType: exports.EXTENSION_MAPPING[ext] || 'application/octet-stream',
77
+ });
78
+ let res = await node_fetch_1.default(opts.config.endpoints.internal.ingestion + '/api/' + category + '/files', {
79
+ method: 'POST',
80
+ headers: headers,
81
+ body: form,
82
+ agent: agent,
83
+ compress: true,
84
+ });
85
+ let body = await res.text();
86
+ let msg;
87
+ try {
88
+ msg = JSON.parse(body);
246
89
  }
247
- let columns = [];
248
- for (let k of Object.keys(csvFile[0])) {
249
- if (k === 'timestamp')
250
- continue;
251
- columns.push(k);
90
+ catch (ex2) {
91
+ // noop
252
92
  }
253
- let csvData = [];
254
- for (let ix = 0; ix < csvFile.length; ix++) {
255
- let line = csvFile[ix];
256
- if (hasTimestamp && !('timestamp' in line)) {
257
- throw new Error('File does not have a timestamp column');
93
+ if (res.status !== 200) {
94
+ if (msg && msg.success === false) {
95
+ throw new Error(msg.error);
258
96
  }
259
- let lineData = [];
260
- for (let k of columns) {
261
- if (!(k in line)) {
262
- throw new Error('Line ' + (ix + 2) + ' is missing column ' + k);
263
- }
264
- if (isNaN(line[k])) {
265
- throw new Error('Line ' + (ix + 2) + ' column ' + k + ' is not numeric');
266
- }
267
- lineData.push(line[k]);
268
- }
269
- csvData.push(lineData);
97
+ throw new Error(body || res.status.toString());
270
98
  }
271
- // empty signature (all zeros). HS256 gives 32 byte signature, and we encode in hex,
272
- // so we need 64 characters here
273
- let emptySignature = Array(64).fill('0').join('');
274
- let data = {
275
- protected: {
276
- ver: "v1",
277
- alg: "HS256",
278
- },
279
- signature: emptySignature,
280
- payload: {
281
- device_type: "EDGE_IMPULSE_UPLOADER",
282
- interval_ms: intervalMs,
283
- sensors: columns.map(c => ({ name: c.trim(), units: 'N/A' })),
284
- values: csvData
285
- }
286
- };
287
- let encoded = JSON.stringify(data);
288
- // now calculate the HMAC and fill in the signature
289
- let hmac = crypto_1.default.createHmac('sha256', hmacKey || '');
290
- hmac.update(encoded);
291
- let signature = hmac.digest().toString('hex');
292
- // update the signature in the message and re-encode
293
- data.signature = signature;
294
- encoded = JSON.stringify(data);
295
- return {
296
- encoded: Buffer.from(encoded, 'utf-8'),
297
- contentType: 'application/json'
298
- };
299
- }
300
- exports.makeCsv = makeCsv;
301
- // From https://gist.github.com/plbowers/7560ae793613ee839151624182133159
302
- function parseCsvString(text) {
303
- // from http://stackoverflow.com/a/1293163/2343
304
- function CSVToArray(strData, strDelimiter) {
305
- // Create a regular expression to parse the CSV values.
306
- const objPattern = new RegExp((
307
- // Delimiters.
308
- "(\\" + strDelimiter + "|\\r?\\n|\\r|^)" +
309
- // Quoted fields.
310
- "(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|" +
311
- // Standard fields.
312
- "([^\"\\" + strDelimiter + "\\r\\n]*))"), "gi");
313
- // Create an array to hold our data. Give the array
314
- // a default empty first row.
315
- let arrData = [[]];
316
- // Create an array to hold our individual pattern
317
- // matching groups.
318
- let arrMatches = null;
319
- // Keep looping over the regular expression matches
320
- // until we can no longer find a match.
321
- // tslint:disable-next-line: no-conditional-assignment
322
- while (arrMatches = objPattern.exec(strData)) {
323
- // Get the delimiter that was found.
324
- let strMatchedDelimiter = arrMatches[1];
325
- // Check to see if the given delimiter has a length
326
- // (is not the start of string) and if it matches
327
- // field delimiter. If id does not, then we know
328
- // that this delimiter is a row delimiter.
329
- if (strMatchedDelimiter.length && strMatchedDelimiter !== strDelimiter) {
330
- // Since we have reached a new row of data,
331
- // add an empty row to our data array.
332
- arrData.push([]);
333
- }
334
- let strMatchedValue;
335
- // Now that we have our delimiter out of the way,
336
- // let's check to see which kind of value we
337
- // captured (quoted or unquoted).
338
- if (arrMatches[2]) {
339
- // We found a quoted value. When we capture
340
- // this value, unescape any double quotes.
341
- strMatchedValue = arrMatches[2].replace(new RegExp("\"\"", "g"), "\"");
342
- }
343
- else {
344
- // We found a non-quoted value.
345
- strMatchedValue = arrMatches[3];
346
- }
347
- // Now that we have our value string, let's add
348
- // it to the data array.
349
- arrData[arrData.length - 1].push(strMatchedValue);
350
- }
351
- // Return the parsed data.
352
- return arrData;
99
+ if (!msg) {
100
+ throw new Error('Ingestion returned 200, but body is not a valid response message: ' +
101
+ body);
353
102
  }
354
- let firstLine = text.split('\n')[0].trim();
355
- let commaCount = firstLine.split(',').length;
356
- let semicolonCount = firstLine.split(';').length;
357
- let tabCount = firstLine.split('\t').length;
358
- let delimiter = ',';
359
- if (semicolonCount > commaCount && semicolonCount > tabCount) {
360
- delimiter = ';';
103
+ if (!msg.success) {
104
+ throw new Error(msg.error);
361
105
  }
362
- else if (tabCount > commaCount && tabCount > semicolonCount) {
363
- delimiter = '\t';
364
- }
365
- let lines = CSVToArray(text, delimiter);
366
- // console.log('Parsing CSV file, found delimiter', delimiter, 'returned', lines);
367
- let header = lines[0];
368
- if (header.length === 0) {
369
- throw new Error('No column names found in header');
370
- }
371
- lines = lines.filter(l => {
372
- return l.length === header.length;
373
- });
374
- let ret = [];
375
- for (let l of lines.slice(1)) {
376
- let obj = {};
377
- for (let ix = 0; ix < header.length; ix++) {
378
- let value = l[ix];
379
- if (value.indexOf('.') === -1 && value.indexOf(',') > -1) {
380
- value = value.replace(/,/g, '.');
381
- }
382
- obj[header[ix]] = value === '' ? NaN : Number(value);
106
+ for (let f of msg.files) {
107
+ if (!f.success) {
108
+ throw new Error(f.error);
383
109
  }
384
- ret.push(obj);
385
110
  }
386
- return ret;
387
111
  }
112
+ exports.upload = upload;
388
113
  //# sourceMappingURL=make-image.js.map