chaoshu的个人博客分享 http://blog.sciencenet.cn/u/chaoshu

博文

Node.js上传阿里云

已有 1833 次阅读 2020-7-27 13:45 |个人分类:GNSS|系统分类:科研笔记

一、str2str播发TCP server,然后Node.js接收TCP client

str2str -in serial://ttyACM1:115200:8:n:1 -out tcpsvr://:8002


const aliyunIot = require('aliyun-iot-device-sdk');
const deviceConfig = require('./device_id_password.json');
const device = aliyunIot.device(deviceConfig);
var net = require('net');
// 指定连接的tcp server ip,端口
var options = {
    host : '192.168.31.109',  
    port : 8002
}
var tcp_client = net.Socket();
// 连接 tcp server
tcp_client.connect(options,function(){
    console.log('connected to Server');
    tcp_client.write('I am tcp_client of node!');
})
device.on('connect', () => {
  console.log('Connect successfully!');
  console.log('Post properties every 5 seconds...');
  var gga;
  // 接收数据
   tcp_client.on('data',function(data){
      gga = data.toString();
   })
  setInterval(() => {
    const params = {
      GGA: gga
    };
    console.log(`Post properties: ${JSON.stringify(params)}`);
    device.postProps(params);
  }, 5000);
  
  device.serve('property/set', (data) => {
    console.log('Received a message: ', JSON.stringify(data));
  });
});
device.on('error', err => {
  console.error(err);
});

二、直接串口接收

const aliyunIot = require('aliyun-iot-device-sdk');
const deviceConfig = require('./device_id_password.json');
const device = aliyunIot.device(deviceConfig);
const SerialPort = require('serialport')
const port = new SerialPort("/dev/ttyACM0", {
  baudRate:115200,
  dataBits:8,
  parity:'none',
  stopBits:1,
  flowControl:false,
  autoOpen: false // this is the openImmediately flag [default is true]
}); 
device.on('connect', () => {
  console.log('Connect successfully!');
  console.log('Post properties every 5 seconds...');
  var gga;
  port.open(function (error) {
    if ( error ) {
      console.log('failed to open: '+error);
    } else {
      console.log('open');
      port.on('data', function(data) {
        gga = data.toString();
      });
    }
  });
  setInterval(() => {
    const params = {
      GGA: gga
   })
    };
    console.log(`Post properties: ${JSON.stringify(params)}`);
    device.postProps(params);
  }, 5000);
  
  device.serve('property/set', (data) => {
    console.log('Received a message: ', JSON.stringify(data));
  });
});
device.on('error', err => {
  console.error(err);
});


1212.png

1213.png

GPS Quality indicator:

0: Fix not valid

1: GPS fix

2: Differential GPS fix, OmniSTAR VBS

4: Real-Time Kinematic, fixed integers

5: Real-Time Kinematic, float integers, OmniSTAR XP/HP or Location RTK

微信图片_20200727134448.png



https://blog.sciencenet.cn/blog-858128-1243816.html

上一篇:node-serialport —— Node.js 串口数据读写包
下一篇:VS编译RTKLIB
收藏 IP: 119.79.228.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 20:42

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部