Ola estou fazendo um projeto de acionar reles, ja tenho um programa feito em delphi.

No projeto do arduino fiz como webserver, esta ok! fazendo teste pelo browser.

Minha duvida é como fazer o delphi comunicar com o arduino via ethernet, tentei ultilizar o tcp/ip client mais nao consegui. Seria melhor que o arduino fosse webclient???

(no inicio seria via usb/serial, estava tudo ok!, mais o arduino acabou ficando longe do pc, ultilizei extensor usb via RJ45 (diz q vai ate 50m, meu tem uns 25m) mais conexao cai direto)

alguem pode me ajudar com ethernet do delphi e como ultilizar uma maior distancia usb.

Exibições: 3983

Responder esta

Respostas a este tópico

Aqui em casa fiz uma montagem com esses extensores e ficou 10 !!! Primeiro usei fio comum e nao prestou, depois que li o manual. Tive que usar cabo cat6.

Na verdade, olha o rolo: Liguei uma das saidas de video da placa de video via HDMI<->2RJ45<-HDMI-> na TV da sala e tb um USB<->RJ45<->USB que terminou dentro da luminaria que fica sobre a parede, onde coloquei um adaptador bluetooth.

Aih posso usar um mouse e teclado bluetooth com o computador na tv. deu bem mais de 25m considerando a subida e descida do cabo, mas nao chegou a 50.

Resumindo, recomendo esse tipo de cabo: 

Tem mais caro, com capa de aluminio e tal, mas nao precisa. Precisa ter esse espaçador central e ser enrolado com apertos diferentes.

Ainda, a RS232 tb eh uma interface para longas distancias. Teoricamente se vc mandar via RS232 pelo par trancado... Embora para par trancado o ideal seria RS485 (balanceado). O RS232 pode seguir por ex com 2 fios de um para para TX, 2 para RX e 2 para GND. 

Se alguém puder postar um exemplo de como fazer essa interface seria interessante...um exemplo bem simples de como ler e escrever I/O´s digitais e analógicos...

Utilizei o Delphi ou o VB para criar supervisórios via ethernet para PLC da Beckhoff, é muito tranquilo.

Estou me familiarizando com o Arduino e essa aplicação seria interessante, apesar dele ter a interface via navegador de internet.

Para o Arduino ?

Tem um exemplo bom que vem junto com a IDE, de uma olhada no ReadAsciiString.

Para delphi uso o componente: 

http://www.winsoft.sk/comport.htm

Mas da pra fazer perfeitamente sem... A unica vantagem desse componente é que nosso kit responder um ">" quando vc manda um $13, entao da pra ir tentando abrir uma porta de cada vez e ir procurando o kit sem dar erro. Esse componente permite isso e fica rapido. Na forma nativa fica demorando ou da erro.

Amigo o componente que voce precisa usar no delphi seria o da aba INTERNET o TCPCLIENT (socket), entao voce cria um server socket no arduino(nunca fiz no arduino somente fiz em clp, mais acho que seja possivel), e pode se conectar com ele atraves de qualquer dispositivo via socket, a comunicacao é tcp pura, ou seja, voce precisará criar crc e etc, mais isso é tranquilo.

Alguem + pode da uma luz?

Amigo você pode criar uma espécie de robô no Delphi que varra a página e obtenha os valores das tags HTML.  É o que fazemos quando não se existe outra forma, como webservice ou socket por exemplo. Essa técnica é bastante usada para ler dados da nfe no site da receita por exemplo. Procure por esse exemplo (nfe) que você irá encontrar bastante material para criar o robô. Agora lembrando que só usamos isso caso não o se tenha outra forma,  acredito se tiver como fazer um servidor socket no seu arduino seja uma solução melhor. 

ola,

consegui fazer a comunicaçao delphi -- arduino, fazendo um browser dentro do meu programa  (ultilizando soket internet).

ae apareceu utro problema é seguinte o arduino trava, as vez funciona horas, dias...; e as vez segundos entao trava. Nao consigo nem pingar, so volta a pingar qdo reset arduino e as vez tb necessario reset roteador  (as vez necessario rest varias vez ate uma hora ele conseguir pingar).

Sera incompativel com o roteador? estou com 2 arduino + shield ethernet. uso para controlar reles.                           (ex.: 192.168.1.50/r1on … ex2.: /r1off …. ex3.: 192.168.1.60/r15on…. )

sera programaçao?? tenho 2 arduinos na rede (.1.50 e o .1.60) um deles trava muito mais q o outro (na verdade o 50 quase nao trava) (ja troquei um pelo outro, mudando apenas a programaçao de um no outro) (problema de hardware esta descartado, pois coloquei um 3 kit e mesmo assim ele trava)

Ruim pq qdo trava desliga os reles q estavam ligados qdo reseta. 

Se os 3 são do mesmo lote, principalmente se for chines é possivel ser hardware sim.. Coisas acontecem como o  regulador se transformar em um oscilador se o capacitor for ruim. Capacitor ruim=grande variaçao com a temperatura e baixa vida util. Coisas assim. E todo o lote estar ruim.

Enfim, não sei o que é, mas chutaria pra testar:

- Outro arduino de outro lote, preferencialmente original (italiano);

- Incluir um capacitor maior na entrada da placa, por ex 470uF eletrolitico com 100nF ceramico em paralelo;

- Verificar com teste de continuidade se seu cabo esta bom. Ja vi cabo com 1 fio aberto comunicar mas provocar travamento do roteador depois de um tempo;

- Procurar por funçoes de watchdog, que resetariam automaticamente o hardware se ele travar;

- Trocar o hub. Se ele trava ja ta errado, nao poderia travar em nenhuma condiçao;

ok obrigado!

Tenho 1 arduino original e outros sao chines arduinos e os  w5100. Testei original tb

desde de ontem ta ok os 2, Nao vou mexer por enquanto

- esses capacitores ficaraim em paralelo com a alimentaçao (12v)??

- com watchdog desligaria os reles que estao ligados. No meu programa (delphi) tenha a funçao de salvar o ultimo estado de cada porta (rele). Mais nao gostaria que essa fosse a soluçao. E acho que é justamente quando mando essa funçao de verificar os que estavam ligado e religalos, é quando ele mais trava. Nao sei se é informaçao de mais pra ele nesse momento. (apesar de ter um delay entre cada comando de ligar).

- Sim, em paralelo com os 12V. Eh uma tentativa.. Quem sabe sua fonte está com ruido, sei lá.. Se ela estiver no seu limite de capacidade pode estar esquentando e entra a proteçao termica que desliga e religa quando esfria, tudo chute...
- Pois é, no Arduino o watchdog tem esse problema grave... Se fosse um microcontrolador com boot rapido poderia nem dar tempo de bater os reles (C8051F340 por ex). Ele demora pq fica esperando pra acontecer um download (do bootloader). Se nao acontece sai executando o que ta gravado. O certo é nao travar, mas vc poderia tentar um sistema para memorizar o estado e sobreviver ao watchdog com apenas uma curta apagada nas cargas.

Tentei quase todas opçoes que vc me mandaram, faltou colocar os capacitores. Retirei do local pra fazer teste em casa. (colocar capacitor). Continua tranvando depois de 2, 3 dias. O watdog nao serve pois é ambiente comercial e nao pode ficar apagado. Meu programa delphi tem essa opçao, mais fiz no caso de queda de energia ou outra coisa.

fiz uns videos pra vc pra terem noçao: (1 - era qdo eu queria q fosse usb e 2 é via ethernet)

http://www.youtube.com/watch?v=TsElfX-ghE8

http://www.youtube.com/watch?v=smZPInsk0TU&feature=youtu.be

vlw a todos.

codigo

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço