Running BrickPi from Google Coder


#1

Hi,
We are trying to get the BrickPi working from GoogleCoder because of it’s easy to use environment so that the users are abe to run Python code from the Google Coder, i.e, directly from the browser.

Right now we are trying to find a way for calling the Python or C functions directly for Javascript or Node.js.

We don’t want to port the whole library to JavaScript or any other language.

We have tried a Python-to-JavaScript compiler (Pyjaco) but that didn’t help much , now going to try out RPC using ZeroRPC(http://zerorpc.dotcloud.com/). Does anyone have experience in this kind of environment can anyone suggest if there is a better way to do this.


#2

I missed this one. Any progress? I would have though that the C interface was easier to embed. Someone must have figured out how to do a javascript/C binding by now.

I wish I could figure out what Google Coder really does. The “what is it page” says how to install it and run it. It doesn’t actually say what it is.


#3

Hey Zencuke, we haven’t made much progress on this. Instead, we’ve been working with Tufts on BlockyTalky (and they in turn have been working with Google Coder a bit). Their site is here: http://sites.tufts.edu/blockytalky/

Basically the big advantage of BlockyTalky and Google Coder is that it’s a quick and easy setup, and easily accessible from a remote computer. From our perspective it would be a way to program a BrickPi almost like it’s a LEGO Mindstorms brick: easily tethered.


#4

Thanks but you are just repeating what the Google Coder page says. You mention benefits but you don’t say what it is or does? My limited ADD brain understands these things better if you invert that; start by saying what it is and then talk about the advantages. Right now I know that some unknown thing called Google Coder has a quick and simple setup. I also know that it has something to do with writing web pages. Is it an editor? an IDE? a web server? a web framework? some shared code I can use?

I’m very interested in web interfaces to robots. I like the idea of using a smart phone as a controller for “things.”. I’m also an experienced developer and not afraid to write complex code but I find using the web quite intimidating mostly because it is very hard to do simple interactive stateful things. Writing software in html, js, css and whatever server software language you use for the backend and getting all these code fragments to work together is cumbersome to say the least. Especially if you try to add frameworks like jquery-mobile. Adding a web interface to a project seems to multiply the work by a factor of 4 or more. I can obviously learn it but I don’t want to make a career of it. I do have a day job.

Are you suggesting that Google Coder could help with this if someone could help by getting it to run python code? I’d be interesting in helping with any project aimed at making custom web interfaces to “things” easier to implement.

On the other hand I’m comfortable with writing code as text. Graphical tile based programming environments don’t solve anything for me. I guess I should look at BlockyTalky again now that it has some BrickPi integration. I originally rejected it because what I saw emphasized the graphical programming interface but the graphical programming environment seems to be an optional front end.


#5

Having limited knowledge about coder, I’ll probably just embarass myself.

The disadvantage we see with the Raspberry Pi as a robotics platform right now, especially for teaching, but in general with basic users, is that it can be painful to setup. If you look through our forums, you’ll see a lot of the questions aren’t really about the BrickPi itself, they’re just about how to get the wifi or ethernet setup. Google Coder uses Apple’s Bonjour services to make this super easy. You can see on their website, it’s a very simple setup. That would be the major advantage because it removes what’s turning out to be a high hurdle to getting started.

Next on the list: you can program your raspberry pi / robot through a browser. So no IDE to understand, and no major change in understanding how a compiler works (for C) or the other problems that come with learning a new language that are incidental or make getting started a challenge.

Finally, it has a beautiful interface. You’re still dealing with lines of code, but Google Coder has a really attractive way to present that, in your browser.


#6
Is it an editor? an IDE? a web server? a web framework? some shared code I can use?

Most of the above. It’s a setup: you download their image, you connect through Chrome (so minimal setup as mentioned above), and when you connect to it, the IDE is right there on your browser. You can switch between writing HTML, java, node.js in the browser. That code is then served up (so it works as a server).


#7

Noble goal. I wish you luck and will watch to see where I can contribute.

The most beautiful (simple, easy to use etc) programming interface I have seen is the processing/wiring/arduino IDE. Major compiling, downloading, rebooting, runtime library binding, serial configuration etc things happen behind the scene but the user just codes two functions, startup() and draw() or loop(), then clicks the go/run button. Hopefully Coder/BlockyTalky/whatever eventually approaches that intuitive simplicity in a web interface.

I share the interface problem, especially with wifi. I can connect the RPi with Ethernet but have never gotten wireless working in spite of the voluminous support available on RPi forums. Maybe my wifi dongle is defective. That is awkward because I had only one Ethernet cable in my work area. I can run the RPi or the desktop but not both at the same time. This meant I also needed to also switch the monitor/keyboard/mouse to talk to the RPi. I just acquired a WAP box which has a few Ethernet connections so I should be able to access the rPI and my desktop at the same time. If I can get VNC working I won’t need to switch the monitor etc. except for network setup and configuration.

With your new wifi tutorial maybe I’ll even get the wireless going, assuming I can translate the Windows-centric instructions into Macintosh-ese. :wink:


#8

I don’t know GoogleCoder, but if you need to call something from Javascript, you might try the Java BrickPi interface:

Java is (usually) directly callable from JavaScript.


#9

It’s a great point. Actually we’ve been experimenting with Adafruits WebIDE: http://learn.adafruit.com/webide/overview

Has anyone else had any experience getting that to work as well?