The University of Sheffield
Department of Computer Science

COM3505 The Internet of Things

Summary Low cost networked computers add eyes and ears (or sensors) and arms, legs and voices (or actuators) to the Internet. These devices are then connected to on-line 'brains' (using big data, machine learning and analytics in the cloud). This field is called the Internet of Things (IoT). Will the result be a ‘world robot’?! No matter, in a world of many more devices than people, engineers who know how the new tech works and how to secure it will be in high demand. The COM3505 module will cover the context and history of the IoT, the hardware, communications protocols and security systems it relies on, and the cloud-side analytics that make sense of the data produced. It will give practical hands-on experience of common IoT devices (sensors, actuators, microcontrollers), and look at a range of commercial platforms. Each student will be given an ESP32 wifi microcontroller and we will program live IoT applications using that device. Students will have the opportunity to use the Diamond electronics lab and the iForge project space to complete their own IoT device with a range of hardware and capabilities. Students should be aware that there are limited places available on this course.
Session Autumn 2018/19
Credits 10 credits
Assessment Assessed Labs: 60%, MOLE quizzes: 40%
Lecturer(s) Prof. Hamish Cunningham

This module aims to...

  • prepare students for tasks that commission, design and develop Internet of Things (IoT) technologies
  • cover a broad range of IoT history, approaches, commercial devices and platforms
  • deliver practical experience programming IoT devices, capturing their data and developing visual analytics of that data

By the end of the module, a student will be able to...

  • summarise the history and development of the Internet of Things (IoT)
  • analyse and evaluate competing approaches to IoT devices and platforms
  • create an IoT device that operates within tight compute and cost constraints
  • capture IoT device data in the cloud and analyse that data
  • demonstrate a practical application of an IoT device

Week 1

  • Fri 11-12 LT5 lecture 1: Click Here to Kill Everyone
  • Fri 12-2 DIA 2.02 lab 1

Week 2

  • Mon 9-11 DIA 2.02 lab 2
  • Fri 11-12 LT5 lecture 2: Revolutionary Code: from MIT Printers to the Arduino

Week 3

  • Mon 9-11 DIA 2.02 lab 3
  • Fri 11-12 LT5 lecture 3: Small but Perfectly Formed... Digging into the ESP32

Week 4

  • Mon 9-11 DIA 2.02 lab 4
  • Fri 11-12 LT5 lecture 4: Country of the Blind: Networking Devices Without UIs

Week 5

  • Mon 9-11 DIA 2.02 lab 5
  • Fri 11-12 LT5 lecture 5: Sensing and responding

Week 6 [reading week / assessment 1]

  • Fri 1-3 DIA 2.02 [LAB ASSMT. 1]

Week 7

  • Mon 9-11 NC PC [MOLE quiz: mock]
  • Fri 11-12 LT5 lecture 6: Connectivity and Provisionning: Joinme/WiFi, Sigfox, LoraWan and NB-IoT
  • Fri 12-2 DIA 2.02 lab 6

Week 8

  • Fri 11-12 LT5 lecture 7: unPhone Yourself — an IoT Projects Platform
  • Fri 1-3 DIA 2.02 lab 7

Week 9

  • Mon 9-11 NC PC lab 8
  • Fri 11-12 LT5 lecture 8: Projects Q&A

Week 10

  • Mon 9-11 DIA 2.02 lab 9
  • Fri 11-12 LT5 lecture 9: WaterElves, Gripples and Fish Poo: IoT Case Studies

Week 11

  • Mon 9-11 NC PC lab 10
  • Fri 11-12 LT5 lecture 10: IoT 2018: Review

Week 12 [exam / assessment 2]

  • Mon 9-11 NC PC [MOLE quiz: EXAM]
  • Fri 12-2 DIA 2.02 [LAB ASSMT. 2]
Restrictions Maximum capacity of 144 students. These will be considered and accepted on a first request basis.
Teaching Method One hour lecture each week and two hours labs, mainly based in the Diamond electronics lab.
Feedback During lab sessions and via mock exam.
Recommended Reading
  • Adelantado, F., X. Vilajosana, P. Tuset-Peiro, B. Martinez, J. Melia-Segui, and T. Watteyne. 2017. “Understanding the Limits of LoRaWAN.” IEEE Communications Magazine 55 (9): 34–40.
  • Arduino. 2017. “Arduino IDE Guide.” 2017.
  • Ashton, Kevin. 2011. “That ‘internet of Things’ Thing.” RFiD Journal 22 (7).
  • Banzi, Massimo, and Michael Shiloh. 2014. Getting Started with Arduino: The Open Source Electronics Prototyping Platform. Maker Media, Inc.
  • Bassi, Alessandro, Martin Bauer, Martin Fiedler, Thorsten Kramp, Rob Van Kranenburg, Sebastian Lange, and Stefan Meissner. 2013. “Enabling Things to Talk.” Designing IoT Solutions with the IoT Architectural Reference Model, 163–211.
  • Blenn, Norbert, and Fernando Kuipers. 2017. “LoRaWAN in the Wild: Measurements from The Things Network.” arXiv [cs.NI]. arXiv.
  • Community, Esp32. 2017. “ESP32 Forum.” 2017.
  • Dhanjani, Nitesh. 2015. Abusing the Internet of Things: Blackouts, Freakouts, and Stakeouts. “O’Reilly Media, Inc.”
  • Doukas, Charalampos. 2012. Building Internet of Things with the Arduino. USA: CreateSpace Independent Publishing Platform.
  • Greenfield, Adam. 2017. “Rise of the Machines: Who Is the ‘Internet of Things’ Good For?” The Guardian, June 6, 2017.
  • Kolban, Neil. 2017. Kolban’s Book on ESP32.
  • Kurniawan, Agus. 2016. Smart Internet of Things Projects. Packt.
  • MacDermott, A., T. Baker, and Q. Shi. 2018. “Iot Forensics: Challenges for the Ioa Era.” In 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS), 1–5.
  • Margolis, Michael. 2011. Arduino Cookbook: Recipes to Begin, Expand, and Enhance Your Projects. “O’Reilly Media, Inc.”
  • McEwen, Adrian, and Hakim Cassimally. 2013. Designing the Internet of Things. John Wiley & Sons.
  • Monk, Simon. 2013. Programming Arduino Next Steps: Going Further with Sketches. McGraw Hill Professional.
  • NERC. 2016. “NERC Guidance on the Safe Use of Lithium Batteries.” 2016.
  • Nold, Christian, and Rob van Kranenburg. 2011. The Internet of People for a Post-Oil World.
  • Pfister, Cuno. 2011. Getting Started with the Internet of Things: Connecting Sensors and Microcontrollers to the Cloud. “O’Reilly Media, Inc.”
  • Schneier, Bruce. 2017. “Click Here to Kill Everyone.” NY Mag, January.
  • Schwartz, Marco. 2016a. Home Automation with the ESP8266: Build Home Automation Systems Using the Powerful and Cheap ESP8266 Wifi Chip. CreateSpace Independent Publishing Platform.
  • ---. 2016b. Internet of Things with ESP8266. Packt Publishing Ltd.
  • Sivaraman, V., H. H. Gharakheili, A. Vishwanath, R. Boreli, and O. Mehani. 2015. “Network-Level Security and Privacy Control for Smart-Home IoT Devices.” In 2015 IEEE 11th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), 163–67.
  • Slama, Dirk, Frank Puhlmann, Jim Morrish, and Rishi M. Bhatnagar. 2015. Enterprise IoT: Strategies and Best Practices for Connected Products and Services. “O’Reilly Media, Inc.”
  • Stallman, Richard. 2002. Free Software, Free Society: Selected Essays of Richard M. Stallman.
  • Thakur, Manoj. 2016. Zero to Hero ESP8266.
  • The Things Network. 2018. “The Things Network Manifesto.” 2018.
  • Upton, Eben, and Gareth Halfacree. 2014. Raspberry Pi User Guide. John Wiley & Sons.