Ergebnis 1 bis 11 von 11

Thema: Meldungen vom DME auslesen und per USB/COM übertragen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    15.09.2016
    Beiträge
    9
    Das sieht doch super aus. Interesse besteht auf jeden Fall. Mein Problem ist wie gesagt nur, dass ich nicht weiß wie ich die Daten vom Melder in den Rechner bekomme und welche Melder dafür geeignet sind.

    Edit: Funktioniert das auch mit nem LX2?
    Geändert von kikiano (25.01.2017 um 14:59 Uhr)

  2. #2
    Registriert seit
    26.08.2015
    Beiträge
    71
    Schau mal hier auf seite 7, da ist sogar der umbau der Ladeschale mit drin: http://www.servicetools.org/FME-V3.pdf
    Ich weis nicht ob das beim LX2 genauso ist wie beim LX4 aber man musste noch über die Programmiersoftware die Datenausgabe frei schalten.

    ich poste hier einfach mal mein input Script vom LX4:
    Code:
    //config
    "Serialport.Motorola.LX4.Advanced": {
    			"AKTIV": true,
    			"active": true,
    			"port": "/dev/ttyAMA0",
    			"config": {
    				"delimiter": "\u0003",
    				"baudrate": 9600,
    				"databits": 8,
    				"stopbits": 1,
    				"parity": "none",
    				"encoding": "utf8"
    			}
    		},
    Serialport.Motorola.LX4.Advanced.js
    Code:
    //Node Modul für Serialport
    //https://www.npmjs.com/package/serialport
    
    exports.init = function (app, config) {
    	var Port = {};
    	if (config.active) {
    		var SerialPort;
    		try {
    			var serialport = require("serialport");
    			SerialPort = serialport.SerialPort;
    		} catch (e) {
    			console.error(e);
    		}
    
    		if (SerialPort) {
    			var conf = config.config;
    			var parser = function (magicChar) {
    				if (typeof magicChar === 'undefined' || magicChar === null) {
    					magicChar = '\r';
    				}
    				// Delimiter buffer saved in closure
    				var data = '';
    				return function (emitter, buffer) {
    					console.log('RAW', 'data: ', buffer);
    					//data to String
    					var tmp = '';
    					for (var i = 0; i < buffer.length; i++) {
    						tmp += String.fromCharCode(buffer[i]);
    					}
    					data += tmp;
    					// Split collected data by delimiter
    					if (tmp.indexOf(magicChar) != -1) {
    						emitter.emit('data', data);
    						//clear data
    						data = '';
    					}
    				};
    			};
    			conf.parser = parser(conf.delimiter);
    
    			Port = new SerialPort(config.port, conf);
    
    			Port.on("open", function (err) {
    				if (err) {
    					console.error(err);
    				} else {
    					console.log('uArt open', Port.path);
    					Port.on('data', function (data) {
    						try {
    							console.log('data received: ' + data);
    							if (data.length > 0) {
    								app.sendAlarm(data + '');
    							} else {
    								console.log('Datensatz NICHT eingefügt!', 'STR-LEN: ' + data.length, data);
    							}
    						} catch (e) {
    							console.log(e);
    						}
    					});
    				}
    			});
    		}
    	}
    	return Port;
    };
    Wie gesagt, läuft auf einem Raspi. Den Monitor hab ich komplett in Nodejs umgesetzt mit Webfrontend welcher dann vom Chromium im Vollbild auf dem Monitor dargestellt wird.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •