myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Ungelesen 08.04.20, 15:30   #1
kangool
Anfänger
 
Benutzerbild von kangool
 
Registriert seit: Oct 2008
Beiträge: 3
Bedankt: 57
kangool ist noch neu hier! | 0 Respekt Punkte
Standard Daten (Can-Bus) auf Webseite anzeigen

Ich habe mir aus dem Internet teile rausgesucht um mir daten vom CanBus anzeigen zu lassen.
Im auto auf meinem pi

das läuft auch soweit so gut
nur die gauges gefallen mir nicht und ich hätte es gerne als text angezeigt
so in etwa
speed: xxxkmh
rpm : xxxx
temp: xx °C

der server sieht so auf

Code:
var can = require('socketcan');
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);

var channel = can.createRawChannel("vcan0", true);
channel.setRxFilters([{id:132,mask:132},{id:120,mask:120},{id:1845,mask:1845},{id:608,mask:608},{id:139,mask:139}])

var carInfo = {};
carInfo.speed = 0
carInfo.revs = 0
carInfo.mtemp = 0
carInfo.atemp = 0
carInfo.boost = 0
carInfo.fuel = 0



app.use(express.static(__dirname + "/html"));
app.use('/s*****s', express.static(__dirname + '/node_modules/canvas-gauges/'));

io.on('connection', function(client) {
    console.log('client connected')
})

setInterval(() => {
    io.emit('carMessage', carInfo)
}, 20)

channel.addListener("onMessage", function(msg) {
if (msg.id === 132) {
	var tempSpeed = msg.data.readUIntBE(1, 2)
    carInfo.speed = tempSpeed / 96
    console.log(carInfo)
}})

channel.addListener("onMessage", function(msg) {
if (msg.id === 120) {
	carInfo.revs = msg.data.readUIntBE(5, 2)
    console.log(carInfo)
}})

channel.addListener("onMessage", function(msg) {
if (msg.id === 608) {
	var tempmtemp = msg.data.readUIntBE(7, 1)
	carInfo.mtemp = tempmtemp - 60
   console.log(carInfo)
}})

channel.addListener("onMessage", function(msg) {
if (msg.id === 1845) {
	carInfo.atemp = msg.data.readUIntBE(5, 1)
    console.log(carInfo)
}})


channel.addListener("onMessage", function(msg) {
if (msg.id === 1845) {
	carInfo.boost =  msg.data.readUIntBE(7, 1)
    console.log(carInfo)
}})

channel.addListener("onMessage", function(msg) {
if (msg.id === 139) {
	carInfo.fuel =  msg.data.readUIntBE(5, 2)
    console.log(carInfo)
}})



channel.start()

server.listen(3000)
aussehen tut das ganze dann so
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

wie gesagt ich hab keine ahnung von der materie

ein kleines beispielt wie ich das in einen node s***** und in html dann bewältigen muss wäre der hammer
hab mit get by id usw herumversucht aber ich bekomm einfach nichts angezeigt

ok bekomme die daten jetzt andgezeigt als text bzw zahlen
aber bei kmh zeigt er mir jetzt an 13,0418612314 wie bekomme ich es hin das er mir nur die zahlen vor dem komma anzeigt

Geändert von kangool (08.04.20 um 15:53 Uhr)
kangool ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 Uhr.


Sitemap

().