Top Banner
ARDUINO PROGRAMMING AND IOT APPLICATION DEVELOPMENT 1
52

ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

Jul 18, 2018

Download

Documents

vuthu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

ARDUINO PROGRAMMING AND IOT APPLICATION DEVELOPMENT

1

Page 2: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

AGENDA

• Intro to IoT

• Intro to Arduino Platform

• Hands-on programming using Arduino Platform

• Some Applications

2

Page 3: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

THREE PHASES - PARADIGM SHIFT

3

Internet of Things

Social

Mobile

Page 4: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

What is IoT?• In 2010, the global average of connected devices per

person was 1.84 • Taking only those people who use the Internet (around 2

billion in 2010), that figure becomes 6 devices per person

• “50 billion devices connected by 2020” – CISCO

4

Page 5: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

What is IoT?

• Devices that connect to one another and interact using the internet.

5

Page 6: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

WHY ????

6

🤔

Page 7: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

WHY “NO” !!!!

7

😳

Page 8: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

8

Page 9: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

IOT VS IOE

9

Page 10: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

MOBILE IS GOD OF IOT

10

Page 11: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

IoT Architecture

11

Page 12: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

DESIGN CONSIDERATIONS

12

• Data – Data – Data – Data

• Hardware and Embedded S/W

• Software over the cloud

• Security

• User Interface Data is the new Oil

Page 13: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

IoT implementation

13

Page 14: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

INTRO TO ARDUINO PLATFORM

14

Page 15: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

15

Arduino Uno Chipkit Max32 Intel Galileo

Gen 2 *Raspberry Pi

2 Raspberry Pi 3 Beagle Bone Black

Electric Imp

Processor ATmega328P Microchip PIC32MX795F512L

Intel Quark X1000

Broadcom BCM 2836

Broadcom BCM 2837

TI AM3358 -

CPU Core Atmel AVR, 8bit MIPS, 32 bit Intel Pentium,

32 bitArm Cortex-A7, 32 bit

Arm Cortex-A53, 64 bit

Arm Cortex-A8, 32 bit, TI Dual PRUs

Arm Cortex-M3

Clock Speed 16 MHz 80 MHz 400 MHz 900MHz Quad Core 1.2GHz Quad Core 1 GHz -

Flash Memory 32 KB 512 KB 512 KB - - 4GB -

RAM 2KB 128 KB 512 KB 1 GB 1 GB 512 MB -

SD Card Upto 32GB Upto 32GB Upto 32GB Upto 32GB -

Connectivity With shields with shields Ethernet Ethernet Ethernet, WiFi, BLE Ethernet Wifi

Platform Arduino Arduino Arduino, Linux Linux, Windows 10 IoT Core….

Linux, Windows 10 IoT Core…. Linux, Android…. Squirrel

Multimedia - - - HDMI, CSI, DSI, 3D Graphics core

HDMI, CSI, DSI, 3D Graphics core

Micro HDMI, 3D Graphics core -

Page 16: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

CHIPKIT MAX32 – BOARD LAYOUT

16

Page 17: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

INTEL GALILEO GEN2 – BOARD LAYOUT

17

Page 18: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

BEAGLE BONE BLACK – BOARD LAYOUT

18

Page 19: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

19

Page 20: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

ELECTRIC IMP – BOARD LAYOUT

20

Page 21: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

RASPBERRY PI 3 – BOARD LAYOUT

21

Page 22: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

22

Page 23: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

ARDUINO

• Founded by Massimo Banzi and David Cuartielles in 2005 • Based on “Wiring Platform”, 2003 • Open-source hardware platform • Open source development environment – Easy-to learn language and libraries – Integrated development environment – Available for Windows / Mac / Linux

23

Page 24: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TYPES OF ARDUINO

• Arduino Leonardo • Arduino LilyPad • Arduino Mega • Arduino Nano • Arduino Mini • Arduino Mini Pro • Arduino BT • Arduino Yun

24

Page 25: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

ARDUINO UNO R3 – BOARD LAYOUT

25

Page 26: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

26

Page 27: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

ARDUINO MEGA 2560 – BOARD LAYOUT

27

Page 28: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

MCU - FEATURES• Microcontroller ATmega2560

• Clock Speed 16 MHz

• Operating Voltage 5V

• 256 kb Flash Memory (of which 8 kb used by boot loader)

• 8 kb SRAM

• 4 kb EEPROM

• 54 Digital I/O Pins

• 16 Analog Input Pins

• DC Current per I/O Pin 20 mA

• DC Current for 3.3V Pin 50 mA

• Weight 37g

28

Page 29: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

REQUIREMENTS

29

• Arduino UNO Board. • Bread Board. • Connecting Wires. • Resistors. • Transistors. • LED. • LDR. • Switch. • DC Motor. • LCD Display. • Buzzer.

Page 30: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

ANATOMY OF SKETCH

30

• setup() • loop() • pinMode() • digitalWrite() • delay() • Libraries

Page 31: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 1

31

Blink LED at 100ms Interval

Page 32: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

32

Page 33: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 2

33

Interfacing a Tactile Switch

Page 34: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

34

Page 35: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

35

Page 36: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 3

36

Interface LDR

Page 37: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

37

Page 38: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 4

38

Interface a DC Motor to port

Page 39: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

39

Page 40: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 5

40

LCD Interfacing

Page 41: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

41

Page 42: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 6

42

Acquiring Temperature and Humidity values on Serial Monitor and on LCD Display

Page 43: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

43

Page 44: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

44

Page 45: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

CONNECTIVITY TO CLOUD

45

• We can use either UBIDOTS or THINGSPEAK.

Cloud (UBIDOTS or THINGSPEAK)

Gateway(Wifi Module-ESP2866)

Device(Sensors, actuators)

Page 46: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

TASK 7

46

Simple IoT Application

Ref: (https://ubidots.com/)

Page 47: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

IOT - APPLICATION DEVELOPMENT

47

Analytics

Real time

Notifications

Web

Backend

Page 48: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

SOME APPLICATIONS

48

• Smart Geyser • Smart Air Conditioner • EV Charging Network • Smart GreenHouse - IoT in Agriculture

• Air Temperature and Humidity Control - foggers, Temperature sensor, Peltier

Cooler Sensor. • Photosynthesis at Night Times - LED Lights, LDR sensor can be used. • End Market Connection - RFID Card Readers. • Bee Hive Boxes - for selling honey.

• Temperature Sensing with RFID’s

Page 49: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

GOVT. RELATED

49

• Smart Garbage Collector • Overhead Tank Monitoring • Street Light Automation • Over Speed Monitoring System • Internet Controlled Irrigation System

Page 50: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

IOT APPS (IOS/ANDROID)

50

• WICED Sense • Sensor Tag • openHAB • ArduinoCode • LightBlue • IF • ElectricImp • DOButton • Blink • BeanLoader • Wio • LosantGo

Page 51: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

51

https://temboo.com/iot-applications

Page 52: ARDUINO PROGRAMMING AND IOT APPLICATION …APHRDI/2016/12_D… · AGENDA • Intro to IoT • Intro to Arduino Platform • Hands-on programming using Arduino Platform • Some Applications

REFERENCES

52

• http://www.arduino.cc • http://www.instructables.com • http://www.kickstarter.com