Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //setting db layer and mongoose
- var mongoose = require('mongoose');
- var Schema = mongoose.Schema;
- var GPSDataSchema = new Schema({
- createdAt: { type: Date, default: Date.now }
- ,latitude: { type: String, trim: true }
- ,longitude: { type: String, trim: true }
- ,course: { type: String, trim: true }
- ,battery: { type: String, trim: true }
- ,imei: { type: String, trim: true }
- ,altitude: { type: String, trim: true }
- ,mcc: { type: String, trim: true }
- ,mnc: { type: String, trim: true }
- ,lac: {type: String, trim: true }
- ,cellId: { type: String, trim: true }
- });
- var GPSData = mongoose.model('GPSData', GPSDataSchema);
- mongoose.connect('mongodb://localhost/gpsdb');
- var db = mongoose.connection;
- db.on('open', function() {
- console.log('DB Started');
- });
- var net = require('net');
- var server = net.createServer(function(socket) {
- //console.log('Request');
- //socket.write("Echo Server\r\n");
- //socket.pipe(socket);
- socket.on('data', function(data) {
- console.log('Data ' + data);
- var obj = rawDataToObject(data.toString());
- saveGPSData(obj);
- });
- socket.on('close', function(data) {
- console.log('Closed: ' + data);
- });
- });
- function saveGPSData(data){
- var newData = new GPSData(data);
- newData.save(function(err) {
- if(err)
- return console.error(err);
- });
- }
- function rawDataToObject(rawData){
- var arrayObj = rawData.split(',');
- var s = arrayObj[0];
- var d = new Date(2000 + +s.substr(0, 2),s.substr(2, 2) - 1,s.substr(4, 2),s.substr(6, 2),s.substr(8, 2),s.substr(10, 2));
- var gpsObj ={
- createdAt: d
- ,latitude: arrayObj[5]
- ,longitude: arrayObj[7]
- ,course: arrayObj[10]
- ,battery: arrayObj[20]
- ,imei: arrayObj[17]
- ,altitude: arrayObj[19]
- ,mcc: arrayObj[24]
- ,mnc: arrayObj[25]
- ,lac: arrayObj[26]
- ,cellId: arrayObj[27]
- };
- return gpsObj;
- }
- server.listen(31748, "0.0.0.0");
- console.log("Server running at port 31748");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement