Cornwall’s First Tecademy

Standard

Last November (2015) I was lucky enough to attend Picademy  in Birmingham, it was brilliant. It’s really designed to help teachers build their confidence in using the Raspberry Pi, showing off how to use GPIO, minecraft and PiCameras. I wasn’t sure if my background in software development would mean I didn’t get much from it, but I was wrong.  I learnt so much, having the time to try things out, with experts on hand to guide me when I got stuck, not to mention the buzz and excitement from interacting with others and talking about the possibilities that the Pi presents.

So by the time I left Picademy I had set myself a challenge, How do I bring this to Cornwall?  I tried lots of things, talking to Google (They provide funding and a location – Google Garage), but they only go to places where there is sufficient urbanisation (or something), nevermind that Cornwall is the experiencing the second highest growth across the UK in the Digital Sector, we don’t have enough people :(, talking with Raspberry Pi about trying to fund it ourselves, but it wasn’t feasible, with the problems we have trying to get teachers together the money wouldn’t be justified.  I was coming to a dead-end.

Then it happened.  Steve Amor popped up and said “lets just run our own”. And so it came to pass…..tecademy was born.  We really wanted give attendees an experience that was similar to Piacademy.  The Software Cornwall marketing engine went into overdrive and we started the campaign to get a group of teachers together, we sent out emails, letters with hand-written envelopes, posters, tweets, facebook posts and mentioned it to anybody that would listen!

When the big weekend happened on 21st and 22nd May we had 8 eager secondary school teachers turn up ready for our Cornish slant on Picademy.  We would loved to have more attend and had nearly as many mentors as attendees, but we were determined to run the first one and get the word out there that this was a course worth doing.

IMG_1812

We took the attendees through a two day programme covering:

  • Scrum Tennis (Works as a great tech based ice-breaker)
  • GPIO and LEDs (Traffic Lights)
  • Computing resources and the Barefoot programme
  • Minecraft
  • Sonic Pi
  • Controlling Motors (GPIO Zero and H-Bridges)
  • PiCameras

And that was just day 1! Check out the time lapse (great work Ben Whorwood)

Day2 was just as action packed

  • Robocode
  • Microbit with Python
  • Project
  • Demos and Certificates

Attendees of Picademy will see how similar an experience we tried to create, and I think we just about did it!

The final projects were outstanding, elements from across the weekend were brought together to make speed detectors, motion sensors linked to cameras, microbit driven push notifications to email and (my favourite!) a class room noise sensor with visible warnings.

IMG_2189 IMG_2160

And our first set of Cornish Certified Tech Educators had their awards conferred up them!

IMG_2253

The success of the weekend was confirmed and sense of achievement enhanced with some great feedback.

I think it was run very well and everything was well planned, timed and resourced. It was the best training I have ever attended – you put my teacher training to shame! Very well done.

 

Really good – interesting to be the learner again. Intense, exhausting but definitely fun.

Thank to everybody that helped make it happen,

  • Steve for the idea and drive,
  • Bluefruit Software for providing a venue,
  • Belinda and Lyssa at Software Cornwall for all the behind the scenes marketing, admin and support,
  • PiTop for the loan of PiTops with Pi3s
  • all of the mentors for volunteering and supporting the teachers
  • and finally the teachers themselves for giving up a weekend and getting so involved.

When is the next one Steve?

Eden of Things – Day 4

Standard

Smokin’

Two of our mentors were away today leaving me with the Senors team instead of Byran – what could possibly go wrong – with Andy and Pete working with the UI team.

So most of my notes today are from the sensor team.  The keen started eagerly, getting a Kanban board produced for the days efforts was tricky as Byran had left them with a plan, they had had a night to think about it and were desperate to get on and get some sensors in operation. They weren’t the only team, everybody was fired up, wanting to get on and make more progress as soon as possible.

The UI team now had data in the right shape from the server team and the server team had a data model which allowed them to start working on a data schema for persisting the data.

The sensors team had a busy day ahead of making and coding.  So far they had two sensors, light and temperature via a PCF8591 module but hadn’t managed to send data to the server team yet due to api end points not being ready. It didn’t take long and the had confirmed that data was being sent.

Meanwhile, the other half of the sensor team continued work on making up a sensor station with a prototyping board. After lots of checking, double checking, bending a few header pins due to clearance and a spot of resoldering after it became clear that two male connectors won’t connect.

20160218_110328

Finally, the team had a sensor station with no need for any wires, powered by a small LIPO battery, the first version only had two sensors, but was ready to deploy!  A jubilant team was joined by Emo from the server team to ensure that when placed the sensor station was sending data back to the server. We had hoped to get to the top platform in the tropical biome, but with so many visitors, the staff were being kept busy and we could get up there, so had to settle for leaving the station on the highest point of the footpath.

20160218_124442

A spot of lunch and it was all hands on deck trying to add more sensors and making additional stations.  By mid-afternoon the team had attached a further 3 sensors and smoked our first components!

20160218_141010

Chris’s carefully hand work had one small flaw, once it had been spotted and the voltage regulator and power cables replaced we were close to having completed a second station.  The afternoon disappear with further board modifications to accept additional sensors and a spot of coding refactoring to make the code look beautiful – well acceptable when Byran looks tomorrow to see what I’ve been letting the team get away with.

We ended the date – late – by attempting to deploy to sensor stations into the tropical biome, as we walked across we realised that the code on one of the stations wasn’t working, in fact it wasn’t there, the ESP was acting as an Access Point, it’s default behavior rather that the teams code.  So by the end of the day, we were able to deploy one station over night.

The server team had a similarly busy day, providing diagnostic tools for the sensor team, working on an admin UI and getting very close to persisting the data.

The UI team have improved the look of their first screen and began work on a second screen to indicate where the sensors were deployed and consider how to show trend data.

It’s been another amazing day, can’t believe that we have to draw it to a close tomorrow.

Eden of Things – Day 3

Standard

Hot Stuff

It’s really starting to take shape today, code has been deployed to production servers, site surveys completed and sensor boards soldered.

Networking started to present an issue at the end of yesterday and this morning.  Whilst we could connect to the free wifi using the ESP8266 in the biomes and similarly connect the server in the project room, but there was no guarantee that the devices would be able to see each other, plus we didn’t have a static IP for the servers, we could see a whole morning being lost. Rather than waste time trying it investigating it, fault finding, confirming the problem and trying to find and work with the network team, we choose to get a hosted server on the internet.  This solution would mean it didn’t matter which network a device was on, as long as it could get to the internet it could report data.  10 mins later and we had two servers costing a whole $10 from DigitalOcean.  The added bonus was the teams got to practice building a server again and got to experience using a cloud hosted server, something they hadn’t done before. We’re not quite ready to share our great work yet, we’ll share the IP addresses of the servers later this week.

Meanwhile, the UI team finished converting static html to be dynamically generated in Javascript based upon data being ajax called in from the Core server.  More protocols to learn about, the default action of modern browsers is not to permit cross domain/server ajax calls, so a quick lesson on Cross Origin Resource Sharing(CORS) and a tweak of an .htaccess file and the team were pulling data from the server.  We debated whether we should be calling the data from the UI server as a proxy which loads it from the data server, this would overcome the CORS issue.  We decided for speed (not having to write more code on the UI server) we would go for the CORS route, it also meant that longer term, our API server could be used by others directly in the browser.

20160217_154708

By the end of the day we had live data being updated on the webpage and setup a second TV outside of our base room with a Rapberry PI displaying the teams work to visitors – the teams work is on display to the paying public!

The team started with a quick retrospective, a short lesson on Kanban and they created a plan for the day. Once the server team had setup a new server in the cloud, they were able to get back to coding up the APIs, UI and Data logging.

20160217_121631

Just in the nick of time at the end of the data the data logging endpoint was created ready for the sensors team to send data across the network to them.

Having provide that the team could read the input from a light sensor, the sensors team had a fun day of site surveys, coding and building. The first challenge was making the ESP8266 mobile by adding a voltage regulator and connecting it up to a LIPO battery.  A trip around the biomes and a hot and sweaty team came back confirming we could get connection! With Risk Assessments logged, Hot Works Forms submitted and smoke sensors deactivated, the soldering started. The team designed a generic board that could accept different combinations of sensors.

20160217_142857

All was going well until it came to sloting in the ESP8266 and the sensors, only then did it become apparent the the ESP8266 format meant it covered the pins for the sensors – doh!  We’ll work around for the first sensor, but version 2 of the board will be slightly modified!

20160217_154634

It’s been another great day, watching the teams interact with eachother, setup ad-hoc meetings and work out solutions to interaction problems. Feedback from the teams has been great, with one member even staying up all night learning watching arduino videos!

We’re hoping for sensors deployed into the Biome by tomorrow lunch……. (although we’re losing our key embedded software specialist and the team have got me and Pete to help get them live, eek!)

 

Eden of Things – Day 2

Standard

Making good progress

First task of the day was swapping out the Raspberry Pis from the sensors team and replacing them with x86 based machines. The compiler for the ESP8266 is x86 based and there is no Arm-based version that we could find, we could have rebuilt it, but it was more effort than pulling apart my office and bringing in my home computer and a spare that was being built as a Pi-Net server.

So we didn’t quite fit everything we wanted to into day 1.  It was really important that the teams had a chance to play with the technology and try a bit of coding, that meant we dropped on session on understanding source control using Git.  What better way to start a Tuesday than with a deep dive into source control, commits, merges, branches and detached heads. That is once we got started, we were slightly late today, as day 2 on the job and some of the teams rocked up late.

Once everybody was completely lost with git terminology, me included, the teams got into their respective tasks under the guidance of their mentors, Byran on Sensors, Ben on Core Systems and Paul on User Interface.  The teams had a steep learning curve, with most members having never experienced C, arduino, ESP8266, php, javascript, jquery, REST, etc, etc.  The mentors have been amazing, patiently leading and training the teams in everything from configuring a linux webserver, to building breadboard circuits and initialising SMART TVs. One problem I’ve experienced with teams is our culture doesn’t encourage enough celebration or recognition of achievement.  The teams here were no different.

One problem I’ve experienced with teams is our culture doesn’t encourage enough celebration or recognition of achievement.  The teams here were no different. As the teams started on their quests to master their allocate sub-system, little victories were silently occurring all the time, but you couldn’t tell.  The UI team had a little shout when then got the Smart TV to connect to their web server and display a page, but the sensor team managed to get an LED to flash on and off via the ESP8266 and there was nothing, not a whisper. This little victories are so important to celebrate, they enable the whole team to realise that we are making progress, they add an element of fun to proceedings and they make us feel good and bond as teams.  So with a little encouragement and praise we are making progress, there are more cheers happening all the time, we are starting to generate a buzz.

After a intense day of work we had our first show and tell at 3pm.  The UI team kicked off the presentations with a great looking screen with imagery they had created earlier in the day from around the biomes and some dummy data.  Finally, a round of applause and laughter, we’re making real progress, technically and socially.

20160216_130354_Richtone(HDR)

The Core systems team followed up with a visual less impressive but fantastic technical achievement demonstrating a working php based REST server and an agreement API architecture – no small feat.  More applause.

20160216_130410_Richtone(HDR)

Finally, the sensor team keep up the run of success, having moved on from the impressive display of a flashing LED, they showed how they had deployed a websever onto the ESP8266, connected to our sometimes flakey wifi and were able to get a reading from a light sensor on demand with a simple REST call. More applause and cheering!

20160216_130323_Richtone(HDR)

All teams have proven the fundamentals of the system architecture, now to pull it together.

A review meeting decide the next steps, now we know that all the basic concept could work, was to look into the realities of the physical environment we want to deploy into.  Is there a wifi signal, how strong is it, where should we place the sensors.  We don’t want to continue developing new features until we can prove that we have a working architecture from end-to-end – a walking skeleton.

And that was pretty much it for day 2, everybody disappeared into the biomes, smart phones out measuring wifi signals and seeing how high up into the biomes that could get. The good news is they found wifi, whether it’s strong enough for the ESP8266 we’re not sure, we’ll find out tomorrow……..

Oh, and git, we’ve had some commits! https://github.com/TheEdenOfThings

Great work everybody!!!!

Eden of Things – Day 1

Standard

After 6 months of planning (honest there has been some planning), the first day of the Eden Of Things has arrived!

The Eden Project’s horticultural technologist, Michael Cutler, provided an idea based on measuring various aspects of the Eden Biomes with the aim of providing visitors with a different perspective on the Biomes lifecycle.

The Big Plan

Software Cornwall and Cornwall College are colloborating to provide a pilot solution for the Eden Project and work experience for students studying a computing degree.  We’ve setup a base room on site and will be here for 1 week creating a solution.

The solution comprises of three components:

  • a number of sensor stations that are free standing (no wires) based around an ESP8266.
  • a data collection and cataloguing server
  • a data presentation system able to consume the data from the data collection server and display it in interesting ways on a smart TV.

Day 1

The first day is all about induction, admin, team building and understanding the customers goals and context for the tasks. Not to mention getting all the base tech in place to enable the week to happen.

It takes a surprising amount of equipment to run the week, about an S-MAX full.  Luckily, although the Core building at the Eden Project is at the bottom of the site, we could get right to the door.

With a few last minute withdraws we ended up with 13 ready to start at 9.30am.  The day starts with the obligatory introductions and health and safety, then we get into the fun stuff.  Scrum tennis gets everybody talking and interacting.  It’s a great game, everytime I run it different things happen. What happened this time:

  • Individuals became a team.  They talked, interacted, focused on a problem.
  • We learnt that failure is OK.  The team tried different approaches don’t always work, but don’t discount ideas, give it a go, but be sure to limit it, control the risk by monitoring and discussing after a defined trial period – a sprint!
  • When we try something new, it should be expected that we will fail first time.  Round zero, the number of points produced was zero. Acting as a team, not allocating blame, but inspecting and adapting the process is key.
  • Look for the bottlenecks, externally motivation doesn’t make the machine work faster.  No amount of encouragement or pressure can make the team work faster.  We need to look at what is slowing us up and work out how to remove or reduce it’s effect.  In scrum tennis we moved closer together, formed a circle, etc.
  • Don’t be bullied into accepting unrealistic targets.  Calling them aspirational or anything else doesn’t make them achievable.  The team need to agree and set it’s targets based upon experience and knowledge of the task.  When pushed, don’t just accept a bigger target to please the customer, be realistic and set expectations at the beginning.

What a great list, learnt through experience, no amount of lecturing could have got these messages home with the effectiveness of this simple game.

Next up, after team allocations and setting up workstations, was a session on how to code.  The key messages were focus on testing, strive to do TTD and work as a team, use mob and pair programming.  The session was based upon the excellent http://cyber-dojo.org, testing Bluefruit’s Head of Development, Byran, by using php rather than his preference of c++.

With all the induction training done, the team earned the much coveted Software Cornwall polo shirt!  A spot of lunch and then a customer brief from Edens Horticultural Technologist, Michael Cutler.

20160215_132849

The facts about what we – humans – are doing to our planet are stark, we’re all in this together and need to work together to look after our fragile planet and ensure it remains hospitable for our species.  This project’s real aim is to help with education, demonstrate the fragility and effect of variations upon the eco-system in the Biomes; ultimately to contribute to helping change visitors behaviour and make them more aware of they’re actions and choices and the effect this has upon our planet.  It’s a grand aim, but the team is looking forward to the challenge of using technology for good and seeing what insights can be gleaned and how we can help with the Eden Projects mission.

And they’re off!  The thinking and coding begins. Most of the day has already based, so there is only an hour or two left for getting the ground work done, links to GitHub established and user stories reviewed and plans produced.

Just enough time and the end of the day for our first retrospective.  The 4 L’s approach was taken to complete a 10 min retrospective.  Key findings:

  • We liked getting to code
  • We liked creating the team
  • We learnt about linux
  • We learnt about Raspberry Pis, Smart TVs and breadboard
  • We lacked tea and coffee
  • We lacked knowledge of PHP, linux
  • We longed for Raspberry Pis to be able to deploy code to the ESP-01
  • We longed for a tour of Eden

Some bits to fix for day two for the mentor and support team! Tea and coffee being number 1.

It was a great first day, many challenges cropped up, nearly all technical, but with a great mentoring team we managed to get everybody going.