I was very excited with the release of the Raspberry Pi 4, not just because I am a great fan of the Raspberry Pi and wanted to get my hands on the latest and greatest; but also because I have been teaching my Computer Science classes pretty much exclusively using the Raspberry Pi computer for the past few years.
I say “pretty much” because there had always been a few sticking points when we had to leave my RPi CS classroom and up sticks to the Windows PC lab. In the most part it was when we needed to do any graphics editing (in Photoshop) or anything that relied on using Google Drive and Docs heavily.
It was with great excitement that I saw the new Pi 4 with 4 Gb of RAM and full gigabit networking… However as network boot was not available out-of-the-box and the PiServer software was not yet updated to be used with Pi 4s and Raspbian Buster; there was a bit of work to do…
With great thanks to the devs over at the PiServer github page, I now have a working PiServer setup for use with Pi 4 devices! Set up instructions below 😀
Continue reading Pi 4, Buster and PiServer
We took the family away to Camp Bestival this summer (as we do most years) and as we have three young children we took a festival trolley with us to help move the youngest child and associated paraphernalia around with us. Each year we try to decorate the trolley a little bit to brighten it up and this year I thought I would use a 1 m strip of 144 NeoPixels I had at work which were sat around not being used!
Having used these in class before I knew that they were sometimes a tricky beast to get working with a Raspberry Pi, but also having recently completed a chapter in my book using a similar DotStar strip to create a LED matrix across the front of a laptop bag; I felt sure that I could get a portable solution up and running for the NeoPixels and a Raspberry Pi. Now this solution is perhaps more involved than how you could get things going in the lab; but to get it working for our festival trolley the whole solution needed to be portable and powered from battery packs.
Continue reading NeoPixels, DotStars and Raspberry Pi
This is the steps we have followed so that we can get our school Raspberry Pi computers to run behind our school proxy without too many issues:
- Configure an apt-cacher NG server to handle your apt-get updates – See this post for more details
- Whitelist the Python PIP domains and use the –proxy:server:port configuration when installing with PIP – See this post for more details
- Open UDP port 123 and TCP port 9418 for the IP range of your devices on the school firewall so that they can use GIT and NTP without issue
- Create a new desktop launcher for Chromium so that it auto-detects your school network proxy (this is assuming you are pushing your proxy servers .pac file out via DHCP and/or DNS!) – The guide for this part is detailed below…
Continue reading Using a Proxy with your Raspberry Pi
Whilst creating some lesson slides in Google recently I wanted to add some moving images to the slides. You can see an example of one the slides I am talking about embedded below. It is a session that I delivered with Dan Aldred at the ExaBytes17 conference about using the Raspberry Pi Sense Hat.
By using the Sense Hat Online Emulator over on Trinket, I could model what the program was going to do and then use a screen recording program to capture this back to an mp4 file. On my Windows PC at work I used the Snagit software to record my screen, but at home on my Ubuntu PC I used SimpleScreenRecorder.
Continue reading Creating Animated GIFs with GIMP
This question keeps coming up on various forums and on Twitter so I thought I would share how we install Python and the extra libraries we use across our school network. A recent discussion on Twitter between Chris Sharples and Laura caught my attention.
Chris was asking Laura for an MSI package version of her fantastic GUI Zero Python library.
So I offered to write up a blog post about how we install extra Python packages across our school network.
Now all school networks differ and, as they say, YMMV! But for what it’s worth here’s how we do it…
Continue reading Installing Python Libraries on a School Network
So I was lucky enough to be asked to come along to a second Picademy event, not something many people get to do unless they are facilitating the event…
It started a while back when James Robinson from Raspberry Pi put a production company working for Google in touch with me. They were keen to get some interviews and video footage to demonstrate the impact that their support for the Raspberry Pi Picademy training programme had generated. James suggested they speak to me and I was more than happy to oblige. So after many email exchanges and phone calls between myself and the production company a plan was formed to get the video footage Google wanted to tell the story!
Continue reading #Picademy take 2!
I was asked for our school’s latest INSET day to devise a half-hour session which I would repeat during the day for all teaching staff on the fairly loose topic of sharing good practice / sharing our classroom activities.
Now I was fairly sure that 30 minutes was not going to be long enough for me to introduce much interesting in the way of Computer Science or code for a group of teachers who had never experienced it before, so I began to think about what I could deliver.
My thoughts turned to some of the Computational Thinking lessons we do with our students as they are accessible and don’t require the use of a computer. The fact that I was going to deliver a session on sharing good practice from my teaching and that it would not involve any tech other than a projector (although it is a good one, you can visit BuyDLP.com to make sure) and presentation, would no doubt come as a shock to some of my colleagues!
Continue reading Computational Thinking for Educators
At our last Hull Raspberry Jam, one of our budding Python coders asked me how she could detect keyboard input in a Python script and perform different actions dependent upon which key was pressed.
We both did a bit of searching around and found a few sample pieces of code, but none of them quite did what we wanted. As we were leaving I said that I would research it a bit more, and if she had not found out how to do it before the next Hull Raspberry Jam, I would have some working code for her to use.
I don’t want to ruin the surprise about what her plan is, but needless to say, it will be a very cool project if she completes what she wants to do, more on that later!
Continue reading Detecting keyboard input in Python
Over the past couple of months I have been lucky enough to be invited by the Raspberry Pi Foundation to attend two of their events in London.
The first of these events took place on September 8th, on the terrace of the Houses of Parliament, to celebrate the sale of 10 million Raspberry Pi computers. The event was attending by a wide cross-section of the Raspberry Pi community and afforded me the opportunity to meet with many people who I had, until then, only had had the pleasure of working with on-line. This opportunity also introduced me to a wide range of other partners and people involved in the development and engineering of Britain’s best-selling computer to date.
The second event I was invited to attend was held on the 5th October; a reception at St James’s Palace hosted by the Raspberry Pi Foundation’s patron, the Duke of York. This event was a celebration of, and a “thank you” to, the many different people and organisations who support and make up the Raspberry Pi community. Again, this event gave me the opportunity to meet up again with many familiar faces and get to know a few new faces, too!
Continue reading The Pi, The Parliament and The Palace
Our Head of Physics today asked me if there was any code we could use that would demonstrate to his A-Level Physics students the way that digital images are represented by red, green and blue pixels with a value between 0 and 255. The reason is because of the introduction of a digital imaging unit within the new A-Level specification, and whilst this could be taught as pure theory he felt a working example to illustrate the point might help.
This got me thinking and after a bit of searching I found a Stack Overflow post which gave an example of retrieving a single pixel’s RGB value and printing it out.
This example makes use of the PIL python library, which unfortunately has not been updated for Python 3. However we can make use of the Pillow library in Python 3 to achieve the same thing!
The image I have used in the code is this one:
Continue reading Extract RGB Values from an Image