Whiskers – Scratch2 coded in Squeak- works on Pi
Just found https://scratch.mit.edu/discuss/topic/157672/?page=2#post-1574788 which is a Scratch 1.4 mod built to emulate Scratch 2 features 🙂
And since it is written in Squeak – the image works on the RaspberryPi as well 🙂
To use on the Pi download this from the new website, unzip it and save it into /home/pi folder
(need to use sudo for these commands)
sudo cp /home/pi/Whiskers.image /usr/share/scratch
sudo cp /usr/bin/scratch /usr/bin/whiskers
sudo nano /usr/bin/whiskers
and change line 9 to be
IMAGE=`ls -t /usr/share/scratch/Whiskers*.image| head -1` and save it (CTRL-X followed by Y then enter)
Then to run Whiskers type
sudo bash /usr/bin/whiskers
or create this file using the text editor in /home/pi/Desktop and call it whiskers.desktop
[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Exec=whiskers Icon=scratch Terminal=false Name=Whiskers Comment= Programming system and content development tool Categories=Application;Education;Development; MimeType=application/x-scratch-project
If you want to run ScratchGPIO with Whiskers then follow these isntructions supplied by Steve aka “@NoSheds” on twitter
You must already have Scratch GPIO7 installed. If you haven’t, then follow these instructions
Create a Whiskers GPIO desktop icon:
[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Exec=/opt/scratchgpio7/whisker
sgpio7.sh Icon=scratch Terminal=false Name=WhiskersGPIO 7 Comment= Programming system and content development tool Categories=Application;Educati on;Development; MimeType=application/x-scratch -project
Create a shell script to run ScratchGPIO with Whiskers. Simplest way to get the file permissions etc is just to copy the existing scratchgpio7.sh file
sudo cp /opt/scratchgpio7/scratchgpio7
.sh /opt/scratchgpio7/whiskersgpio 7.sh
then edit it with
sudo nano /opt/scratchgpio7/whiskersgpio
and change the last line from scratch to whiskers:
whiskers --document "/home/pi/Documents/Scratch Projects/rsc.sb" &
Contact me if this doesn’t work
Does this have access to the experimental HTTP extensions, or Python extensions, or none of them?
Python extensions seem possible (if you enable mesh by shift-clicking the file menu). HTTP extensions are currently not possible.
Also… If you like it after you try it out, you should leave a comment on my Scratch topic: https://scratch.mit.edu/discuss/topic/157672/
Its a Scratch 1.4 mod so it works with the 1.4 broadcast mechanism (as used by all my Scratch handlers) – tried it out with my ScratchGPIO handler and it works fine with that 🙂
I am using a Raspberry Pi 3 and have followed the above instructions. I get a blank black screen. I suspect it is something to do with the latest version of software or maybe I have something adrift.
I’ll retest on a new image
It worked for me using a fresh Raspbian 27May16 image (no updates appplied)
I’ll try the instructions on on a new image
Pretty certain the camera stuff won’t work though 🙁
Broadcast photo is mainly handled by sgh_RasPiCamera.py (all code is in /opt/scratchgpio7 folder – root access needed to edit so use sudo if playing
Most of the code is their to deal with scratchgpio running as root user and making sure photos go into a pi user folder – the taking of a picture is trivial 🙂
What is that your after as it might be quicker to just get me to do it?
Seem to have lost your comment – sorry!
it didn’t work for me – files have been changed since then – I’ve found new one and updated instructions – should work again now 🙂
Many thanks for your reply. Very helpful info and working now (although haven’t checked with ScratchGPIO yet) I’d actually thought broadcast photo was something contributed by Matthew but realised today that it was built in to scratch and your version just added file storage (I think that’s correct anyway).
Tried reloading everything before you replied to see if that would fix the problem and noticed that file storage no longer seems to work. The photo folder gets created but no images are stored….
Thanks again. At the moment just playing and learning so I don’t need any changes. (Actually I didn’t want the file stored so the built in suits me fine) Though that prompts a question… If I use ScratchGPIO for GPIO functions, how do I make sure the broadcast photo goes to the standard handler and not yours?
This is getting confusing – I presume we are not talking about Whiskers anymore?
The photo functionality in ScratchGPIO was provided by Matt Venn. I’ve no idea what NuScratch does (I don’t have ANYTHING to do with that for political reasons)
Is there an un-answered question left 🙂
Yes, just scratch, I haven’t got round to looking at whiskers yet although your installation instructions did work thanks.
Yes, the photo functionality provided by Matt. (That doesn’t seem to store photos anymore, just create the photo directory)
My question was, if I wanted to use the standard photo functionality in Scratch (not Matt’s) but use ScratchGPIO for GPIO functions, is that possible?
I never mentioned NuScratch! Sorry for the confusion!
2. So your saying it doesn’t store photos – I’ll check that out
3. “Standard photo” So Scratch 1.4 doesn’t take photos – ScratchGPIO (which is Scratch 1.4 with python handler) should take photso using Matts code – so where is what you call “standard photo functionality”?? This is REALLY confusing
4. NuScratch is name given to the modified Scratch 1.4 that is installed on a RaspberryPi
Confused? You will be – I blame them – they blame me 🙂
And there was me thinking this was going to be easy!
3. Just so I didn’t give you bad info….I Just did a fresh install from Raspian image directly. Ran Scratch 1.4 with a broadcast photo (after starting GPIO server from Edit tab) and it pulls a picture from my usb webcam and stores it as a new costume.
This is where I thought I was unconfused, as I thought Matt’s broadcast photo just added the storage of the costume picture to disk.
5. On a seperate issue I was expecting to see Scratch 2 functionality in Whiskers. I couldn’t find the video sensing block which I thought was a standard Scratch 2 function.
After reading further I think I understand 3! I had thought GPIO server was standard scratch but I guess it’s not and ScratchGPIO7 is a variant of the server?
I was confused as I thought I was running standard scratch on the pi as this is the title under ‘Programming’ and also the name of the window it runs in and in the ‘Help About’ while running NuScratch. Getting to grips with this I think!
Scratch couldn’t talk to hardware but it can send and recieve broadcast messages over LAN – and send variable updates as sensor-messages
So when Pi came out, PiFace peope wrote python prog to listen for broadcasts and send input dat back as sensor updates.
I took this code and made it work with plain pins without any addons – and “disguised” it so users only had to click on desktop icon to run normal Scratch 1.4 and my inivisible python background program that did the heavy lifting.
Only person that directly added code to my project was Matt who added the photo capturing bit
Due to reasons not worth going into, Raspberruy Pi commissioned someone different (than the 3 people who;d already done it) to have their own way of talking to GPIO – the modified version is generally reffered to as NuScratch to differentiate it from the standard Scratch 1.4 that runs on pi/Linux/Mac and Windows.
Sounds like there has been an ‘interesting’ history along the way. I’ve been looking at scratch/pi/gpio etc. as scratch is taught at my children’s school and it seems a good fit with the pi and open to talk with hardware . Seems a shame that Scratch is coming to an end, especially if that means the alternative may be less flexible and maybe not as alligned from an educational perspective. I would hope Scratch will have legs for a good while yet though, especially considering the resources that have gone into it.
Thanks again for your help, it’s all becoming mostly clear! Jarrod
Scratch isn’t coming to an end – its being actively developed into V3
Thanks for this. It’s an awesome mod, but there are a couple of bugs that will make it very hard for kids to use – hope you can help 🙂
When you click on costume the options for new costume from library, edit costume and upload file all generate error messages: MessageNotUnderstood:ScratchScriptEditorMorph for importimage, drawnewcostume and choosefromlibrary. Any ideas??
I’m not the author of this mod – I just really like the concept.
Try asking the author on the Scratch forums
I have installed Whiskers according to procedure described here, to get benefits from creating custom blocks. When I try to load project created in Scratch and ScratchGPIO 8, Whiskers crashes without error dialog. I am using Raspberry Pi 3 with Raspbian.
Could you help me to check and solve it?
Where can I find any log file? What should I provide you to have more information?
Hi – sorry – I haven’t done anything with Whiskers for a long time.
I’ve just re-started Whiskers again, working from the latest NuScratch image and was hoping you could check it out. It has full compatability with Scratch 2.0 now, is more stable, and runs more smoothly on the pi. The new website is here: https://infinitytec.github.io/Whiskers-Website/ and I’m hoping you could check it out again.
sent direct email response
(Basically works apart from keyboard issue)