IoT Milos Hampl
Internet of Things Embedded Programming Embedded Platforms Arduino Basics Application Embedded Programming Languages Microchip programming Datasheets Embedded Platforms Arduino
IoT - Basics Embedded devices linked together or connected to internet Advanced interaction, data sharing
IoT - Application Surveillance Smart home Industrial automation DIY applications Smart appliances Wearables Connected health Smart city …
Embedded Programming “Low level programming” How to tell the microchip what to do Microchip configuration – datasheets Resource management (CPU, Memory) Events and interrupts
Languages Assembler – low level instructions C C++ Java – higher level, API needed Others (C#, .NET…) Most popular: C combined with Assembler
Parts of processor Memory – flash program mem., RAM, Stack ALU – arithmetic logic unit ADC – analog-digital converter TMRC – timer-counter Oscillator MUX – multiplexor UART/USART – Serial communication
Registers Used for configuration of main parts of processor Temporal memory for data
Events - interrupts Events – timer overflow, ADC done measuring… Interrupt – What to do every time event occurs
Datasheets Datasheet – document describing how is the microcontroller assembled Definition of registers Other necessary information
Embedded platforms Lot of products for industrial or DIY automation Different platforms for specific apllications
Intel Professional platform Used for PC peripheries, industry, science apps Last few years – DIY kits Examples: Galileo, Quark, Edison boards…
Raspberry Open source IoT platform Small “PCs” All kinds of use Most famous: Raspberry Pi series
Microchip All kinds of boards from low level 8-bit chips to big ARM processors Cheap platform for industrial automation Starter kits – commonly used for education
Arduino Lightweight most used platform Wiring – Arduino modification of C++ for simplified embedded programming Premanufactured “shields” for variety of purposes Open source – a lot of example code
Arduino boards 8 to 32 bit chipsets Examples – Nano, Uno, Mega…
Shields Hardware that fits to Arduino pins Displays, WiFi routers, Bluetooth, GSM modules, keyboards, 3D printers…
Arduino IDE IDE – Integrated Development Environment Lightweight and simple to use
Wiring Simplified embedded programming language for Arduino boards A lot of open-source libraries for easier development Built-in examples for better learning
Free-to-touch examples
Questions 1 What does the IoT stands for? What can be the purpose of IoT device? Name three parts of microcontroller and their role in chip. Name some embedded programming languages. What is the interrupt in embedded world? For what are the registers used and where you can find information about them? What are the GPIO pins?
Questions 2 Name at least one Intel board. What is the Wiring? Name 3 Arduino boards. What are the “Shields”? Which software is used for programming Arduino boards?
Questions?