User avatar
MsG
Posts: 3
Joined: Sun Apr 06, 2014 9:26 pm
Location: Texas

Re: Scratch to hardware API: call for discussions

Sun Apr 06, 2014 11:07 pm

simplesi wrote:
I, like many schools, have already invested in Wedo.
...
The Lego Wedo kit is lovely but like all technical Lego, is expensive. ...
I'd love to have it in my schools due to its ease of assembly and familiarity but not at current price levels
Simon
I'm here to speak in favor of LEGO WeDo + Scratch, for the following reasons:
  • Schools and donors are willing to invest in LEGO products, for the same reasons they keep buying Apple products.
  • The LEGO WeDo sets have curriculum that works well to introduce programming & robotics to really young kids in a fun & user-friendly way. And a growing fan community is producing additional projects, activities, and curricula.
  • LEGO WeDo sets are fairly durable & kid-proof. Many students (due to age, disability, poverty, etc) are NOT very good at handling delicate stuff. As educators, we need to be able to trust that most of our students can handle the materials without losing and breaking things. As a middle-school teacher in a high-poverty area, I have found that the LEGO WeDo sets serve this role (although I still train students on proper care). With experience with the WeDo sets, students may grow to be ready for the complexity of pieces/mechanics/programming of the Mindstorms sets, and eventually perhaps ready to handle tiny, delicate electronics such as LEDs and breadboards.
  • Scratch + WeDo is an easy next step that more teachers/parents/kids will make as long as it continues to be user-friendly and work reliably. Therein lies the rub...
I have had a pretty easy time getting WeDo systems running in my classroom (and using them with kids who have little experience with either LEGO or computers). And it's been fairly easy to add Scratch + WeDo as extensions for the kids that want to go further. All this has been true on Windows computers.

I also happily found that Scratch+WeDo just worked on first try on my recently-acquired Raspberry Pi (in Raspbian Linux). I only have one at the moment, to try it out.

What's making me sad right now is that Scratch is NOT working with WeDo on the Ubermix (Ubuntu Linux) distro that I just installed on some old Dell laptops (which I have several of). And I'm not finding much documentation/support to help. So, I'm currently on a rampage of searching & posting to forums (which is how I ended up here).

So here is my plea to please continue to promote & support the use of WeDo as at least one of the I/O extension options on Scratch!
~ Ms. G
STEM / CTE Teacher
Middle School
Texas

timrowledge
Posts: 1273
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Scratch to hardware API: call for discussions

Mon Apr 07, 2014 7:14 pm

The real hope is to support pretty much everything we can possibly manage to deal with. And to provide a clean interface for adding new support. So, yes, WeDo should stay a good option for Scratching. I guess that means I should get some to use for testing & support....
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1273
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Scratch to hardware API: call for discussions

Sun May 11, 2014 5:34 pm

Sorry we've let this drift for a while; I've been very busy getting a beta release ready and now I'm working hard on the (hopefully) much faster VM.

I *do* now have a pile of Pi hardware add-ons on my desk, so I hope to get some time to play with them soon. Good news from other people doing Squeak-Pi things is that we now have a working foreign function interface for Raspbian, so it will be possible to talk directly from Squeak/Scratch to any library that supports, well, anything, really.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

simplesi
Posts: 2327
Joined: Fri Feb 24, 2012 6:19 pm
Location: Euxton, Lancashire, UK
Contact: Website

Re: Scratch to hardware API: call for discussions

Sun May 11, 2014 6:22 pm

Good news from other people doing Squeak-Pi things is that we now have a working foreign function interface for Raspbian
Who's doing that?

Simon
Seeking help with Scratch and I/O stuff for Primary age children
http://cymplecy.wordpress.com/ @cymplecy on twitter

timrowledge
Posts: 1273
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Scratch to hardware API: call for discussions

Mon May 12, 2014 4:54 pm

[quote="simplesi"Who's doing that?[/quote]

A nice chap named Doug McPherson, who has also got the FFI working on a BBB. It's not a huge job since the framework is well thought out, but there are ARM thunks to develop and mostly, test, test, test. IIRC the calls out can even be non-blocking if the OS supports such. And you can do callbacks too.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

User avatar
williamhbell
Posts: 291
Joined: Mon Dec 26, 2011 5:13 pm
Contact: Website Twitter

Re: Scratch to hardware API: call for discussions

Wed May 21, 2014 2:56 pm

DougieLawson wrote:
timrowledge wrote:
simplesi wrote:Just a bit of info picked up at the Jamboree - a foundation developer has suggested making a background running C++ daemon to monitor if Scratch is running or not -and if it is - then handle any requests from Scratch to communicate to the GPIO pins.
Can't see any reason a daemon would be needed; just fire up the whatever when Scratch is started. A trivial change to the shell script would handle it.
The GPIO pins need root access. Your average scratch user doesn't need or desire that level of complexity. Running a daemon (with root privileges) that can act for a non-privileged user is bound to make life easier for everyone.
Interfaces such as SPI and UART can be accessed by non-root users. It appears that basic GPIO is the problem. Why not just build C executables that are owned by ROOT with the appropriate permissions? Then the C code could be run as a separate process owned by root and the Python calling it could run as a non-root used. Perhaps some low-level pseudo-device hacks can be user instead?

On the subject of the daemon, there is no need to write it in C++ since the bottleneck is the Scratch sensor/message parsing. Python can easily overwhelm the ~2Hz limit of the current version of Scratch.

Return to “Scratch”