Controllo remoto di dispositivi tecnologici via TCP/IP.

19
Controllo remoto Controllo remoto di dispositivi tecnologici di dispositivi tecnologici via TCP/IP via TCP/IP

Transcript of Controllo remoto di dispositivi tecnologici via TCP/IP.

Page 1: Controllo remoto di dispositivi tecnologici via TCP/IP.

Controllo remoto Controllo remoto di dispositivi tecnologici di dispositivi tecnologici

via TCP/IPvia TCP/IP

Page 2: Controllo remoto di dispositivi tecnologici via TCP/IP.

FMod TCPFMod TCP

Page 3: Controllo remoto di dispositivi tecnologici via TCP/IP.

FMod TCPFMod TCP

Page 4: Controllo remoto di dispositivi tecnologici via TCP/IP.

FMod TCPFMod TCP

Page 5: Controllo remoto di dispositivi tecnologici via TCP/IP.

FMod TCP: applicazioniFMod TCP: applicazioni

Page 6: Controllo remoto di dispositivi tecnologici via TCP/IP.

Protocolli IPProtocolli IP

TCPTCP (Transmission Control Protocol )

affidabile, lento

UDPUDP (User Datagram Protocol )

poco affidabile, veloce

Page 7: Controllo remoto di dispositivi tecnologici via TCP/IP.

Indirizzo IPIndirizzo IP

Un numero che identifica univocamente

nell'ambito di una singola rete i dispositivi

collegati con una rete informatica che

utilizza lo standard IP (Internet Protocol)

Es.: 66.249.93.104

Page 8: Controllo remoto di dispositivi tecnologici via TCP/IP.

Indirizzo MACIndirizzo MAC

Media Access Control

detto anche indirizzo fisico o indirizzo ethernet o

indirizzo LAN, ed è un codice di 48 bit (6 byte)

assegnato in modo univoco ad ogni scheda di rete

ethernet prodotta al mondo

Es.: 00-50-FC-A0-67-2C

Page 9: Controllo remoto di dispositivi tecnologici via TCP/IP.

PortePorte

Le porte sono numeri (in TCP e UDP sono a 16 bit)

utilizzati per identificare una particolare connessione di

trasporto tra quelle al momento attive su un calcolatore.

I pacchetti appartenenti ad una connessione saranno

quindi identificati dalla quadrupla

[<indirizzo IP sorgente>, <indirizzo IP destinazione>,

<porta sorgente>, <porta destinazione>].

Page 10: Controllo remoto di dispositivi tecnologici via TCP/IP.

FMod TCP: applet JavaFMod TCP: applet Java

Page 11: Controllo remoto di dispositivi tecnologici via TCP/IP.

Connessione TCPConnessione TCP

Terminale A Terminale B

Page 12: Controllo remoto di dispositivi tecnologici via TCP/IP.

Connessioni con il moduloConnessioni con il modulo

TCP Port #80 for HTTP communication.

TCP Port #8000 for UART transceiver.

TCP Port #8010 to access I/O registers and I2C bus.

UDP Port #7010 to access I/O registers and I2C bus.

Page 13: Controllo remoto di dispositivi tecnologici via TCP/IP.

Connessioni con il moduloConnessioni con il modulo

PC FMod

valoreregistro

Page 14: Controllo remoto di dispositivi tecnologici via TCP/IP.

RegistriRegistri

Page 15: Controllo remoto di dispositivi tecnologici via TCP/IP.

Lettura via TCP/IP: richiestaLettura via TCP/IP: richiesta

Read register(s) value command:

Byte# Number of bits Example

0x00 Read (0x0021) 16 bits 0x0021

0x02 TransactionID 16 bits 0x1B34

Number of registers to

0x04 read (X) 16 bits 0x0001

X * Registers

0x06 Addresses X * 8 bits 0x02

0x06+X Checksum 16 bits 0x…

Page 16: Controllo remoto di dispositivi tecnologici via TCP/IP.

Lettura via TCP/IP: rispostaLettura via TCP/IP: risposta

The module answers with the following sequence:

Byte# Number of bits Example 0x00 Read Answer (0x0023) 16 bits 0x0023

0x02 TransactionID (same as demand) 16 bits 0x1B34

0x04 Number of bytes in answer 16 bits 0x0019

0x06 Register address 8 bits 0x02

… Register value 8—128 bits (16B) 0x12345

The two previous entries are replicated for every register that has been

asked for reading

… Checksum 16 bits 0x…

Page 17: Controllo remoto di dispositivi tecnologici via TCP/IP.

Scrittura via TCP/IP: richiestaScrittura via TCP/IP: richiesta

Write register(s) value command

Byte# Number of bits Example

0x00 Write (0x0022) 16 bits 0x0022

0x02 TransactionID 16 bits 0x1B34

Number of bytes in

0x04 command 16 bits 0x0003

0x06 Register Addresses 8 bits 0x02

0x07 Register value 8 — 64 bits 0x1234

The two previous entries are replicated for every register that has been

asked for reading

… Checksum 16 bits 0x…

Page 18: Controllo remoto di dispositivi tecnologici via TCP/IP.

Scrittura via TCP/IP: rispostaScrittura via TCP/IP: risposta

The module answers with the following sequence:

Byte# Number of bits Example 0x00 Write Answer (0x0024) 16 bits 0x0024

0x02 TransactionID (same as demand) 16 bits 0x1B34

0x04 0x0000 16 bits 0x0000

0x06 Checksum 16 bits 0x…

Page 19: Controllo remoto di dispositivi tecnologici via TCP/IP.

ChecksumChecksum

Example (in hexadecimal): Example (in hexadecimal): !0x0021 (0XFFDE) 0x0000FFDE (Read)

+!0x1234 (0xEDCB) 0x0001EDA9 (TransID)

+!0x0003 (0xFFFC) 0x0002EDA5 (3 reg to read)

+!0x0A10 (0XF5EF) 0x0003E394 (reg 0A,10,02)

+!0x02(00) (0XFDFF) 0x0004E193

Note that in this case a last 00 is implicitly used. (02 02 00).

0x0004 + 0xE193 = 0xE197, (carry=0)

0xE197 + carry = 0xE197

Checksum = 0xE197Checksum = 0xE197