79
Sistemas Mecatrônicos 1 Redes de comunicação Prof. Rafael V. Aroca Departamento de Engenharia Mecânica Universidade Federal de São Carlos

Redes de comunicação - Robotica Ufscararoca/disciplinas/mecatronica/aulas/17_19...Sistemas Mecatrônicos 1 Redes de comunicação Prof. Rafael V. Aroca Departamento de Engenharia

Embed Size (px)

Citation preview

Sistemas Mecatrônicos 1 Redes de comunicação

Prof. Rafael V. Aroca

Departamento de Engenharia Mecânica Universidade Federal de São Carlos

Redes de comunicação

Figura: https://www.eclipse.org/proposals/technology.paho/

Redes de comunicação

• Principais aplicações para robótica a automação

– Controle e atuação

– Monitoramento e supervisão

– Acesso/operação remota

Redes de comunicação

• Formas de controle em automação e robótica

– Centralizado

– Hierárquico

– Distribuído

• Nível 1: Medição e atuação

• Nível 2: Controle digital direto e sequencial

• Nível 3: Controle supervisório

• Nível 4: Controle de gerenciamento de projeto

Controle e atuação

Figura: http://www.globalspec.com/learnmore/networking_communication_equipment/networking_equipment/distributed_control_systems_dcs

Monitoramento e supervisão

Figura: http://www.watertechonline.com/articles/165866-northern-rockies-regional-municipality-upgrades-its-scada-for-all-water-and-wastewater-treatment-operations?v=preview

Topologias

• Características das redes industriais – Topologias de rede

• Barramento de dados • Estrela • Hierárquico ou árvore • Anel • Malha

• Controle de acesso ao meio – Token – TDM: Time Division Multiplexing – CSMA/CD (Carrier Sense Multiple Access / Colision

Detection)

Portas seriais

• Groover

– Controle numérico distribuído

• 60: várias máquinas ferramenta, 1 computador

• 80: várias máquinas com CPU + computador central

– RS-232 (TX, RX, GND)

• Padrão universal

• Multi-serial

– Redes com RS-232 ou LAN

RS-232

• Comunicação serial full duplex a 3 fios

– TX, RX, GND

– CTS, RTS, DTR

• 60 metros @ 2kbps

• 2 metros @ 57kbps

• Cabos especiais > 100 metros

• Ponto a ponto

Dispositivos RS-232

• Arduino • Centros de usinagem • Scanners laser • Impressoras fiscais • Leitores de código de barras • GPS • PABX (bilhetagem CDR e monitoramento) • IMU • OBD2 • Balanças industriais • Inclinômetro • Controle de acesso • ...

Simples, mas muito usada: RS-485

Figura: http://www.seika.de/english/html_e/NG360_e.htm

RS-485

• Rede com barramento compartilhado

Figura: http://www.smar.com/newsletter/marketing/index172.html

RS-485

• Comunicação full duplex com 4 fios • Comunicação half duplex com 2 fios • Rede local de baixo custo • 35Mbps @ 10 metros ou 100kpbs @ 1000 metros • Multiponto com “enable” (terminador)

• Par trançado • Master/slave • Enable

– Tempo

RS-485

Figura adaptada de: http://humanoids.dem.ist.utl.pt/pc_rs232/overview.html

Dispositivos RS-485

• Muitos! • Sensores de pressão • Termômetros • Sensores de fluxo e vazão • Detectores de gases • Sistemas de alarme • Câmeras de segurança • Controladores Lógicos Programáveis (CLPs) • ...

Controller Area Network (CAN)

• Rede Multiponto • 2 fios com velocidade de 1Mbps a 40m, podendo chegar até +1000m • Terminador • CSMA/CD com NDA (Arbitração não destrutiva) • TT-CAN • Redes veiculares • Rede interna de alguns robôs • Padrões para várias indústrias • Frames de 5 a 13 bytes • 44 a 108 bits • Overhead • Exemplo de produto: EPOS (Maxon) • Disponível em muitos microcontroladores

• Flexray

Rede CAN automotiva

Figura: http://www.aa1car.com/library/can_systems.htm

Figura: http://articles.sae.org/10234/

All your devices can be hacked

https://www.ted.com/talks/avi_rubin_all_your_devices_can_be_hacked?language=en

Could someone hack your pacemaker? At TEDxMidAtlantic, Avi Rubin explains how hackers are compromising cars, smartphones and medical devices, and

warns us about the dangers of an increasingly hack-able world. (TEDxMidAtlantic.)

DNS Poisoning 216.172.160.123

Protocolos

• Organização dos dados “no fio”

– Dados de controle

– Dados úteis (payload)

– Regras em comum

• Exemplo

– TCP/IP

– Protocolo para acessar páginas web

– Ethernet → IP → TCP → HTTP

Protocolos

• 1,200,200 • 2,300,500 • Endereçamento

– Individual – Broadcast

• Binário ou ASCII • Verificação e correção de erros

– Checksum, CRC – Com ou sem confirmação – Retransmissão

Protocolos

• Muitos

• Necessidade de padronização

• Industriais: FieldBus

– Modbus

– ProfiBus

– DeviceNet

– ...

• CAN, SAE, ISOBUS,

Modems

• MOdulator – DEModulator

– BBS

– Dial up

Figuras: http://www.necoso.com/s2e.htm

Modems

• Acesso remoto

• Acesso remoto a aplicações na nuvem (70s)

– Bill Gates

• Machine to Machine (M2M)

– Alarmes e outros sistemas de monitoramento

– Sistemas de rastreamento

ARPANET – 60s

Figura: http://www.vrworld.com/2011/06/29/social-networking-90-reboot-history-of-social-networking/

Internet X Web

• A Internet não é a web!

Figura: http://www.extremetech.com/extreme/147320-cern-boosts-its-search-for-antimatter-with-yandexs-matrixnet-search-engine-tech

Web

• 1980-89 – Tim Berners Lee

– Info.cern.ch • HTTP

• URL

• HTML

– NeXTcube • CPU 25MHz / 64MB RAM

– Apenas um serviço

da Internet

Figura: http://pt.wikipedia.org/wiki/Tim_Berners-Lee

Internet

• ARPANet

• CISCO

• Interconexão de redes

• Padrão comum

– TCP/IP

TCP/IP

Figura: http://www.devmedia.com.br/via-de-mao-dupla-com-websockets-revista-java-magazine-117/28281

Camada de rede / física

• Modems (par trançado de longa distância)

• Fibras oceânicas e terrestres

• Rádios (incluindo Wifi) / Satélites

• Ethernet – Rede LOCAL

– Xerox PARC

– Cabo coaxial

– Cabos de par trançado com Hubs

– Switches

Ethernet

Ethernet is Popping up in Many New Places

From cars to data centers, it’s not just a LAN any more. Despite its original intent as a local network for workstations, Ethernet is

showing up in all sorts of applications for which it is not obviously a good choice. Find out why this keeps happening, and what new areas

Ethernet is likely to dominate.

Fonte: http://app.design.altera.com/e/er?s=1680167719&lid=725&elq=438908b256b24b55b911891eaf2c95d

d http://www.altera.com/technology/system-design/articles/2015/whither-

ethernet.html?utm_source=altera&utm_medium=email&utm_campaign=system_design_journal&utm_content=

Ethernet

• 10Mbps-10Gbps

• MAC Address (6 bytes)

Figura: https://www.edu.uwo.ca/mis/intranet.html

EtherCAT

• Ethernet não garante tempos e determinismo

• Ethernet for Control and Automation – Kuka, PR2, Siemens, ABB, etc...

– Controladores dedicados (passagem)

“As is always said about numbers; “figures don’t lie but liars figure”. Giving any performance numbers for an industrial network is open to suspicion but generally 1000s digital IOs can be updated in 30 microseconds and 100 Servos can be updated at 10Khz.”

Texto: http://www.rtaautomation.com/technologies/ethercat/

Mais informações: http://cdn.ethercat.org/2014/brasil/download/

ARP

• Tabela ARP

– Teste prático

• arp -a

• ARP Spoofing

• ARP Flood

– Switch -> Hub

Camada Internet

• Endereçamento

– IPs reais

– Ips “falsos”

• Configuração básica

– IP

– Máscara de sub-rede

– Gateway

– DNS

Sub-redes

• Rede local ou outra rede?

• Decisão de roteamento

• Tabela de roteamento – Gateway para redes específicas

– Gateway padrão

– Network Address Translation (NAT)

• Roteamento de borda (BGP) – Estático X dinâmico

– PTTs

Troca de tráfego (http://ptt.br/)

Figura: http://ptt.br/. Obtida em 19/05/2015 9:12

PTT São Paulo (capital/parcial)

Figura: http://ptt.br/particip/sp. Obtida em 19/05/2015 9:15

Roteadores (em casa)

Figura: http://www.conceptdraw.com/examples/how-to-draw-a-network-diagram-on-a-map

Roteadores (no mundo)

http://motherboard.vice.com/blog/how-to-hack-the-backbone-of-the-internet

Teste prático

• ICMP – route print / route -n

• Gateway padrão • Rede / Custo / Máscara / Interface

– ping localhost – ping 192.168.0.1

• Rotas – tracert localhost / traceroute localhost – tracert 192.168.0.1 / traceroute 192.168.0.1 – tracert www.ufscar.br / traceroute www.ufscar.br – tracert www.mit.edu / traceroute www.mit.edu – ...

Camada de transporte

• UDP ou TCP

• UDP – User datagram Protocol

– DNS

– Vídeo

– Chamadas telefônicas

– Não tem confirmação de recebimento

– Não tem retransmissão

– Serviço (porta)

UDP: Aplicação

• Domain Name Service (DNS)

– Resolução de nome

– DNS reverso

Figura: http://computer.howstuffworks.com/dns.htm

Camada de transporte

• Transfer Control Protocol (TCP)

– Conexão (circuito virtual)

– Confirmação de recebimento

– Garantia de entrega

– Verificação

– Sequência

– Serviço (porta)

Camada de aplicação

• Portas típicas TCP – HTTP: 80

– STMP: 25

– POP: 110

– FTP: 21

– DNS: 53

– Telnet: 21

– DHCP: 546

– NetBIOS: 137

– ...

Figura: http://www.cisco.com/en/US/docs/internetworking/troubleshooting/guide/tr1907.html

Firewall

• Bloqueio de portas (filtro de pacotes)

• Detecção de intrusão (IDS)

Comutação de pacotes: http://computer.howstuffworks.com/firewall.htm

Exemplos práticos

• ICMP – Ping

– tracert / traceroute

• DNS – ping / nslookup

• HTTP – telnet www.uol.com.br 80

• SMTP – telnet smtp.ufscar.br 25

Exemplos práticos

• Sniffer

– Wireshark

• ICMP

• HTTP

• SMTP

Sockets

• Modelo cliente-servidor – Cliente = qualquer máquina

• Exemplo App Inventor

– Servidor = qualquer máquina

• MATLAB – Servidor

– Cliente • tcpip()

– Envio e recepção

MATLAB

• Sockets Web

– A = urlread('http://www.uol.com.br')

– A(1)

– A(n)....

– A = urlread('http://<ip-arduino>/liga')

– A = urlread('http://<ip-arduino>/desliga')

Considerações finais

• Hoje tudo está conectado • Baixo custo de redes Ethernet • Equipamentos industriais com um IP • Controle e monitoramento de muitos dispositivos via

web • Comodidade para sistemas de manufatura integrada

por computador (CIM) • Riscos de segurança

– Caso da Boeing e Airbus – Aniônica com Ethernet e problemas com a FAA

• “How to Hack Into a Boeing 787”

Leitura recomendada

• Vídeos recomendados – The Good Warriors of the Net - IP for Peace

• https://www.youtube.com/watch?v=x9XWxD6cJuY

– Nerds 2.0.1

– A vingança dos Nerds

– Software: Wireshark

• Leitura – Bolton, Redes de Comunicação

– Bayle, J. C Programming for Arduino • Capítulo 11