Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Giando
Published

Ask Wolfram and Linino Answers!

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

Full instructions provided1,346
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.