Advertisement
Guest User

Untitled

a guest
Jan 11th, 2012
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //setting db layer and mongoose
  2. var mongoose = require('mongoose');
  3. var Schema = mongoose.Schema;
  4. var GPSDataSchema = new Schema({
  5.     createdAt: { type: Date, default: Date.now }
  6.     ,latitude: { type: String, trim: true }
  7.     ,longitude: { type: String, trim: true }
  8.     ,course: { type: String, trim: true }
  9.     ,battery: { type: String, trim: true }
  10.     ,imei: { type: String, trim: true }
  11.     ,altitude: { type: String, trim: true }
  12.     ,mcc: { type: String, trim: true }
  13.     ,mnc: { type: String, trim: true }
  14.     ,lac: {type: String, trim: true }
  15.     ,cellId: { type: String, trim: true }
  16. });
  17.  
  18. var GPSData = mongoose.model('GPSData', GPSDataSchema);
  19. mongoose.connect('mongodb://localhost/gpsdb');
  20. var db = mongoose.connection;
  21. db.on('open', function() {
  22.     console.log('DB Started');
  23. });
  24.  
  25. var net = require('net');
  26.  
  27. var server = net.createServer(function(socket) {
  28.     //console.log('Request');
  29.     //socket.write("Echo Server\r\n");
  30.     //socket.pipe(socket);
  31.    
  32.     socket.on('data', function(data) {
  33.         console.log('Data ' + data);
  34.         var obj = rawDataToObject(data.toString());
  35.         saveGPSData(obj);  
  36.     });
  37.  
  38.     socket.on('close', function(data) {
  39.         console.log('Closed: ' + data);
  40.     });
  41. });
  42.  
  43. function saveGPSData(data){
  44.     var newData = new GPSData(data);
  45.     newData.save(function(err) {
  46.         if(err)
  47.             return console.error(err);
  48.     });
  49. }
  50.  
  51. function rawDataToObject(rawData){
  52.     var arrayObj = rawData.split(',');
  53.     var s = arrayObj[0];
  54.     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));
  55.     var gpsObj ={
  56.         createdAt: d
  57.         ,latitude: arrayObj[5]
  58.         ,longitude: arrayObj[7]
  59.         ,course: arrayObj[10]
  60.         ,battery: arrayObj[20]
  61.         ,imei: arrayObj[17]
  62.         ,altitude: arrayObj[19]
  63.         ,mcc: arrayObj[24]
  64.         ,mnc: arrayObj[25]
  65.         ,lac: arrayObj[26]
  66.         ,cellId: arrayObj[27]
  67.     };
  68.     return gpsObj;
  69. }
  70. server.listen(31748, "0.0.0.0");
  71. console.log("Server running at port 31748");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement