Module Specifications.
Current Academic Year 2024 - 2025
All Module information is indicative, and this portal is an interim interface pending the full upgrade of Coursebuilder and subsequent integration to the new DCU Student Information System (DCU Key).
As such, this is a point in time view of data which will be refreshed periodically. Some fields/data may not yet be available pending the completion of the full Coursebuilder upgrade and integration project. We will post status updates as they become available. Thank you for your patience and understanding.
Date posted: September 2024
| |||||||||||||||||||||||||||||||||||||||||||
Repeat examination |
|||||||||||||||||||||||||||||||||||||||||||
Description Connected embedded systems are the building blocks of the Internet of Things (IoT). Connected refers to the fact that the systems interface to the real world via sensors and actuators, and also that the embedded systems can communicate to one another and to cloud-based Platform-as-a-Service (PaaS) solutions. This module exposes students to state-of-art research and solutions for such embedded systems, including: embedded Linux, multi-platform SoC solutions, real-time interfacing, telemetry protocols for IoT, and messaging. | |||||||||||||||||||||||||||||||||||||||||||
Learning Outcomes 1. Describe current state-of-art research and solutions for connected embedded systems 2. Design embedded systems that utilize full-stack mainline Linux, appreciating the strengths and weaknesses of OS-based embedded solutions 3. Interface embedded systems to the real world using a variety of sensors and actuation hardware, and write high-level program code that wraps low-level sensor interfaces 4. Evaluate state-of-art real-time approaches (e.g., SoC-based) and research for embedded applications that require determinism, and to appreciate real-time constraints on the communication required for interconnected embedded systems 5. Identify and research an appropriate communications framework to suit a specific connected embedded application 6. Develop a distributed locally-connected multi-processor system using wired and/or wireless network topologies and communications 7. Build full stack IoT solutions (real-world interfacing to cloud-based platform-as-a-service (PaaS) solutions) and document the processes and design detail involved | |||||||||||||||||||||||||||||||||||||||||||
All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml |
|||||||||||||||||||||||||||||||||||||||||||
Indicative Content and Learning Activities
A Networked FutureThe module begins with a big-picture introduction to the Internet of Things (IoT) that describes technology, services and frameworks. Opportunities and challenges are described along with discussions on emerging technologies as they relate to applications such as the environment, biomedicine, consumer electronics, defence, and communications. Other topics related to embedded devices include the: Internet of Industrial Things, Internet of Tiny Things, and the Internet of Nano Things.Embedded LinuxLinux on an embedded system, including topics such as: bootloaders; Git; managing Linux systems; systemd, and, real-time limitations of OS-based embedded devices. The Embedded Linux OS is used as a practical platform for this module, allowing for the application of the concepts to be applied in practical assignments.Interfacing to the Real-WorldProgramming on embedded devices using high-level languages. The conflict between OS and non-OS (bare metal) coding. Interfacing to the real world using embedded Linux, which includes the use of electronics for sensing and actuation. Brief discussion on interfacing electronics via ADC, SPI, I2C, CAN bus, and UART devices. Cross-platform development in C/C++, and wrapping low-level devices with high-level OOP constructs. Linux kernel programming is described, including a discussion on user-space versus kernel-space coding.Real-Time Embedded SystemsPrincipals of real-time operating systems, including: software architectures for real-time embedded, multicore processors, RTOS, Real-Time Scheduling, Resource Sharing, Message Queueing and Inter-task Signalling and Communication. FPGA solutions and microkernel-based QNX Oss are also discussed. System on a Chip (SoC) based real-time acceleration and the challenges of multi-platform integration are investigated.Communicating with Embedded SystemsFrameworks for messaging with distributed embedded systems are discussed, including historical and current solutions. Other topics include: Ad-hoc communication; Machine-to-machine communication and autonomy; and, telemetry protocols for IoT (including MQTT, CoAP, XMPP).Local Distributed EmbeddedWired and wireless network topologies for local distributed embedded applications (e.g., Ethernet, CAN bus, RFID, ZigBee, Wi-Fi, Bluetooth) are described. Other topics include: communication efficiency; frameworks for service processor integration; messaging passing interfaces (MPIs) and XML/JSON; data aggregation; embedded data storage; and, Rete algorithm rules engines.Internet Connected EmbeddedThis section describes a detailed coverage of the concepts involved in an Internet distributed connected embedded system, such as: device management, key management, debugging, triggers, listeners, alarms, design for failure (e.g., Last Will and Testament (LWT)). Platform-as-a-Service (PaaS) solutions such as ThingSpeak, Amazon AWS IoT, IBM BlueMix IoT are examined, and one such PaaS is utilized in the second assignment. | |||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
Indicative Reading List
| |||||||||||||||||||||||||||||||||||||||||||
Other Resources 22913, Website, Derek Molloy, 2016, Course Notes Website, DCU, ee5IOT.eeng.dcu.ie, | |||||||||||||||||||||||||||||||||||||||||||