Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*******************************************************************************
* Copyright (c) 2018 Sensinov (www.sensinov.com)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
var express = require('express');
var request = require('request');
var fs = require('fs');
var config = require('./config.json');
createAE();
function createAE(){
console.log("\n▶▶▶▶▶");
var representation = {
"m2m:ae":{
"rn":config.aeName,
"api": config.appId,
"rr":"false"
}
};
console.log("POST "+config.cseUri);
console.log(representation);
var options = {
uri: config.cseUri,
method: "POST",
headers: {
"X-M2M-Origin": config.aeId,
"X-M2M-RI": "123456",
"Content-Type": "application/json;ty=2"
},
json: representation
};
request(options, function (error, response, body) {
console.log("◀◀◀◀◀");
if(error){
console.log(error);
}else{
console.log(response.statusCode);
console.log(body);
createContainer();
}
});
}
function createContainer(){
console.log("\n▶▶▶▶▶");
var representation = {
"m2m:cnt":{
"rn":config.cntName,
"mni":config.cntMni
}
};
console.log("POST "+config.cseUri+"/"+config.aeName);
console.log(representation);
var options = {
uri: config.cseUri+"/"+config.aeName,
method: "POST",
headers: {
"X-M2M-Origin": config.aeId,
"X-M2M-RI": "123456",
"Content-Type": "application/json;ty=3"
},
json: representation
};
request(options, function (error, response, body) {
console.log("◀◀◀◀◀");
if(error){
console.log(error);
}else{
console.log(response.statusCode);
createContentInstance();
console.log(body);
setInterval(function() {
createContentInstance();
}, config.sleepTime);
}
});
}
function createContentInstance(){
console.log("\n▶▶▶▶▶");
var image= base64_encode(config.imageFile)
var representation = {
"m2m:cin":{
"con": "{\"cameraid\":\""+config.cameraId+"\",\"timestamp\":\""+Date.now()+"\", \"base64image\":\""+image+"\"}"
}
};
console.log("POST "+config.cseUri+"/"+config.aeName+"/"+config.cntName);
console.log(representation);
var options = {
uri: config.cseUri+"/"+config.aeName+"/"+config.cntName,
method: "POST",
headers: {
"X-M2M-Origin": config.aeId,
"X-M2M-RI": "123456",
"Content-Type": "application/json;ty=4"
},
json: representation
};
request(options, function (error, response, body) {
console.log("◀◀◀◀◀");
if(error){
console.log(error);
}else{
console.log(response.statusCode);
console.log(body);
}
});
}
function base64_encode(file) {
var image = fs.readFileSync(file);
return new Buffer(image).toString('base64');
}