COMP06208 2018 Internet of Things

General Details

Full Title
Internet of Things
Transcript Title
Internet of Things
Code
COMP06208
Attendance
N/A %
Subject Area
COMP - 0613 Computer Science
Department
COEL - Computing & Electronic Eng
Level
06 - Level 6
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
Drew Lang, Mr. John Kelleher, Louise O'Gorman, Una LEstrange
Programme Membership
SG_KAPPL_H08 201800 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KSMAR_H08 201800 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 201800 Bachelor of Science (Honours) in Computing in Software Development SG_KNCLD_H08 201800 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KCMPU_H08 201800 Bachelor of Science (Honours) in Computing SG_KSMAR_C06 201800 Higher Certificate in Science in Computing in Smart Technologies SG_KSMAR_B07 201800 Bachelor of Science in Computing in Smart Technologies SG_KGAME_C06 201800 Higher Certificate in Science in Games Development SG_KGADV_B07 201800 Bachelor of Science in Computing in Games Development SG_KAPPL_C06 201800 Higher Certificate in Science in Computing in Application Design and User Experience SG_KSODV_B07 201800 Bachelor of Science in Computing in Software Development SG_KNETW_C06 201800 Higher Certificate in Science in Computing in Computer Networks SG_KSODV_C06 201800 Higher Certificate in Science in Software Development SG_KCMPU_C06 201800 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201800 Bachelor of Science in Computing in Computing SG_EELCO_B07 201800 Bachelor of Engineering in Electronic and Computer Engineering SG_EELCO_B07 201900 Bachelor of Engineering in Engineering in Electronic and Computing SG_KAPPL_H08 201900 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KSMAR_H08 201900 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KSODV_H08 201900 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201900 Bachelor of Science (Honours) in Computing SG_KSMAR_C06 201900 Higher Certificate in Science in Computing in Smart Technologies SG_KCMPU_C06 201900 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201900 Bachelor of Science in Computing in Computing SG_KNCLD_H08 201900 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KSODV_B07 201900 Bachelor of Science in Computing in Software Development SG_EELCO_C06 201900 Higher Certificate in Engineering in Electronic and Computing SG_KNCLD_H08 202000 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure SG_KCMPU_H08 202000 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202000 Bachelor of Science (Honours) in Computing in Software Development SG_KSMAR_H08 202000 Bachelor of Science (Honours) in Computing in Smart Technologies SG_KAPPL_H08 202100 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KCNCS_H08 202100 Bachelor of Science (Honours) in Computing in Computer Networks and Cyber Security SG_KGADV_B07 202100 Bachelor of Science in Computing in Games Development SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KSODV_H08 202100 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202100 Bachelor of Science (Honours) in Computing SG_KCMPU_C06 202100 Higher Certificate in Science in Computing SG_KCMPU_B07 202100 Bachelor of Science in Computing SG_KSMAR_H08 202100 Bachelor of Science (Honours) in Computing in Smart Technologies SG_EELCO_B07 202200 Bachelor of Engineering in Electronic and Computing SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202400 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202400 Bachelor of Science (Honours) in Computing SG_KWDEV_B07 201700 Bachelor of Science in Computing in Web Development and Creative Media SG_KSYSN_B07 202400 Bachelor of Science in Computing in Systems and Networking SG_KWDEV_B07 202400 Bachelor of Science in Computing in Web Development and Creative Media SG_KAPPL_H08 202400 Bachelor of Arts (Honours) in Computing in Application Design and User Experience SG_KNCLD_H08 202400 Bachelor of Science (Honours) in Computing in Computer Networks and Cloud Infrastructure
Description

Physical, real-world things are becoming increasingly visible and actionable via Internet and Web technologies. Propelled by dramatic decreases in technology costs, a proliferation of sensors, improved connectivity including between devices, the market is estimated to grow to €10bn world-wide by 2022. This includes cell-phones, washing machines, jet engines and soon, humans.

The goal of the module is to look top-down as well as bottom-up, to provide students with a practical understanding of the Internet of Things and the forms it can take - human-to-human, human-to-device and device-to-device.

By looking at a variety of real-world application scenarios of the IoT and diverse implemented applications, the various understandings and requirements of IoT applications become apparent. This allows students to understand what IoT technologies are used for today, and what is required in certain scenarios.

Students will be given the opportunity to apply these technologies to tackle scenarios of their choice using an experimental platform for implementing prototypes and testing them as running applications.

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Explain the term internet of things and describe some current and potential applications and the different technologies employed.

2.

Use a microprocessor with local sensor data to produce outputs.

3.

Establish and troubleshoot network/device connectivity (fixed and wireless) between IoT components (microcontrollers, sensors, actuators).

4.

Produce an application which interacts with the internet either by taking data from a sensor and pushing it to the cloud using an existing web service or allowing the user to control an output device via a microprocessor.

Teaching and Learning Strategies

Work will be predominantly conducted in small lab-based groups, typically working in threes. The emphasis will be on experimentation to explore the interplay between software and hardware in pursuit of an identified goal. Students will work in teams on two projects with an emphasis on problem based learning. There will be one lecture a week to explain the theory and background of the technologies employed.

Module Assessment Strategies

There will be a number of quizzes given over the semester. Some of these will be formative and some normative. The initial plan is to have one worth 5% in Week 4. One worth 10% in week 8 and the final worth 10% in week 12. 
Students will be asked to keep a web log where they will briefly document the work they did each week. This will encourage reflection and attendance.
The main assessments will be two team projects where students will apply design thinking to imagine an IOT solution to a real world problem. They will then produce a simple prototype as a proof of concept. Students will be asked to present their solutions as well as to write a report. The emphasis is on the process; creativity, teamwork and persistence rather than on the end product. 

Repeat Assessments

The repeat assessment will be an individual student project. If the student is not attending they may need to purchase a micro-controller and sensor kit. They will have to produce a small project demonstrating a potential IOT application (a rough prototype). They will need to submit a report and give a demonstration. Students may also be asked to take an on-line quiz.

Indicative Syllabus

Note: This is a rapidly evolving area and the technology chosen may change. The syllabus has been written from the perspective of using a microcontroller with a Rest API.

Explain the term internet of things and describe some current and potential applications and the different technologies employed. 

  • The origin and meaning of the term internet of things.
  • Current IOT devices and potential future applications.
  • What sensors are available and what applications they are currently being used for.
  • The role of web services in the internet of things.
  • Security and privacy issues surrounding the internet of things.
  • Internet protocols for IoT: e.g. HTTP and MQTT

Use a microprocessor with local sensor data to produce outputs. 

  • Connecting sensors and actuators to a microprocessor using a simple interface (e.g. a shield or a hat).
  • Writing code and pushing it to a microprocessor.
  • Reading in and using sensor data.
  • The difference between analog and digital inputs and outputs.
  • Writing to simple output devices (LEDs, Sound devices).
  • Finding and using pre-existing libraries of code.

Establish and troubleshoot network/device connectivity (fixed and wireless) between IoT devices/components (microcontrollers, sensors, actuators).

  • The different connectivity options available for IOT devices.
  • Identity different network types: public/private.
  • Identify types of wireless networks.
  • Identify wireless network security protocols. WPA, WPA2 etc.
  • Establish and troubleshoot network/device connectivity (fixed and wireless) between IoT components (microcontrollers, sensors, actuators).

Produce an application which interacts with the internet. Either by taking data from a sensor and pushing it to the cloud using an existing web service or allowing the user to control an output device via a microprocessor.

  • Brainstorming and promoting creativity.
  • High level overview of web services.
  • Pushing data from a microcontroller to a web service.
  • Controlling an output device from the internet device through a Rest API or other protocol

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
100 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Major Project Project Group Project 40 % Week 13 2,3,4
2 Online Quizzes Coursework Assessment Assessment 25 % OnGoing 1,3
3 Group Project Coursework Assessment Group Project 25 % Week 9 2
4 Online journal Coursework Assessment Written Report/Essay 10 % OnGoing 2,3,4

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Independent Learning Not Specified Independent Study 3 Weekly 3.00
Practical / Laboratory Computer Laboratory Lab Practical 3 Weekly 3.00
Lecture Lecture Theatre Lecture 1 Weekly 1.00
Total Full Time Average Weekly Learner Contact Time 4.00 Hours

Required & Recommended Book List

Recommended Reading
2014-05-16 Internet of Things with the Arduino Yn Packt Publishing - ebooks Account
ISBN 1783288000 ISBN-13 9781783288007

Projects to help you build a world of smarter things with this book and ebook

Overview

  • Learn how to interface various sensors and actuators to the Arduino Yun and send this data in the cloud
  • Explore the possibilities offered by the Internet of Things by using the Arduino Yun to upload measurements to Google Docs, upload pictures to Dropbox, and send live video streams to YouTube
  • Learn how to use the Arduino Yun as the brain of a robot that can be completely controlled via Wi-Fi

In Detail

Internet of Things (IoT) is currently a growing trend in the technology space, and the Arduino Yun is the perfect board to get started with building IoT projects. This book covers many of the powerful features of the Arduino Yun via four exciting projects. The first project is all about sending weather measurements data to a Google Docs spreadsheet for easy online visualization. The second one is about building an energy consumption meter and controlling devices remotely. The third focuses on the field of security, by helping you to build a camera that is triggered by motion and that uploads pictures automatically to Dropbox. Finally, the last project is in relation with the field of robotics, and focuses on building a robot that is controlled via Wi-Fi.

The main focus of this book is to teach everything you need to know to build complex projects using the Arduino Yun, organized around the fields of home automation, security, and robotics.

What you will learn from this book

  • Connect various sensors to the Arduino Yun
  • Send sensor measurements to Google Docs via Temboo
  • Interface the Arduino Yun to Twitter via Temboo
  • Create automated e-mail alerts based on measured data
  • Use the Arduino Yun to control home appliances such as lamps
  • Measure energy consumption using the Yun
  • Take pictures with a USB camera and upload them to Dropbox
  • Build robots and control them remotely via Wi-Fi

Approach

All projects are explained in a step-by-step manner, always starting with the assembly of the hardware and followed by basic tests of every hardware component. You will then learn how to build exciting applications in a practical manner based on the details of the projects.

Recommended Reading
2014-12-28 Make: Getting Started with Arduino: The Open Source Electronics Prototyping Platform Maker Media, Inc
ISBN 1449363334 ISBN-13 9781449363338

Arduino is the hot open source prototyping platform for artists, hobbyists, students, and anyone who wants to create interactive physical environments. Getting Started with Arduino is co-authored by Arduino co-founder Massimo Banzi, and incorporates his experience in teaching, using, and creating Arduino.

Recommended Reading
2014-04-10 Getting Started with Intel Galileo Maker Media, Inc
ISBN 1457183080 ISBN-13 9781457183089

Getting Started with the Intel Galileo gets you up and running with this new, x86-powered board that was developed in collaboration between Arduino and Intel. You'll learn how to set it up, connect it to your computer, and begin programming. You'll learn how to build electronics projects around the Galileo, and you'll explore the features and power that make it different from all the boards that came before.

Developed in collaboration with the Intel Galileo team, and in consultation with members of the Arduino team, this is the definitive introduction to Intel's new board for makers.

Recommended Reading
2016-06-13 Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux Wiley

Expand Raspberry Pi capabilities with fundamental engineering principles

Exploring Raspberry Pi is the innovators guide to bringing Raspberry Pi to life. This book favors engineering principles over a 'recipe' approach to give you the skills you need to design and build your own projects. You'll understand the fundamental principles in a way that transfers to any type of electronics, electronic modules, or external peripherals, using a "learning by doing" approach that caters to both beginners and experts. The book begins with basic Linux and programming skills, and helps you stock your inventory with common parts and supplies. Next, you'll learn how to make parts work together to achieve the goals of your project, no matter what type of components you use. The companion website provides a full repository that structures all of the code and scripts, along with links to video tutorials and supplementary content that takes you deeper into your project.

The Raspberry Pi's most famous feature is its adaptability. It can be used for thousands of electronic applications, and using the Linux OS expands the functionality even more. This book helps you get the most from your Raspberry Pi, but it also gives you the fundamental engineering skills you need to incorporate any electronics into any project.

  • Develop the Linux and programming skills you need to build basic applications
  • Build your inventory of parts so you can always "make it work"
  • Understand interfacing, controlling, and communicating with almost any component
  • Explore advanced applications with video, audio, real-world interactions, and more

Be free to adapt and create with Exploring Raspberry Pi.

Recommended Reading
2015-01-16 Adventures in Raspberry Pi (Adventures In ...) Wiley

Start programming quickly with this super-fun guide to Raspberry Pi

Adventures in Raspberry Pi, 2nd Edition includes 9 cool projects that show you how to set up and start developing on your Raspberry Pi. Updated for the release of the Rev 3 board, this second edition covers all the latest features and tells you everything you need to know. Written specifically for 11-15 year-olds, this book uses the wildly successful, Raspberry Pi to explain the fundamentals of computing. You'll have a blast learning basic programming and system administration skills, beginning with the very basics of how to plug in the board and turn it on. Each project includes an instructional video so you can jump right in and start going through the lessons on your own.

This hands-on book gets you up and running fast, with fun projects that let you explore.

  • Learn how to "talk to" your Raspberry Pi
  • Create games and stories with Scratch
  • Program with Turtle Graphics and Python
  • Code music and create a Raspberry Pi jukebox

If you want to get started programming today, Adventures in Raspberry Pi is the ultimate hands-on guide.

Module Resources

Other Resources

Regular, routine access to laboratory provisioned with computers, micro-controller boards, related electronic components and internet access (fixed and WiFi).