ACTS, Pune PG Diploma in Internet of Things (PG-DIOT)
Total Page:16
File Type:pdf, Size:1020Kb
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.