Go Down

Topic: Is it possible to run a .lua file, or a .jar file? (Read 3022 times) previous topic - next topic

nate890

Jul 26, 2012, 01:06 am Last Edit: Jul 26, 2012, 08:19 am by nate890 Reason: 1
Is it possible to run a file, .Lua, .Jar, .py, etc? If so, how can this be achieved?

WizenedEE


nate890

Dang... If I were able to run a .Lua I would be able to interact with the computer and play .mp3s and such.

WizenedEE

You can interact with your computer by sending serial commands, and writing a program that runs on the computer to listen to them and do stuff. The arduino doesn't have a lua interpreter, a python interpreter, or a JRE on it, though, and probably doesn't have enough resources to run one.

nate890

How would I send a serial command from arduino?

Docedison

By defining a serial port with SoftwareSerial and sending the data...  (RTFM... Read That Fine Manual)!

Doc
--> WA7EMS <--
"The solution of every problem is another problem." -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

WizenedEE


By defining a serial port with SoftwareSerial and sending the data


Er.. no... the hardware serial port will work fine.

The DigitalReadSerial example shows how to read a switch and then write to the serial port.

If you're new to things, I've heard gobetweeno lets your arduino run programs on your computer. Try checking that out. I've never used it, though.

nate890

I've tried gobetwino, doesn't work with windows 7..

Also, I saw a tutorial on youtube by Jeremy Blum about serial communication, and he did it using the language processor, and he said that you can interact with your computer from arduino using any programming language... Now, that being said it should be possible with Lua, so how can this be done with Lua?

The Clever Monkey


I've tried gobetwino, doesn't work with windows 7..

Also, I saw a tutorial on youtube by Jeremy Blum about serial communication, and he did it using the language processor, and he said that you can interact with your computer from arduino using any programming language... Now, that being said it should be possible with Lua, so how can this be done with Lua?


Many different ways. This is the whole reason for "Processing". If you want to do a mini Processing in Lua, start writing code. Write a Lua app that listens on a connection. When it gets something, it gets that something, parses it in some manner and then acts on the stuff it parses out.

Your question is infinitely general. You will get better results trying stuff out.  Get the Arduino logging to a Java or Lua app that simply reports changes when you hit a button or something. Then build on that.
I yield() for co-routines.

nate890

>.<.
Let's say there is a .Lua file, named open.lua, with the following code:
os.execute([[start "" "C:\\Users\\User\\Documents\\Song.mp3"]])
When that code is ran, a .mp3 file, named "Song" will play.

And this is why I was asking if it was possible to RUN A .LUA FILE from ARDUINO, not make a .Lua file detect when I want code to run (which would be super hacky, and it being Lua, I don't even think this would be possible (what above suggested)) Which is why "Write a Lua app that listens on a connection. When it gets something, it gets that something, parses it in some manner and then acts on the stuff it parses out." is more easily said than done.

WizenedEE

An arduino can not automagically do anything on your computer except fill up its serial buffer. Something has to be written to read that serial buffer and do something with the contents. Lua can read the serial port, so one script is all you technically need.

nate890

Also, "When it gets something", when it gets what? There is no way, with Arduino (that I know of so far) that would allow me to send something that would be detectable. For instance, if Arduino was able to create a file, I could loop until a file is detected then execute code. But then again, Arduino can't do this.

What should be done on the Arduino team's part is to create a function that can interact with your computer (as simple as os.execute(), or system() (in C), instead of inefficiently having to do it through other programming languages.

nate890

"Lua can read the serial port, so one script is all you technically need."
Do you know how this would be done? No need for code, just an explanation. Thanks.

WizenedEE


What should be done on the Arduino team's part is to create a function that can interact with your computer (as simple as os.execute(), or system() (in C), instead of inefficiently having to do it through other programming languages.


An arduino can ONLY send serial data to the computer, and nothing in the arduino's software can change that.

You could write something similar to bash that reads from the serial port rather than a keyboard, which would be a generic handler.

Quote

"Lua can read the serial port, so one script is all you technically need."
Do you know how this would be done? No need for code, just an explanation. Thanks.

Nope, never programmed in lua. Have you googled it?

nate890

"Nope, never programmed in lua. Have you googled it?"
Not yet, gotta go out, will when I get back.

Go Up