We’ve released another version of the WebIDE to the world. If you’re already running 0.2.0, it should appear as an update.
This release has a couple of major new features. The first one is a change to the workflow of the editor. In previous releases, when you would click ‘Run’, the terminal would pop up as an overlay over your code. You would see the results, and then close the terminal to make more changes. This would continue on until your mouse button broke.
The new workflow is the following. You open your file, make a change, and then click ‘Run’. The terminal slides up from the bottom, and is displayed inline with your code, instead of as an overlay. The focus remains on the editor, so you can easily make another change, and hit run again. Another new feature to the workflow, is that when the editor is focused, you can type “Ctrl-Enter”, or “Command-Enter” (OS X), and it will execute your code.
This should make for a more enjoyable, and faster experience. There will likely be bugs, and edge cases, but if you report them, we’ll fix them as soon as possible.
Another major feature to the editor is an implementation of a scheduler. Before I go into too many details, I’ll explain a scenario that you may want to use it. Rather than running a script in a loop, consuming valuable resources, you could have it run, and then exit. Then, you would schedule it to run however often you would like, down to the minute. Let’s say you would like to monitor the humidity using your Pi over an indeterminate time period, at a rate of ‘every 10 minutes’. You could follow that tutorial, and modify the python script to remove the ‘while(True):’ loop (and the time.sleep), and just let the scheduler run it instead.
The scheduler is using an open source module to parse text of time ranges (and execute jobs!), similar to how you would think in terms of cron. We’ve included some examples to work from, and will add more over time. For example, you could write “after 1 hour”, and that would continuously run on the hour. Or, you could write “on tuesday at 11:00 am”, and your script would run at that time each week. It’s pretty flexible, but there are a few gotchas at this point (for example, “every 1 hour” doesn’t work right yet, but “every 1 hour on the first minute” does work). Your scheduled jobs are persisted in redis, and are re-initialized when you restart your Raspberry Pi, or the server.
We’ve also fixed a few more issues along the way, and you can now permanently set a port other than 80 either in the /config page, or by using the redis console manually.
Our goal is to keep the editor as clean and simple to use as possible, primarily with the Python language at this point. Most of our new features will likely focus in that direction as we have limited resources. If you do think we’re missing something critical to developing with python on the Pi, or something is bugging you, please let us know. Thank you all again for your feedback!
Also, follow this link to the GitHub repository for the project.
Each Friday is PiDay here at Adafruit, be sure to check out our posts, tutorials and new Raspberry Pi related products. Have you tried the new “Adafruit Raspberry Pi Educational Linux Distro” ? It’s our tweaked distribution for teaching electronics using the Raspberry Pi. But wait, there’s more! Try our new Raspberry Pi WebIDE! The easiest way to learn programming on a Raspberry Pi.
Want a FREE RASPBERRY PI? All orders over $350 get a FREE Raspberry Pi Model B with 512MB RAM!
Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.
Join us every Wednesday night at 8pm ET for Ask an Engineer!
Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground” – Adafruit’s Apps!
Maker Business — SoftBank Invests $300 Million in WeWork
Wearables — Foam feathers
Electronics — Have the need for speed? This diode might be right for you
Biohacking — Daptly to Release a Commercial Smart Mirror
No comments yet.
Sorry, the comment form is closed at this time.