Ergebnis 16 bis 30 von 114
Thema: Python to Javascript
-
03-05-2017, 14:04 #16
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
Oder geht das viel leichter?
Code:var PythonShell = require('python-shell'); var pyshell = new PythonShell('7powerTX.py'); pyshell.on('message', function (message) { // received a message sent from the Python script (a simple "print" statement) console.log(message); }); var power_meter = require('./power-meter'); var pm = new power_meter.PowerMeter(); function a() { var power_instant = message; // nur der Power Wert // var cadence = RPM={}".format(int(RPM+1)); pm.broadcast(power_instant/*, cadence*/); //cadence mal raus genommen. setTimeout(a, 249); } a();
Ich probier nachher mal
danke schon mal.
Geändert von Landix (03-05-2017 um 14:06 Uhr) Grund: Überschnitten
-
03-05-2017, 14:12 #17
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
AW: Python to Javascript
in der callback function
Code:function (message) { // received a message sent from the Python script (a simple "print" statement) console.log(message); }
da muss also das aus deiner funktion a rein
-
03-05-2017, 14:22 #18
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
Also für nur Power wäre das dann:
Code:var PythonShell = require('python-shell'); var pyshell = new PythonShell('7powerTX.py'); var power_meter = require('./power-meter'); var pm = new power_meter.PowerMeter(); pyshell.on('message', function (message) { // received a message sent from the Python script (a simple "print" statement) // console.log(message); var power_instant = message; pm.broadcast(power_instant); setTimeout(a, 249); }) message();
Geändert von Landix (03-05-2017 um 14:23 Uhr) Grund: Klammer vergessen
-
03-05-2017, 14:35 #19
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
AW: Python to Javascript
ohne setTimeout(a, 249);
du musst außerdem sicherstellen, dass in dem python script außer den werten nichts nach stdout ausgegeben wird
-
03-05-2017, 17:36 #20
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
Das bekomme ich hin. Danke.
- - - Aktualisiert - - -
nur noch ein Syntax Fehler:,
Code:pi@carcam:~/ant-cycling-power $ node test.js /home/pi/ant-cycling-power/test.js:13 message(); ^ ReferenceError: message is not defined at Object.<anonymous> (/home/pi/ant-cycling-power/test.js:13:1) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:393:7) at startup (bootstrap_node.js:150:9) at bootstrap_node.js:508:3
Code:var PythonShell = require('python-shell'); var pyshell = new PythonShell('8powerx.py'); var power_meter = require('./power-meter'); var pm = new power_meter.PowerMeter(); pyshell.on('message', function (message) { // received a message sent from the Python script (a simple "print" statement) // console.log(message); var power_instant = message; pm.broadcast(power_instant); }) message();
-
03-05-2017, 18:05 #21
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
-
03-05-2017, 18:09 #22
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
Ich bekomme leider kein broadcast:
Code:pi@carcam:~/ant-cycling-power $ node test.js startup Max channels: 8 cycling power meter initialized *jetzt sollten eigentlich die Werte übertragen werden kommt aber nix
Code:var Ant = require('ant-plus'); var PowerMeter = function() { var stick = new Ant.GarminStick3; var channel = 1; if (!stick.is_present()) { stick = new Ant.GarminStick2; } stick.on('startup', function () { console.log('startup'); console.log('Max channels:', stick.maxChannels); // 0xCAFFEDOOD var deviceId = 0xBEEF; stick.write(Ant.Messages.assignChannel(channel, 'transmit')); // The device type shall be set to 11 (0x0B) when searching to pair to an ANT+ bike power sensor // The transmitting sensor contains a 16-bit number that uniquely identifies its // transmissions. Set the Device Number parameter to zero to allow wildcard // matching. Once the device number is learned, the receiving device should // remember the number for future searches. // Device number set to 1 here stick.write(Ant.Messages.setDevice(channel, deviceId, 11, 1)); // RF Channel 57 (2457 MHz) is used for the ANT+ bike power sensor. stick.write(Ant.Messages.setFrequency(channel, 57)); // Channel period Data is transmitted from most bike power sensors every 8182/32768 seconds // (approximately 4.00 Hz). This channel period shall be used by default. stick.write(Ant.Messages.setPeriod(channel, 8182)); stick.write(Ant.Messages.openChannel(channel)); console.log('cycling power meter initialized'); }); stick.on('shutdown', function () { console.log('ANT+ shutdown'); }); if (!stick.open()) { console.log('ANT+ USB stick not found!'); } this.stick = stick; this.channel = channel; this.power_event_count = 0; this.power_accumulated = 0; }; PowerMeter.prototype.broadcast = function(power, cadence) { if (!this.stick.is_present()) { return; } var data = []; data.push(this.channel); data.push(0x10); // power only this.power_event_count++; this.power_event_count = this.power_event_count % 255; // rollover 255 data.push(this.power_event_count); data.push(0xFF); // pedal power not-used data.push(cadence); // cadence this.power_accumulated += power; this.power_accumulated = this.power_accumulated % 65536; console.log("Event: %s \t Power: %sw \t Cadence: %srpm", this.power_event_count, power, cadence); data = data.concat(Ant.Messages.intToLEHexArray(this.power_accumulated, 2)); data = data.concat(Ant.Messages.intToLEHexArray(power, 2)); this.stick.write(Ant.Messages.buildMessage(data, 0x4E)); //ANT_BROADCAST_DATA }; module.exports.PowerMeter = PowerMeter;
Mein PythonScript alleine macht diese Ausgabe:Code:pi@carcam:~/ant-cycling-power $ ./8powerx.py 0 0 0 0 0 0 0 117 145
Code:Event: 1 Power: 0w Cadence: undefinedrpm Event: 2 Power: 0w Cadence: undefinedrpm startup Max channels: 8 cycling power meter initialized Event: 3 Power: 0w Cadence: undefinedrpm Event: 4 Power: 0w Cadence: undefinedrpm Event: 5 Power: 145w Cadence: undefinedrpm Event: 6 Power: 117w Cadence: undefinedrpm
Geändert von Landix (03-05-2017 um 19:52 Uhr)
-
03-05-2017, 20:45 #23
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
AW: Python to Javascript
lass das console.log(message) mal drinn
und füge den end-eventhandler hinzu, der wird bei fehler oder wenn das pythonscript endet aufgerufen
Code:// end the input stream and allow the process to exit shell.end(function (err) { if (err) throw err; console.log('finished'); });
-
03-05-2017, 21:51 #24
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
Leider keine Veränderung:
Code:^Cpi@carcam:~/ant-cycling-power $ sudo node test.js startup Max channels: 8 cycling power meter initialized
Code:var PythonShell = require('python-shell'); var pyshell = new PythonShell('8powerx.py'); var power_meter = require('./power-meter'); var pm = new power_meter.PowerMeter(); pyshell.on('message', function (message) { // received a message sent from the Python script (a simple "print" statement) console.log(message); var power_instant = message; pm.broadcast(power_instant); // end the input stream and allow the process to exit }); // end the input stream and allow the process to exit pyshell.end(function (err) { if (err) throw err; console.log('finished'); });
-
04-05-2017, 07:34 #25
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
-
04-05-2017, 07:53 #26
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
ja das kommt vom
Code:var power_meter = require('./power-meter');
Code:var Ant = require('ant-plus'); var PowerMeter = function() { var stick = new Ant.GarminStick3; var channel = 1; if (!stick.is_present()) { stick = new Ant.GarminStick2; } stick.on('startup', function () { console.log('startup'); console.log('Max channels:', stick.maxChannels); // 0xCAFFEDOOD var deviceId = 0xBEEF; stick.write(Ant.Messages.assignChannel(channel, 'transmit')); // The device type shall be set to 11 (0x0B) when searching to pair to an ANT+ bike power sensor // The transmitting sensor contains a 16-bit number that uniquely identifies its // transmissions. Set the Device Number parameter to zero to allow wildcard // matching. Once the device number is learned, the receiving device should // remember the number for future searches. // Device number set to 1 here stick.write(Ant.Messages.setDevice(channel, deviceId, 11, 1)); // RF Channel 57 (2457 MHz) is used for the ANT+ bike power sensor. stick.write(Ant.Messages.setFrequency(channel, 57)); // Channel period Data is transmitted from most bike power sensors every 8182/32768 seconds // (approximately 4.00 Hz). This channel period shall be used by default. stick.write(Ant.Messages.setPeriod(channel, 8182)); stick.write(Ant.Messages.openChannel(channel)); console.log('cycling power meter initialized'); }); stick.on('shutdown', function () { console.log('ANT+ shutdown'); }); if (!stick.open()) { console.log('ANT+ USB stick not found!'); } this.stick = stick; this.channel = channel; this.power_event_count = 0; this.power_accumulated = 0; }; PowerMeter.prototype.broadcast = function(power, cadence) { if (!this.stick.is_present()) { return; } var data = []; data.push(this.channel); data.push(0x10); // power only this.power_event_count++; this.power_event_count = this.power_event_count % 255; // rollover 255 data.push(this.power_event_count); data.push(0xFF); // pedal power not-used data.push(cadence); // cadence this.power_accumulated += power; this.power_accumulated = this.power_accumulated % 65536; console.log("Event: %s \t Power: %sw \t Cadence: %srpm", this.power_event_count, power, cadence); data = data.concat(Ant.Messages.intToLEHexArray(this.power_accumulated, 2)); data = data.concat(Ant.Messages.intToLEHexArray(power, 2)); this.stick.write(Ant.Messages.buildMessage(data, 0x4E)); //ANT_BROADCAST_DATA }; module.exports.PowerMeter = PowerMeter;
-
04-05-2017, 08:34 #27
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
AW: Python to Javascript
ok, mach mal folgendes. leg
test.py
Code:print "test"
Code:var PythonShell = require('python-shell'); var pyshell = new PythonShell('test.py'); pyshell.on('message', function (message) { console.log(message); }); pyshell.end(function (err) { if (err) throw err; console.log('finished'); });
ruf dortnpm install python-shell
auf
und dannnode test.js
die ausgabe sollte so aussehen
Code:test finished
-
04-05-2017, 08:41 #28
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
Kann ich leider erst zu Hause machen, bin nun auf der Arbeit.
Code:"npm install python-shell" habe ich aber schon.
ich mach das auch immer mit "sudo" da mein Raspberry eh hinter ner NAT liegt. Also:
Code:sudo npm install python-shell
-
04-05-2017, 08:52 #29
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
-
04-05-2017, 08:57 #30
Eroberer
- registriert
- 03-05-2017
- Beiträge
- 59
AW: Python to Javascript
KK dan probier ich nachher erstmal aus und melde mich zurück
Danke für deine Hilfe.
Ähnliche Themen
-
(Junior) Backend Developer: Ruby / Python / PHP / JavaScript
Von campusjaeger im Forum JobsAntworten: 0Letzter Beitrag: 10-12-2016, 09:56 -
(Junior) Backend Developer: Ruby / Python / PHP / JavaScript
Von campusjaeger im Forum JobsAntworten: 0Letzter Beitrag: 07-09-2016, 12:38 -
Python-Variable in Javascript verwenden
Von siggi1147 im Forum JavaScriptAntworten: 2Letzter Beitrag: 24-04-2008, 18:34 -
[Python]Was ist das?
Von Kriegr im Forum Serverseitige ProgrammierungAntworten: 2Letzter Beitrag: 20-05-2003, 16:11 -
python website
Von python im Forum Site-CheckAntworten: 7Letzter Beitrag: 14-02-2003, 16:30
Lesezeichen