andrej Štern laboratorij za telekomunikacije andrej.stern ... · zasloni lcd hd44780 s ser/par...

17
Vstop v Internet stvari Andrej Štern Laboratorij za telekomunikacije [email protected] Delavnica o IoT, 23. 4. 2013 MMD, UL Fakulteta za elektrotehniko

Upload: lyminh

Post on 17-Jul-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

Vstop v Internet stvari

Andrej Štern

Laboratorij za telekomunikacije

[email protected]

Delavnica o IoT, 23. 4. 2013

MMD, UL Fakulteta za elektrotehniko

Page 2: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

2

Kaj potrebujemo za vstop v IoT

� Predpostavke

� veselje do ustvarjanja in vztrajnost do produkta

� nekaj opreme, praktičnega znanja in priključek v internet

� Oprema

Senzorji(vhodne naprave)

Uporabniški vmesnik

Računalnik(namizni, prenosni,

tablični, telefon,

vgrajeni sistemi)

Izhodne naprave

Komunikacijskenaprave

Internet

Page 3: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

3

Kako začeti ... in nadaljevati

� Arduino = enostavni gradnik platforme IoT

� odprtokodna strojna (AVR 8bit / ARM 32bit) in programska platforma

� cenovno ugodna razvojna ploščica z vhodno/izhodnimi vmesniki

� vtičnica USB zagotavlja osnovno napajanje, nalaganje in konzolni izpis

� prijazno brezplačno razvojno okolje (IDE) z vnosom C podobnega jezika

� ogromna skupnost zainteresiranih uporabnikov s široko podporo

IDEArduino Uno

Google:28M zadetkov

Page 4: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

4

Različice Arduino opreme

� Osnova: Uno

� Novejši: Leonardo

� In še mnogi drugi

� vsak lahko ustvari svoj klon

� Največji: Mega, ADK

� Manjši: Mini, Micro, Nano, LilyPad

http://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems

(klik!)

Page 5: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

5

Google in Arduino = Arduino ADK

� Nadgradnja Mega (Google’s Accessory Development Kit)

USBhostDodan

vmesnik za povezavoz Androidterminali

preko ADK/ADB

Dodatnonapajanje7-12V

USB klientnapajanje

navideznivmesnikUART izTX0/RX0

Izhod napetosti 3.3V in5V za ščite in module

16x analogni vhodi

Velikost UNO/MEGA

ICSP/SPIvmesnik

SPI

I2CUART 1-30GPIO & PWM

GPIO

I2C

PWM

LED

SerUSB

TipkaRESET

IRQ1,0

IRQ5,4,3,2

T0 T0T1 T1 T2 T2 T4 T4 T4 T3 T3 T3

T5 T5

T5

Page 6: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

6

Razširitve osnovnih plošč s ščiti

� Posebnosti uporabe ščitov (angl. shield)

� pouporaba I/O priključkov

� GPIO ne more biti uporabljen 2-krat

� UART deluje samo kot točka-točka

� I2C se lahko uporablja vzporedno

� SPI komunikacija zahteva nov CS/SS

� http://playground.arduino.cc/Main/ShieldPinUsage

� poraba in zmogljivost

� napajalna napetost +3.3V ali +5V

� omejitev USB vrat do 500 mA

� zunanje napajanje do 1500 mA

� 750 mA za napajanje telefona

� 750 mA za napajanje plošče in ščitov

� nekateri ščiti zahtevajo ločeno napajanje

� tudi 12V in več

Kratek “Uno” ščit deluje tudi na Mega/ADK

(klik!)

Page 7: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

7

Primeri ščitov

� Pogosti ščiti

� Prototype

� Ethernet + SD

� WiFi + SD

� Wireless (Bee)

� Bluetooth

� Sensor

� LCD Keypad

� 8,1cm (3.2”) TFT

� GSM GPRS

� GPS

� USB Host

http://shieldlist.org/

Page 8: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

8

Priključitev senzorjev

� Analogni

� termistor

� termočlen

� svetlobni upor

� senzor vlage

� pospeškometer

� Digitalni

� enostavni (1/0)

� vmesnik I2C

� vmesnik SPI

� vmesnik UART

� drugi vmesniki

� podprto s knjižnicami

Vhod v Arduino

(klik!)

Page 9: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

9

Izhodi in krmiljenja

� Področja

� vizualizacija

� enostavni indikatorji LED, matrike, 7-segmentni prikazovalniki

� krmiljeni RGB-trakovi in matrike LED (SPI)

� zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI

� zvok

� piezzo piskači z vgrajenim oscilatorjem (1/0)

� zvočniki: tone(pin, frequency, duration)

� motorji

� servo motorji s PWM vhodom: knjižnica servo.h

� DC motorji: z uporabo ULN2003 ali L293D

� ostalo� video-izhod

� IR in UZ

� POS-tiskalnik

Page 10: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

10

Komunikacijski vmesniki IP

� Povezljivost IP

� komunikacijski ščiti zagotavljajo velik del funkcionalnosti

� TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE, Ethernet

� tipična povezljivost čez SPI (hitreje) ali UART (počasneje)

� žična povezljivost (Ethernet)

� potrebna programska podpora ~ 7kB

� WizNet W5100, MicroChip ENC28J60

� brezžična povezljivost (WiFi)

� zagotavljanje 802.11 podpore (varnost)

� cena ~ 70€, možnost Ethernet + WiFi usmerjevalnik

� mobilna povezljivost (GSM/GPRS)

� pošiljanje sporočil SMS

� vzpostavljanje govornih povezav

� vzpostavljanje paketnega prenosa� preko vgrajenih funkcij in GSM-knjižnice

Page 11: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

11

Komunikacijski vmesniki WPAN

� Standardizirane tehnologije

� ZigBee 802.15.4

� uporaba XBee brezžičnega ščita

� komunikacija preko UART z ukazi AT

� Series 1 ali Series 2, 2B (ZB, večtočkovna komunikacija)

� izbira tehnologij: https://www.sparkfun.com/pages/xbee_guide

� integrirane ali zunanje antene

� oddajne moči 1mW ali >60mW (PRO)

� Bluetooth 2.x

� neposredni priklop (tudi XBee in LCD-ščit)

� komunikacija preko UART z ukazi AT

� uporaba transparentne BT-povezave (HC-06)

� nastavitev imena, kode PIN, hitrosti UART

� nastavitev vloge gospodar/odjemalec (HC-05)

� veliko več ukazov, potrebno za priklop senzorjev BTPozor: 3.3V - 5.0V

Page 12: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

12

Druge rešitve kratkega dosega

� Uporaba komunikacijskih modulov za vgrajene sisteme

� EU-frekvence 433 MHz, 868 MHz in 2,4 GHz z dometom do nekaj 10(100) m

� Različne stopnje zmogljivosti (primeri)

� Nordic NRF24L01 - TRX, knjižnica mirf.h

� 2.4 GHz, 84x1 MHz, SPI, do 2 Mbit/s

� HopeRf RFM12B - TRX, knjižnica RFM12B.h

� 433/868 MHz, nastavljivi kanali, SPI, do 256 kbit/s

� Linx TXM/RXM-433-LR - TX in RX, serijski

� 433 MHz, fiksna frekvenca 433,92 MHz, do 9600 bit/s

� enostavni RF moduli, knjižnica VirtualWire.h

� 433/868 MHz, oscilator, do 2000 bit/s

� RFID/NFC na 125 kHz / 13,56 MHz

� podpora različnim protokolom

� ISO 14443A, MIFARE

Zmog-ljivo

Enos-tavno

Upo-rabno

Page 13: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

13

Arduino - zagon

� Priključitev Arduino plošče

� prva priključitev zahteva gonilnik (/drivers)

� Nastavitev plošče

� iz nabora menija Tools (orodja)

� Tools -> Board -> Arduino Mega ADK

� določanje serijskih vrat (navidezna)

� za nalaganje programov

� za serijsko konzolo

� določanje programatorja

� za nalaganje zagonskega

programa (ni potrebno)

Plošča

Vrata

COM

Programator

Page 14: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

14

Arduino - testni primer

� Vgrajen primer “Blink”

� povezava na LED na pinu 13

� dve fazi programa

� setup() in loop()

Nalaganje

Setup()- enkratna izvedba- nastavitev parametrov- odpiranje povezav

Loop()

- neskončno ponavljanje- glavni del programa- branje vhodov- nastavitev izhodov- izpisi na serijska vrata

Program = “sketch”

Lastni programi

Veliko vgrajenih primerov

Page 15: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

15

Pachube (Cosm) - vrata v IoT

� Storitev Cosm

� zbiranje podatkov

� analiza

� obveščanje

� alarmi

� statistika

Page 16: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

16

Arduino “konkurenca”

� Raspberry PI

� poceni večpredstavnostna mini-PC platforma

� poganja Linux / Python z SD kartice

� zmogljivost:, ARM 700 MHz, GPU, 512MB RAM

� povezljivost: Ethernet, 2x USB, GPIO, HDMI

� trenutno manj dodatkov za RPI kot Arduino

� potrebno več znanja za prve korake

� Združevanje Arduino + RPI

� Arduino je odličen za IoT in robotiko

� RPI je odličen za težko GPU računanje

� primer: avtonomni robot

� A: senzorji, servo, nadzor

� R: video detekcija, WiFi, računanja

Google: 37M zadetkov

(klik!)

Page 17: Andrej Štern Laboratorij za telekomunikacije andrej.stern ... · zasloni LCD HD44780 s ser/par vmesniki, TFT z vmesniki SPI zvok piezzo piska či z vgrajenim oscilatorjem (1/0) zvo

17

Dodatne informacije

� Arduino spletna stran

� http://arduino.cc/en/Tutorial/HomePage - vsebovani primeri

� http://arduino.cc/en/Reference/Libraries - vsebovane knjižnice

� http://arduino.cc/en/Reference/HomePage - Arduino jezik

� http://arduino.cc/en/Reference/Comparison - primerjava s C

� Prikaz uporabnosti

� Massimo Banzi: How Arduino is open-sourcing imagination