não sei se os amigos ja fizeram algo parecido, há algumas placas no mercado , modulos arduinos que são comunicação tc-ip
algum amigo tem um pequeno exemplo do uso de comunicação tc-ip para hardware?
por exemplo um modulo w5500 ele é rede e não conversão de serial para rede..
Comunicação Tcip com Hardwares
Enviado: 01 Mar 2023 16:46
por JoséQuintas
Nascimento escreveu:não sei se os amigos ja fizeram algo parecido, há algumas placas no mercado , modulos arduinos que são comunicação tc-ip
algum amigo tem um pequeno exemplo do uso de comunicação tc-ip para hardware?
Na prática isso não existe.
Tá olhando de forma errada.
O que existe são programas que atendem comunicação TCP/IP, e a comunicação segue esse padrão.
O servidor MySQL aceita conexões TCP/IP protocolo MySQL, geralmente usando um cliente MySQL
O servidor SQLServer aceita conexões TCP/IP protocolo SQLServer, geralmente usando um cliente SQLServer.
Um webservice aceita conexões TCP/IP no protocolo webservice, geralmente usando uma classe pra webservice.
O hbnetio do harbour aceita conexão TCP/IP no protocolo hbnetio/harbour, compilando hbnetio no EXE.
TCP/IP é apenas um meio de comunicação, não é a comunicação propriamente dita.
E o hardware em questão tem conexão TCP/IP que vai aceitar protocolo
E nesse protocolo vai precisar qual cliente/classe
E vai precisar quais parâmetros
deve ter no manual
As possibilidades são infinitas.
Comunicação Tcip com Hardwares
Enviado: 01 Mar 2023 17:44
por Nascimento
eu sei amigo quintas, ele recebe e envia requisições via http , com ip/porta/comando
no hardware tem funções que esperam envio de comandos estilo http
acho que é mais ou menos isso , e não achei manual, é chinesa "aliexpress" , lá so tem um comentário basico de funcionamento
veja que ela usa 485 que ja sei usar, mais no quadro atual preciso usar tcp-ip
Número da porta: 30000 digite http://192.168.1.4/30000 na barra de endereços do navegador, você pode controlar o interruptor correspondente, pressione e segure "reset" até que a luz se apague. Em seguida, ele irá restaurar o ip padrão de fábrica e número de porta
Provavelmente, depois que ligar no roteador e digitar isso, tem acesso a manual e tudo mais.
No caso de configuração errada, o reset volta a esse default.
É que pode até alterar essa porta/endereço.
Comunicação Tcip com Hardwares
Enviado: 01 Mar 2023 18:23
por JoséQuintas
Basicamente igual fazemos no roteador, que digitamos o endereço e vém as coisas pra mexer.
Comunicação Tcip com Hardwares
Enviado: 01 Mar 2023 18:36
por JoséQuintas
Da China também.
Mas WI-FI.
Controle remoto universal pra tudo que é aparelho, podendo controlar pelo celular ou Alexa.
É só esse trocinho, e só liga na fonte de alimentação, o resto é por wi-fi.
Parecido com esse, só muda que é wi-fi, e não por cabo.
Mas o programa do fabricante faz o resto.
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 00:34
por Nascimento
N amigo esse hardware fica esperando os comandos
Ip/porta/comando
Para ligar e desligar os relés
Sei que são comandos via HTTP, mais deixa quieto vou pesquisar mais , vlw
Pq vi que vc n entendeu , n quero 1 alexa quero enviar comandos pelo harbour
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 07:52
por Itamar M. Lins Jr.
Olá!
Sei que são comandos via HTTP, mais deixa quieto vou pesquisar mais , vlw
Não está misturando as coisas ?
HTTP Só PELO APACHE ou IIS ou NGINX etc... HTTP é protocolo de HIPERTEXTO. Tudo na internete precisa do TCP/IP. Que é quem LEVA e TRAZ os PACOTES...
Para receber comandos HTTP é <html> bla,bla,bla</html>
O resto que pode está no HTTP é jogado para o programa que irá realizar as outras operações.(PHP/Mod_harbour/Java,Python...)
Saudações,
Itamar M. Lins Jr.
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 08:15
por carlaoonline
Bom dia!
Essa placa nada mais é do que um Arduino (ou similar) que vem integrado um modulo 8 relés e um módulo Ethernet que propicia que ele se transforme em um Servidor Web (gera uma site que pode ser acessado pela internet)
Para que ela funcione, obrigatoriamente o modem da sua operadora de internet tem que aceitar a liberação de portas IPV4 nas configurações NAT (ou DMZ).
Recomendo usar o Esp32 (similar Arduino) é uma das mais rápidas e já vem com módulo WiFi integrado, aceita tb o módulo Ethernet (pra usar cabo de rede se quiser)
É feito a programação em "C" em um editor de texto (o do próprio Arduino) e gravado nessa placa, essa programação possui as configurações onde você deverá colocar o número da porta escolhida (a mesma que tem que liberar no modem) bem como as configurações de endereço IP, máscara de Sub Rede e Geteway padrão.
E exatamente como o Quintas falou:
Nessa programação também deverá ser criada a página que o usuário verá ao digitar no navegador o endereço seguido da porta escolhida:
JoséQuintas escreveu:Número da porta: 30000 digite http://192.168.1.4/30000 na barra de endereços do navegador
A programação é muito simples (é em C), só pra ter uma ideia (caso não tenha ainda) a parte da programação que cria o site "SE FOSSE EM HARBOUR" seria mais ou menos assim:
...
? "<!DOCTYPE html>"
? "<html>"
? "<head>"
? " <title>Luz da Sala</title>"
? "</head>"
? "<body>"
? " <h1>Meu Site Simples</h1>"
? " <button>Liga a lâmpada</button>"
? " <button>Desliga a Lâmpada</button>"
? "</body>"
? "</html>"
...
Segue abaixo um exemplo de código para Esp32 que cria um Web Server usando a porta 3000 e apresentando ao usuário quatro botões para Ligar/Desligar luz da Sala ou do Quarto.
Nesse exemplo, o Relé da sala deverá estar ligado no pino 2 da placa e o da cozinha no pino 4
Quando o usuário clicar no botão "Ligar luz da sala" o módulo energizará o pino 2 que ligará o relé correspondente
#include <WiFi.h>
const char* ssid = "nomedarede"; //coloque o nome da sua rede WiFi
const char* password = "senhadarede"; //coloque a senha da sua rede WiFi
WiFiServer server(3000); //cria um servidor web na porta 3000
IPAddress ip(192, 168, 1, 50); //define o endereço IP do ESP32
void setup() {
Serial.begin(115200);
pinMode(2, OUTPUT); //define o pino 2 como saída para o relé da luz da sala
pinMode(4, OUTPUT); //define o pino 4 como saída para o relé da luz da cozinha
WiFi.config(ip); //configura o endereço IP do ESP32
WiFi.begin(ssid, password); //conecta-se à rede WiFi
while (WiFi.status() != WL_CONNECTED) { //espera a conexão ser estabelecida
delay(1000);
Serial.println("Conectando-se à rede WiFi...");
}
Serial.println("Conexão WiFi estabelecida");
server.begin(); //inicia o servidor web
Serial.println("Servidor web iniciado");
}
void loop() {
WiFiClient client = server.available(); //verifica se há conexões de clientes
if (client) { //se houver uma conexão
Serial.println("Novo cliente conectado");
String request = client.readStringUntil('\r'); //lê a requisição do cliente
Serial.println(request); //imprime a requisição no monitor serial
if (request.indexOf("/ligarsala") != -1) { //se o botão "Ligar luz da sala" for pressionado
digitalWrite(2, HIGH); //liga o relé da luz da sala
} else if (request.indexOf("/desligarsala") != -1) { //se o botão "Desligar luz da sala" for pressionado
digitalWrite(2, LOW); //desliga o relé da luz da sala
} else if (request.indexOf("/ligarcozinha") != -1) { //se o botão "Ligar luz da cozinha" for pressionado
digitalWrite(4, HIGH); //liga o relé da luz da cozinha
} else if (request.indexOf("/desligarcozinha") != -1) { //se o botão "Desligar luz da cozinha" for pressionado
digitalWrite(4, LOW); //desliga o relé da luz da cozinha
}
//envia a página HTML ao cliente
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE html>");
client.println("<html>");
client.println("<head>");
client.println("<title>Controle de Luzes</title>");
client.println("</head>");
client.println("<body>");
client.println("<h1>Controle de Luzes</h1>");
client.println("<button onclick=\"location.href='/ligarsala'\">Ligar luz da sala</button>");
client.println("<button onclick=\"location.href='/desligarsala'\">Desligar luz da sala</button>");
client.println("<button onclick=\"location.href='/ligarcozinha'\">Ligar luz da cozinha</button>");
client.println("<button onclick=\"location.href='/desligarcozinha'\">Desligar luz da cozinha</button>");
client.println("</body>");
client.println("</html>");
delay(10);
client.stop(); //encerra a conexão com o cliente
Serial.println("Cliente desconectado");
}
}
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 09:13
por Nascimento
É eu vivo misturando as coisas. Aff tempos atrás
Foi com modbus. Em fim como eu falei
Vou pesquisar mais , ate em outras linguagens
Ao menos da uma ideia de como fazer
No harbour
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 11:07
por JoséQuintas
Nascimento escreveu: Em fim como eu falei
Vou pesquisar mais , ate em outras linguagens
Ao menos da uma ideia de como fazer
No harbour
Não entendeu nada.
Liga esse troço no roteador, e acessa pelo roteador.
Provavelmente vai encontrar todo manual.
Não se trata de procurar manual, e sim de já ligar e acessá-lo, pra ver as instruções.
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 11:38
por Nascimento
ta bom mestre quintas é eu que não entendi, estou dizendo desde ontem que não tem manual as infos que tem esta na pagina
a comunicação é via ip, ip/porta/comando
e eu que não entendi nada?, sei que abre o soquete no harbour, só preciso entender como , mais deixa queto.....
se puder até apagar esse post agradeço pq não tem info importante nem uma só encheção de linguiça
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 11:40
por Nascimento
Segue abaixo um exemplo de código para Esp32 que cria um Web Server usando a porta 3000 e apresentando ao usuário quatro botões para Ligar/Desligar luz da Sala ou do Quarto.
exato amigo ai é na ide arduino, porém eu ja tenho a placa , o que eu precisaria era de fazer o HARBOUR se comunicar com ela, mais aqui ta dificil até de explicar , como disse deixa queto...
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 11:57
por Itamar M. Lins Jr.
Olá!
o que eu precisaria era de fazer o HARBOUR se comunicar com ela
Veja bem, eu já entendi ai o processo.
A placa é um CPU, com um servidor WEB.
Para se comunicar tem que usar a IDE. Gravar os arquivo em ".C", ".H"... Só assim. Não é usando SOCKET com o Harbour.
Mas essa placa tem uma porta //192.168.0.1:3000/ que vc consegue acesso via CELULAR/COMPUTADOR NORMAL.
SE nessa porta TEM a PAGINA WEB com as POSSÍVEIS CONFIGURAÇÕES da PLACA eu não sei. Como se fosse a PAGINA WEB ai do ROTEADOR, para mexer nas senhas e outras configurações.
Isso é um MINI COMPUTADOR. Tem desses com saída de vídeo e teclado. Os tais Shields que compra e vai encaixando nela.
O Harbour é o de menos nesse processo.
Saudações,
Itamar M. Lins Jr.
Comunicação Tcip com Hardwares
Enviado: 02 Mar 2023 13:02
por JoséQuintas
Itamar M. Lins Jr. escreveu:Veja bem, eu já entendi ai o processo.
A placa é um CPU, com um servidor WEB.
Para se comunicar tem que usar a IDE. Gravar os arquivo em ".C", ".H"... Só assim. Não é usando SOCKET com o Harbour.
Mas essa placa tem uma porta //192.168.0.1:3000/ que vc consegue acesso via CELULAR/COMPUTADOR NORMAL.
SE nessa porta TEM a PAGINA WEB com as POSSÍVEIS CONFIGURAÇÕES da PLACA eu não sei. Como se fosse a PAGINA WEB ai do ROTEADOR, para mexer nas senhas e outras configurações.
Acho que exagerou sobre IDE.
Contém um servidor web, e vai ser tudo via protocolo web.
hbtip deve ser o suficiente.
Só imagino que deva ter alguma senha, ou algo especial, senão qualquer invasor teria acesso.
Igual meu controle remoto universal, ou chave liga/desliga