Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Transmitir dados de dispositivos serial via UDP

O Serial to Ethernet Connector pode transmitir dados e mensagens a todos os computadores na sua LAN utilizando UDP.
Teste Gratuito de 14 dias disponível
O preço da licença começa em $259.95
Disponível para

Serial para UDP: Maior flexibilidade na comunicação de dados

A utilização do protocolo UDP proporciona maior flexibilidade devido à sua capacidade de encapsular todos os dados de uma porta serial. É possível configurar mensagens de difusão para simplificar o envio de informações para todos os dispositivos da rede. Não são necessárias definições adicionais para que qualquer pessoa que esteja à escuta na porta especificada receba as mensagens.
Sinais de hardware serial sendo recebidos em vários sistemas

Como compartilhar dispositivos de transmissão via UDP

1
Instale o Serial to Ethernet Connector na máquina conectada ao dispositivo de porta COM que será usado para enviar dados.
Certifique-se de que obtém a versão correta para o seu SO
2
Execute o Serial to Ethernet Connector e crie uma conexão UDP usando a interface do aplicativo. O endereço de difusão é a sub-rede da rede, por exemplo, 196.178.0.255. Em computadores com várias redes, é possível configurar transmissões designadas para cada rede usando a porta UDP.
Selecione “Conexão UDP” e configure-a
3
Agora pode transmitir dados da porta série do dispositivo para um número ilimitado de dispositivos ou aplicativos de rede. Podem ser configuradas várias conexões com portas físicas ou virtuais para um sistema que envia todos os dados gerados por qualquer nó a todos os clientes.
O dispositivo de transmissão aparecerá nos outros computadores na lista de conexões à esquerda
Observação: a difusão é uma técnica comumente utilizada para fornecer informações geradas por um remetente a todos os dispositivos ligados à rede. É frequentemente utilizada para enviar mensagens a todos os nós da rede ou para efetuar a descoberta de dispositivos.

A configuração de definições para permitir a difusão pode exigir a especificação de um endereço que chegue a todos os dispositivos de rede. As redes IP utilizam normalmente 255.255.255.255 para comunicar com todos os nós da rede. As definições para difusão baseiam-se nas tecnologias utilizadas num determinado ambiente informático.

Comentários dos clientes

4.9 classificação geral, baseado em 372 usuários сomentários
Usado com sucesso por mais de 150 empresas em todo o mundo

Perguntas Frequentes

O próprio UDP não vincula o envio e a receção ao mesmo número de porta — um endpoint UDP tem uma porta local na qual escuta e uma porta de destino para a qual envia, e estas podem ser diferentes. As definições de ligação UDP do SEC expõem a configuração de endereçamento e de portas, por isso disposições assimétricas de portas de envio/receção são exatamente o que o UDP foi concebido para acomodar.

Configure isto cuidadosamente para que ambas as extremidades estejam de acordo: qualquer porta para a qual enviar tem de ser a porta na qual a extremidade remota está a escutar, e vice-versa para a direção de retorno. Como não existe um handshake de ligação no UDP para detetar uma incompatibilidade por si, um número de porta incorreto resulta simplesmente em silêncio — pacotes enviados para o vazio sem qualquer erro. Confirme os nomes exatos dos campos e a disposição na caixa de diálogo atual de ligação UDP ao configurá-la.

VERIFICAR antes de publicar: confirmar os campos exatos de portas de envio/receção e as opções na caixa de diálogo de ligação UDP da compilação atual.

Respondido por Bohdan Miniv · Engenharia de QA
Crie uma ligação UDP na máquina ligada ao dispositivo e defina o seu destino para o endereço de broadcast da sua rede — o endereço de host com todos os bits a 1 da sua sub-rede (para uma máscara 255.255.255.0, esse é o endereço .255 do seu intervalo) — juntamente com a porta UDP que os seus listeners irão usar. Qualquer máquina nessa sub-rede com uma aplicação a escutar nessa porta receberá então os dados, sem necessidade de configuração por listener do lado deles.

Alguns pontos práticos: num host com várias interfaces de rede, defina o broadcast para a rede específica que pretende, para não estar a enviar para o segmento errado; e escolha uma porta que ainda não esteja a ser usada por outra coisa na sub-rede. O endereço de broadcast exato depende da sua máscara de sub-rede, por isso baseie-se na sua configuração de rede real em vez de um valor fixo.

Respondido por Bohdan Miniv · Engenharia de QA
Sim, com algumas abordagens, dependendo do que “vários destinos” significa. Se quiser que todas as máquinas no segmento local recebam os dados, uma única difusão (pergunta anterior) é a forma mais simples — um datagrama que a rede entrega a todos os ouvintes na porta. Se quiser um conjunto específico de destinos, pode direcionar o UDP para endereços específicos e, para um grupo definido numa rede devidamente configurada, o multicast é a opção concebida para esse fim.

Dois limites reais determinam a escolha. A difusão não atravessa routers — permanece dentro da sub-rede local — por isso, “vários destinos” noutras sub-redes ou pela internet não podem ser alcançados por difusão; usaria UDP endereçado (unicast) para cada um, ou TCP. E o UDP não oferece qualquer garantia de entrega a nenhum deles, por isso, se todos os destinatários tiverem de receber de forma fiável cada mensagem, o UDP é o transporte errado, independentemente da forma como o endereça.

Respondido por Nikolai Svarachevsky · Programador Principal
RFC 2217 é um conjunto de extensões ao Telnet, e o Telnet funciona sobre TCP porque a negociação de controlo da porta depende das garantias do TCP. Definir uma taxa de baud ou alternar uma linha de sinal é feito com comandos in-band que têm de chegar de forma fiável e por ordem, e as duas extremidades confirmam uma à outra enquanto negoceiam. Isto é inerentemente uma troca orientada à ligação.

O UDP não fornece ligação, ordenação nem entrega garantida — um comando pode perder-se ou chegar fora de sequência em relação aos dados que deveria acompanhar, o que faria com que as duas extremidades discordassem sobre o estado da porta. Portanto, no SEC o UDP é estritamente para transportar dados brutos, tipicamente difusão unidirecional; tudo o que necessite de controlo de parâmetros ou de sinais funciona sobre TCP em modo Telnet. O transporte e o conjunto de funcionalidades estão necessariamente interligados.

Respondido por Nikolai Svarachevsky · Programador Principal
Utilize os controlos de packetização do SEC para acumular bytes antes de serem enviados. Pode reter os dados até chegar um carácter delimitador específico, até decorrer um determinado período de tempo, ou até um bloco atingir um tamanho escolhido — depois, o SEC emite os bytes recolhidos como um único datagrama em vez de os ir enviando em fragmentos. Para um protocolo orientado a mensagens, acionar no carácter de fim de mensagem é normalmente a forma mais simples de obter uma mensagem por pacote.

Uma coisa a ter em conta que é específica do UDP: um datagrama maior do que a MTU da rede será fragmentado ao nível do IP e, com UDP, a perda de qualquer fragmento faz com que todo o datagrama seja descartado. Por isso, procure fazer com que cada mensagem acumulada caiba num único pacote do tamanho da MTU sempre que possível, em vez de criar datagramas muito grandes. Mensagens pequenas e autónomas são aquilo que o UDP gere melhor.

Respondido por Nikolai Svarachevsky · Programador Principal
Para uma ligação de servidor TCP em modo bruto, sim — a definição Enviar dados para tem uma opção Último ativo que devolve dados apenas ao cliente que respondeu por último, juntamente com Receber dados de para o lado de entrada. Se o seu objetivo é "responder a quem acabou de perguntar", essa é a forma documentada de o fazer, e o TCP é a escolha natural porque cada cliente tem a sua própria ligação monitorizada.

Especificamente em difusão UDP, isto não se aplica da mesma forma — a difusão é um modelo de saída de um para muitos, sem uma ligação por cliente para associar uma resposta. Portanto, se precisar de encaminhamento de retorno para o último emissor, utilize um servidor TCP bruto com Enviar dados para → Último ativo em vez de difusão UDP. Se precisar especificamente disto em UDP, descreva o fluxo exato que pretende suportar e confirmaremos o que a versão atual permite.

Respondido por Bohdan Miniv · Engenharia de QA
Serial to Ethernet Connector
Transmitir Dispositivo de Porta Serial por UDP
Teste Gratuito de 14 dias disponível
O preço da licença começa em $259.95
Disponível para