Giando
Published

Ask Wolfram and Linino Answers!

Ask for something to your Android device and get an answer, Siri-style.

Full instructions provided1,345
Ask Wolfram and Linino Answers!

Things used in this project

Hardware components

Arduino Yun
Arduino Yun
×1
USB Sound Card
×1
Android Smartphone or Tablet
×1

Story

Read more

Code

code.txt

JSON
{
  "name": "AskWolframAnswerLinino",
  "version": "0.0.1",
  "description": "Ideino example project",
  "author": {
    "name": "Ideino Team"
  },
  "dependencies" :
  { 
    "xml-mapping" : "*"
  }
}

code.txt

JavaScript
var http = require("http");
var board = new require('ideino-linino-lib').Board();
var XMLMapping = require('xml-mapping');
var exec = require('child_process').exec,
    child;

var options = {
    host: 'api.wolframalpha.com',
    path: '/v2/query?appid=28KVLH-G77V492VRE&input=what%20time%20is%20it&format=plaintext'
};

var resp = '';

callback = function(response) {
    var str = '';
    response.on('data', function(chunk) {
        str += chunk;
    });
    response.on('end', function() {
        var json = XMLMapping.load(str);
        if (json.queryresult.success == 'true') {
            var r1 = json.queryresult.pod[0].subpod.plaintext.$t;
            var r2 = json.queryresult.pod[1].subpod.plaintext.$t
            resp = encodeURIComponent(r2.replace(/\)/g, '').replace(/\(/g, ''));
            resp = resp.substring(0, 100);
            console.log(json.queryresult.pod[1].subpod.plaintext.$t);
            child = exec('wget -q -U Mozilla -O output.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=' + resp + '"',

            function(error, stdout, stderr) {
                child = exec('madplay output.mp3', function(error, stdout, stderr) {});
            }

            );
            console.log('wget -q -U Mozilla -O output.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=' + resp + '"');
        }
    });
}

board.connect(function() {

    http.createServer(function(request, response) {
        response.writeHead(200, {
            "Content-Type": "text/plain"
        });
        response.write("Hello World");
        response.end();
        req = request.url.replace(/\+/g, " ");
        console.log('--' + req);

        options.path = '/v2/query?appid=28KVLH-G77V492VRE&input=' + encodeURIComponent(req.substring(1)) + '&format=plaintext';
        http.request(options, callback).end();


    }).listen(1337);
})

Credits

Giando
15 projects • 16 followers
Contact

Comments

Please log in or sign up to comment.