Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
http://forum.jswelt.de/node-js/63342-python-to-javascript-2.html#post404777Welches von dir?
du hast dein js mit meinem python getestet, jetzt sollst du mein js mit deinem python testendas von dir weiter oben funktioniert, habe ich doch probiert![]()
wenn die fest sein muss, musst du noch was zusätzlich einbauen, aber dazu muss die übermittlung der daten von python zu js erst mal laufendie 249 ist aber auch die Datenrate wie das ant+ übermittelt,
die vorgegebene zeit 249 ist bei js aber sowieso mehr ein wunsch als wirklichkeit, das dürfte unter node besser funktionieren als im browser, aber verlassen kannst du dich da nicht draufmeine Ausgabe macht das auch bei sampletime 0.249 also a 0.249 kommt auch eine Ausgabe.
var PythonShell = require('python-shell');
var pyshell = new PythonShell('7powerx.py');
pyshell.on('message', function (message) {
console.log(message);
});
pyshell.end(function (err) {
if (err) throw err;
console.log('finished');
});
function sleep(time, callback) {
var stop = new Date().getTime();
while(new Date().getTime() < stop + time) {
;
}
callback();
}
to be used as
sleep(1000, function() {
// executes after one second, and blocks the thread
});
welche sample time? das python script reagiert doch auf änderung an den gpios?Wenn ich die sample time auf 0.0 setzt in meinem python script rennt es durch, allerdings bricht dann der raspberry zusammen und ich muss den neu starten![]()
das ist js, das nutzt dir in python ja nichts. außerdem blockiert das die cpu.Kann ich hiermit was anfangen?
SAMPLE_TIME = 0.249
LEVEL = count
RPM = p.RPM()
RPM = (int(RPM+1))
time.sleep(SAMPLE_TIME)
print(calculate_power(LEVEL, RPM))
var pyshell = new PythonShell('7powerx.py',{scriptPath:"./", pythonOptions: ['-u']});
??? Ich denke es läuft?Da ich leider keinen Python Programmierer finde, muss ich das Projekt leider einstampfen.
npm install rpi-gpiovar SpeedMeter = function(pin, weighting, pulsesPerRev, timeOut)
{
var rpm = 0;
var timeAct = 0;
var timeOld = 0;
var timeDiff = 0;
var watchdog = null;
var gpio = require('rpi-gpio');
weighting = weighting || 0;
pulsesPerRev = pulsesPerRev || 1;
timeOut = timeOut || 1000;
gpio.on('change', function(channel, value)
{
if (channel == pin)
{
var timeAct = new Date();
if (watchdog)
{
clearTimeout(watchdog);
}
if (timeOld)
{
timeDiff *= weighting;
timeDiff += (1 - weighting) * (timeAct - timeOld);
rpm = 60000 / (timeDiff * pulsesPerRev);
}
timeOld = timeAct;
watchdog = setTimeout(function()
{
timeOld = 0;
rpm = 0;
}, timeOut);
}
});
gpio.setup(pin, gpio.DIR_IN, gpio.EDGE_RISING);
this.getSpeed = function()
{
return rpm;
};
};
module.exports.SpeedMeter = SpeedMeter;
var speedmeter = require('./SpeedMeter');
setInterval(function()
{
console.log(speedmeter.getSpeed());
}, 250);
TypeError: speedmeter.getSpeed is not a function
at Timeout._onTimeout (/home/pi/forumjs/test.js:4:26)
at ontimeout (timers.js:380:14)
at tryOnTimeout (timers.js:244:5)
at Timer.listOnTimeout (timers.js:214:5)
pi@carcam:~/forumjs $
du musst innerhalb von 1 sekunde mindestens einmal schliessen, sonst gehe ich davon aus, dass keine bewegung erfolgt, wenn das zum testen mit schalter zu kurz ist, ersetze malScript rennt los gibt 0 aus, auch bei mehrfachen schliessen des Kontaktes.
var speedmeter = new SpeedMeter.SpeedMeter(4);var speedmeter = new SpeedMeter.SpeedMeter(4, 1, 1, 10000);da wird doch 4 übergeben?!Habe dann mal pin in 4 umbenannt da es ja den GPIO 4 betrifft.
var speedmeter = new SpeedMeter.SpeedMeter(4);so wie es da steht, hast du das abgeschrieben? kopier es doch einfachMach ich das denn richtig, oder ist das egal ob da steht:
gpio.setup(pin, gpio.DIR_IN, gpio.EDGE_RISING);
GPIO.setup(4, GPIO.DIR_IN, GPIO.EDGE.RISING);
Wegen Groß und Kleinschreibung frage ich.
kann ich nicht so richtig was anfangen, will er damit sagen, dass man die pin nummer des pinheaders anstelle der gpio nummer angeben muss?Please note that there are two different and confusing ways to reference a channel; either using the Raspberry Pi or the BCM/SoC naming schema (sadly, neither of which match the physical pins!). This module supports both schemas, with Raspberry Pi being the default. Please see this page for more details.
var speedmeter = new SpeedMeter.SpeedMeter(4, 1, 1, 10000); bzw. var speedmeter = new SpeedMeter.SpeedMeter(4); nimm mal var speedmeter = new SpeedMeter.SpeedMeter(7, 1, 1, 10000); bzw. var speedmeter = new SpeedMeter.SpeedMeter(7); je nachdem welchen aufruf du gerade hast