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 covers 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 gives practical hands-on experience of common IoT devices (sensors, actuators, microcontrollers), and look at a range of commercial platforms. Each student is given an ESP32 wifi microcontroller to keep and we 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 competent programmers to take this course, be ok using Git and the command-line, and be aware that there are limited places available].
Session Spring 2020/21
Credits 10 credits
  • Assessed Labs
  • Formal Blackboard quiz

Lab 1 & Quiz are Pass/Fail, Grading based on Lab 2

Lecturer(s) Prof. Hamish Cunningham & Dr Valentin Radu

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:
    L1: Click Here to Kill Everyone
  • Week 2:
    L2: Revolutionary Code: from MIT Printers to the Arduino
  • Week 3:
    L3: Small but Perfectly Formed... Digging into the ESP32
  • Week 4:
    L4: Country of the Blind: Networking Devices Without UIs
  • Week 5:
    L5: Sensing and responding
  • Week 6:
    reading week / lab assessment 1
  • Week 7: mock exam;
    L6: Connectivity and Provisionning: Joinme/WiFi, Sigfox, LoraWan and NB-IoT
  • Week 8:
    L7: unPhone Yourself - an IoT Projects Platform
  • Week 9:
    L8: Projects Q&A
  • Week 10:
    L9: WaterElves, Gripples and Fish Poo: IoT Case Studies
  • Week 11:
    L10: IoT: Review
  • Week 12:
    lab assessment 2 (projects); exam
Restrictions Maximum capacity of 130 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.