ACTS, Pune
PG Diploma in Internet of Things (PG-DIOT)
Course Objective & Scope: To utilize various Embedded Technologies related to IoT, Sensor Networks, Communication Protocols, Cloud Computing, Accessing Resources and Services needed to perform functions with dynamically changing needs. To understand the IoT privacy and Security Concepts for secured IoT environment. To utilize the various IoT Platforms to explore Real Time IoT Applications Areas. To explore Modern IoT Trends To undertake industrial research projects for the development of future solutions in the domain of Data Analytics to make an impact in the technological advancement. To use advanced IoT Tools/ Decision-Making Tools/ Operation Research Techniques to analyze the complex problems and get ready to develop such new techniques for the future.
Eligibility Criteria: Graduate in Engineering or equivalent (e.g. BE / B.Tech / 4-year BSc Engg / AMIE / DoEACC B Level, etc.) in Electronics/ Computer Science/ IT or related areas OR Post Graduate in Engineering Sciences (e.g. MCA, MSc in Computer Science, IT, Electronics, etc.)
Pre- Requisites: Candidate should have sound knowledge of: Fundamentals of C Programming Basics of Operating System Concepts and Basics of Linux Basics of Electronics
Course Modules:
Sr. No. Module Name Hours 1. Fundamentals of IoT 40 2. Programming Technologies 100 3. Microcontrollers Programming & OS / RTOS 80 4. Embedded Linux 80 5. Sensor Networks 80 6. Communication Models & Protocols 60 7. Data Management & Analytics 90 8. Cloud Computing 30 9. Technological Aggregation & Case Studies 60 10. Mobile Application Development 80 11. Aptitude and English 50 12. Effective Communication 50 13. Project 100 Total 900
Page 1 of 7 ACTS, Pune
Contents: C Language: º Introduction to C Standards 1. Fundamentals of IoT º Programming Environment – Building Phases (40 Hours) º GNU Tool chain, tools for development,analysis º Layout of a C program º Introduction to IOT º Language Basics º Evolution of IOT, History º Internal representation of data types º M2M and/or IOT º Qualifiers º Applications of IOT º Operators º Use cases of IOT º Control Structures º Reference Architecture of IOT º Pointers & Arrays º Things in IOT º const,volatile keywords º IOT Functional Blocks º Functions º Sensors & Actuators º Parameter Passing, Returning data º Target Boards º Recursion º IOT Servers/Cloud Platforms º Function Pointers º Functionality º Linkage Rules º API models º Strings º Need for gateway/middleware solutions º Library functions º Role of IOT gateway º Command Line Arguments º Case Study – OpenIOT º Structures & Unions º Case Study – LinkSmart/Hydra Middleware º Alignment, Packing Issues º IOT Standards º Bit Fields º IOT-A Reference Architecture º Dynamic Memory Management º IOT-A Architecture Reference Model(ARM) º Detecting Memory Leaks,Heap analysis º Programming for IOT º Preprocessor º Choice of language º Enumeration Types º Open and Closed source models º File Handling º IOT Development Methodology º Single Linked Lists Requirements Gathering Stacks and Queues Process,domain model,information model º Searching Techniques IOT levels º Sorting Techniques Functional,Operational View Python Integration º Introduction to Python,Scope in IOT º Business Models º Setting up environment Cost Analysis º Simple programs Crowd Sourcing,funding º Console I/O Operations Prototyping vs Production º Data Types,Variables,Literals Mass Production º Operators º IOT Design Patterns for º Control Structures Data,Information models º Arrays Communication º String handling Infrastructure º Regular expressions,pattern matching º Challenges in IOT º Functions º File Handling º Exception handling 2. Programming Technologies º Modules (100 Hours) º Packages
Page 2 of 7 ACTS, Pune
º Building custom packages º Case Study – mbed.org APIs(or Suitable APIs for º Data Structures in Python target MCU) º Standard Library º Peripheral management in MCUs º Example library - os Module º Peripheral management in MCUs º Object Oriented Python º Peripheral management in MCUs º Dialects of pyhthon – cpython,micropython º Bus Standards º Introduction to Nodejs,Setting up environment º CAN Basics º Writing Simple scripts,Console I/O º Designing CAN Slave, CAN Master º Package Management,importing libraries º Overview of Arduino Family of Boards, º Running simple web server Architecture º Nodejs objects,fields º Arduino Shields,Pinout º Event handling,callbacks º Arduino SDK and APIs for peripheral management º Error handling º Arduino Examples º String handling º FIRMATA for peripheral management º Buffer management º Debugging Support, Techniques º File handling JTAG º Example modules(os,path etc.) CMSIS DAP NodeRED OpenOCD º Introduction to NodeRED º Introduction to RTOS º Existing nodes,Simple flow º What is Real Time, Real Life Examples º Importing,Exporting flows º Bare metal code vs RTOS º Writing functions º GPOS vs RTOS º Context management º Case Study – FreeRTOS/mbed RTOS/CMSIS RTOS º Simple UI creation º RTOS Services Task Management (periodic vs aperiodic task) Timer Management (auto reload vs oneshot 3. Microcontrollers Programming & OS / RTOS mode timers) (80 Hours) º RTOS Services Queues, Semaphores,Mutex,Event Flags º Introduction to MCU Families Priority Inversion, Priority Inheritance º Overview of ARM Cortex-M architecture Protocols º CMSIS standard º Interrupt Management º Registers, Operation Modes º Memory Management º Instruction Set º Benchmarking factors º Thumb-2 Instructions Scheduling Latency º Startup code Interrupt Latency º Memory Model º Constrained OS for MCUs º Linker map º Deploying ContikiOS, RIOT OS on target hardware º Bus Interface º FreeRTOS and Addons for MCUs º Clock, Timer Management º Watchdog timers 4. Embedded Linux (80 Hours) º RTC º Introduction to Linux º Interrupt Handling º Linux File System º Exception handling º Command Line overview º Mode Switching º Basic scripting º Development environment – Keil,arm-gcc etc º Package Management º Building phases º Administration essentials º Blinking LED example º Networking essentials
Page 3 of 7 ACTS, Pune
º Introduction to Embedded Linux º Link Layer º Architecture – Kernel , System Calls º Ethernet(PCI/USB/SPI) /proc, /sys interfaces º MAC layer º Bootloader, Kernel º IP Layer º Rootfs image º IPv4 and IPv6 º Setting up Linux for target board(Rpi/BBB/Edison) º Mobile IP º Cross Toolchain º TCP & UDP protocols º Building Custom Kernel º TCP,UDP Socket APIs º Building user space code (static, dynamic linking) º Client – Server Examples º Linux Internals º Light Weight Network Stacks º Process Management º Case Study – lwip º Linux Internals º WLAN (IEEE 802.11 standard) º Threading º Linux & MCU Support º Scheduling in linux º WiFi motes º Linux Internals º IEEE 802.15.4 standard º Synchronization and Data Exchange(Inter process º Wireless PAN communication) º IEEE 802.15.4 implementations º Semaphores,Mutex º Zigbee, Miwi, Nrf24,Thread etc. º Shared Memory,Message Queues º IEEE 802.15.4 implementations º Linux Internals º Linux & MCU Support º File Handling, Pipes & Fifos º Bridging IP networks º Writing Simple Drivers º 6LowPAN º Building Drivers for target board º IPv6 Routing Protocol for Low-Power(RPL) and º Clock Management(RTC/NTP) Lossy Networks º Device Tree Concepts º RPL Border Router º Memory mapping º Bluetooth Basics º Blinking LEDs on target board º Bluetooth Profiles º Peripheral management in Linux using º Bridging Bluetooth,IP networks C,Python/Nodejs libraries º Bluetooth Smart/Low Energy º GPIO º BLE Profiles º SPI º GATT profile º I2C º BLE Motes. Beacons, EddyStone º ADC º Cellular Technologies º WDT º GSM,GPRS, CDMA, 3G/UMTS, 4G/LTE º Wired connectivity – gateways/bridging solutions º Cellular Technologies º UART, termios library º 3G/UMTS, 4G/LTE º USB – utilities & libraries(libusb) º RFID º Debugging/Tracing Techniques º IrDA º Firmata Clients º NFC º Linux for real time º Location Tracking – GPS º GeoMapping 5. Sensor Networks (80 Hours) º Case Study – Contiki OS º Network Layer Model(OSI or TCP/IP) º Erbium Stack º Overview of each layer(Physical, Link, Network, º RPL Border Router Transport) º Case Study – RIOT OS º Network Model for IOT Needs º Network Topologies 6. Communication Models & Protocols º Physical Layer (60 Hours)
Page 4 of 7 ACTS, Pune
º M2M vs IOT º Data Ware Housing Concepts and Introduction to º IOT vs WOT Tools º M2M Protocols º NOSQL º IOT Protocols º Introduction to NoSQL º Communication Models º Difference between a RDBMS and a NoSQL º Resource Management database º Registration, Discovery º Understanding the Storage Architecture º Data Exchange Formats - XML & JSON º Working with Column‐Oriented Databases º Integration with Web º HBase Distributed Storage Architecture º Web Services, WSDL º Document Store Internals º SOA vs ROA,SOAP vs REST º Schema structure for Oracle NoSQL database º MQTT Protocol º Changing Document Databases º RESTFul Architecture º Schema Evolution in Column‐Oriented Databases º HTTP REST Model º HBase Data Import and Export º CoAP Protocol º Data Evolution in Key/Value Stores º CoAP Protocol º Time Series Data Model(Using º Protocol Interoperability,Bridging InfluxDb,OpenTSDB,KairosDB or similar one) º Convergence of CoAP, HTTP, MQTT etc. º Installation º Example – Eclipse Ponte Bridge º Using shell,web console,HTTP APIs º Security In Protocols º Time Series Data Model º Gateway Design º Query Language º OSGi Architecture,Services º Write Protocols º OSGi Implementations for IOT – Case Study º Time Series Data Model º Websockets as transport layer º Continuous Queries º Overview of other protocols º Downsampling data AMQP º Retention Policies XMPP º Time Series Data Model WebRTC º SDKs, APIs for talking to database º Visualizing time series data, eg:-using grafana º Data Analytics (Using ApacheSpark,InfluxData TICK 7. Data Management & Analytics stack or a similar framework with one of the (90 Hours) backends like MongoDB, Hadoop/HBase, InfluxDb º Introduction to DBMS etc.) º RDBMS,SQL vs NoSQL º Data Modelling - Tools & Techniques º Implementations – closed vs open source º Data Storage & Retrieval (MongoDb, Hadoop, º Database Storage Structure InfluxData) º º Integration with External Data Sources º Structured and Unstructured Data º Data Analysing – Intelligent Data Analysis - Tools º Introduction to SQL & Techniques º DDL Commands º Data analytic frameworks/Case Studies º DML & DCL Commands º Nimbits º Grouping Things Together (Group by , Having) º Sitewhere º Sorting Data (Order By) º Apache Spark º Advance Subqueries (Correlated Sub query, Outer º Apache Storm Joins) º Influx TICK stack º Queries containing Group By, Having Clause, º MuleSoft/AnyPoint Platform º Order by º Data Optimization º Correlated Queries, SubQueries, Outer Joins
Page 5 of 7 ACTS, Pune
º Introduction of visualization tools, Libraries º Application Areas º Visual Analytics º IoT - Use Case, Case Study, Prototyping, Real- life/Thematic Area wise Applications/Solutions 8. Cloud Computing (30 Hours) º SCADA Systems (Supervisory control and data acquisition-industrial control system ) º Cloud Based Architecture º Remote terminal units (RTUs) º Basics of Virtualization º A telemetry system º Specific Characteristics that Define a Cloud º A human–machine interface or HMI º Understanding Elasticity, Resiliency, On-Demand º Security & Privacy and Measured Usage º IoT Ethics, Security & Privacy, Challenges & º Software as a Service (SaaS), Platform as a Service Standards (PaaS) and Infrastructure as a Service (IaaS) Cloud º IoT Ethics Delivery Models º Introduction º Public Cloud, Private Cloud, Hybrid Cloud and º Ethical Challenges In IoT Community Cloud Deployment Models º Central ICT ethics issues º Benefits, Challenges and Risks of Cloud Computing º The impact of IoT technologies Platforms and Cloud Services º Accessibility, Privacy, Property and Integrity of º Introduction to cloud based IoT platforms like IBM Information Bluemix, carriot etc. º IoT Security & Privacy Mechanisms º IoT Cloud Platforms, Visualization (case studies) º Security and Interoperability º Understanding the risks 9. Technological Aggregation & Case Studies º Modes of attack (60 Hours) º Techniques for achieving security º The need for interoperability º System Design º Combining security and interoperability º Real-life/Thematic Area wise Applications, Sensor º Challenges & Standards Analysis º Overview of challenges in IoT º Home Automation /Smart Home º Evolving architectures º Smart Cities º protocol wars º Smart Agriculture º competing standards º Healthcare System º case studies º Real-life/Thematic Area wise Applications, Sensor º Open Data & IoT Analysis(Contd.) º Introduction of platforms & APIs º Use Cases – Smart Infrastructure/Buildings º Hands-on for Prototypes º Modern IoT framework / Platforms º Wearables 10. Mobile Application Development(80 hrs) º Signalling º Presence detection º Object-Oriented Programming Concepts º Power Consumption º Fundamentals of Object-Oriented Programming º Bandwidth/ Challenges in Connectivity º Java Evolution º Smart Sensor nodes (Motes) º Overview of Java Language º Structural Aspects of IoT º Constants, Variables and Data Types º Environmental Characteristics º Operators and Expressions º Traffic Characteristics º Decision making, Branching and Looping Classes, º Scalability Objects and Methods, Arrays, String and º Interoperability Collections, Interfaces, Packages, Managing Errors º Latest technologies
Page 6 of 7 ACTS, Pune
and Exceptions, Java Multithreading, Java I/O Handling. º Mobile Development Platforms (Eg - Android), º Mobile Programming Languages, º Design & Development of Mobile User Interfaces, º Mobile Application Development, º Customizing of Android apps, º Hardware Abstraction Layers, Android Framework º Connectivity in Android º Wifi, BTLE, 2G, 3G/4G etc. º Support for IoT protocols º Hands On & Case Studies 11. Project
Page 7 of 7