Id-iot - Informatics Driven Internet Of Things

From Juneday education
Jump to: navigation, search

While teaching a course at a University in Gothenburg, where the assignment was a three part assignment called Exposing data over http, we (Juneday) set up a couple of computers and make them interact with themselves and the internet.

The idea behind this is to give the students a chance to prove that their teachers stink (believe me, we do!) and (hopefully) at the same learn a bit about:

System description

The system involves two computers:

RaspberryPI

The Raspberypi is running Raspbian with two services (written by the idiots at Juneday):

  • a Servlet on port 9090. The IP address of the RaspberryPi (from now on called rpi) is 129.16.213.15 and the url for the servlet is lcd so the address of the servlet is: http://129.16.213.15:9090/lcd.
  • a script running (looping) asking the servlet for what text is currently in use on the LCD (JSON formatted). If the text has changed over the last 10 seconds the rpi reprograms the Uno (see below) to show that text.

Arduino Uno

A small computer, with no OS, running one simple program the display text:

  • if less then 13 characters
  • if between 13 and 32 characters, the text is scrolled (left)
  • if 32 or bigger the text is discarded

Searduino is used to program the device. Searduino is a software written by the Juneday authors to:

  • make it easy to program Arduino devices using plain C/C++ code
  • make it possible to debug logic using the Searduino simulator (written in java and Swing

So, to the task. The students' task.

Task

Try cracking the system and make the LCD show some nasty text on the LCD. But there are som criteria:

  • you must be able to reproduce it
  • you must be able to explain why you did - to some extent
  • the text must be intimidating to Rikard and Henrik - you're not allowed to be nice to them. Take your chance!

Extra challenge #1

Write a script that can be used to set a text.

Extra challenge #2

Make the script from Extra challenge #1 run or update the text every 10 minutes.

Extra challenge #3

Make a web page (HTML document) with a form, which sends the text from a text field when the user clicks a button.

Extra challenge #4

Make an Android app, which displays the current text and offers the user to send a new text.

Extra challenge #5

Write a script which tests 50 English verbs for the secret GET parameter and discovers if the correct verb was found.

Clues

Access http://129.16.213.15:9090/lcd

  • add a parameter with a value (the text)
  • the parameter is a english verb

Prize

A package of "Wet Cleaning Wipe"