- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I created a node js project into my Intel XDK. I use an Intel Edison and I want to use it as a web server.
I want to create an index.html page where there is a button and when the button is pressed it is launched a python script. I'm new on Edison and I have no idea to start with python on Edison.
Any help is appreciated.
Best regards.
Giuseppe
- Tags:
- Intel® Makers
- Python
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
not quite sure what you're seing. Following is running just fine from XDK and starting the python blink example (same as blink-io8.py but changed to io13 to have on board led blinking).
As mentioned, I use the relative paths as per below:
var pythonShell = require('python-shell');
pythonShell.run('../../usr/share/mraa/examples/python/blink-io13.py', function(err){
if (err) throw err;
console.log('finished');
});
Only drawback: Stopping the app from XDK wouldn't stop the python script running. But you'll find the python process running on your target
# ps | grep python
628 root 7384 S python ../../usr/share/mraa/examples/python/blink-io13.py
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi guys,
I am happy to announce that it has found a way to run the script python. I left python-shell and I installed another library: python-runner and it works in xdk.
My main.js is:
//Required
var mraa = require('mraa'); //require mraa
var Cylon = require ('cylon');//require cylon
var querystring = require('querystring');
var express = require('express');
var Python = require("python-runner");
var fs = require('fs');
/////////////////////////////////////////////////START//
//Set Public folder
var app = express();
var path = require('path');
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
res.sendFile(index.htm);
// res.sendFile(path.join(__dirname + '/index.htm'));
});
//Start Listening
var server = app.listen(5555, function(){
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', '192.168.0.139', port);
});
//Start dialog with index.html page
var io = require('socket.io').listen(server); // to dialog with the webpage
io.sockets.on('connection', function(socket){
//recieve client data with CYLON
socket.on('launch_on', function(){
Python.execScript(
__dirname + "/example.py",
{
bin: "python2",
args: [ "argument" ]
}
)
.then(function(data){
console.log(data);
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('ok');
})
.catch(function(err){
console.log("Error", err);
res.writeHead(500, {'Content-Type': 'text/plain'});
res.end('error');
});
});
});
console.log('-------------------------------------------------------------');
console.log('The express app is running');
console.log('-------------------------------------------------------------');
and my esample file is:
import numpy as np
print('Carma Carpooling')
print('Get there together')
a=np.array([1,2,3,4,5])
b=np.array([10,23,45,65,78])
print(a)
print(b)
print('somma di a e b')
data=a+b
print(data)
So, when I press the button in the browser in the xdk console I have:
Carma Carpooling
Get there together
[1 2 3 4 5]
[10 23 45 65 78]
somma di a e b
[11 25 48 69 83]
Error [ReferenceError: res is not defined]
I don't understand the error..but my next task is to send the data of python script (print, plot,...) to the browser.
Thanks.
Giuseppe.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »