eu fiz um sistema com o Arduíno com uma pagina web q controla uns motores, luzes visualiza sensores, etc

esta funcionando em rede local normalmente porem, preciso fazer o controle de fora da casa por exemplo do trabalho.

assisti uns videos  de como abrir portas e botar no noip mas n consegui. onde moro não tem banda larga e nem  interne-te via radio só tem sinal de telefone e 3g. tenho um plano da vivo 3g 40 gb q pega 173 de ping 2,48 de download e 0,15 de upload 

vou detalhar os aparelhos usados:

um mode roteador MidCom 910 q esta com o chip mas ele tem apenas uma saída de rede q esta ligada num  roteador na tp link TL-WR740N q tem 4 saídas 1 esta ligada no pc outra no Arduíno e outra  ligada em um segundo roteador q esta no telhado de casa com uma antena direcional apena para wifi longe de casa.

como devo pro seguir para poder entrar no Arduíno de fora ?

Desde ja Obrigado 

Exibições: 1169

Responder esta

Respostas a este tópico

opa, Grato pela Ajuda, mas como acessaria o Arduíno como cliente ? seria usando o site  http://www.pushingbox.com/ se sim como configuro o site, tem q botar algum ip especifico no arduino ? o ip q vou acesar externamente pode ser customizado tipo meuprojeto.noip.com ? são muitas duvidas q eu tenho!!!

nao achei tutorial ensinando a usar !!!

Ninguém vai acessar o Arduino como cliente. É o Arduino que vai verificar no servidor MQTT se alguém perguntou alguma coisa a ele. 

E se tiver alguma solicitação, ele responde.

O MQTT é um sistema de mensageria - na forma de publicação/subscrição. Alguém publica e um ou mais clientes se subscrevem.

Por isso a biblioteca se chama PubSubClient - Publisher/Subscribe.

Você vai ter de ler - eu já te disse, os samples estão acessiveis pela IDE do Arduino.

Não precisa fornecer IP, assim que você se conectar como cliente, você tem acesso ao servidor MQTT pela url, ou dns do mesmo.

Por exemplo, se você usar ESP8266, dê uma olhada nessas linhas:

const char* ssid = "........";
const char* password = "........";
const char* mqtt_server = "broker.mqtt-dashboard.com";

ssid é o nome da sua rede wifi, password é a password e mqtt_server é a url (dns) do servidor mqtt que vc vai utilizar.

Tem que ler meu amigo !!!! 

Você não respondeu minha pergunta - como você está se conectando à internet ? Cabo, WiFi ?

Pergunta mal feita. Repetindo:

Como seu arduino se conecta à internet ?

Eu passei por um problema parecido certa vez. Segue como era a situação e como eu resolvi:

A internet era via rádio. Mesmo solicitando pra provedora, mesmo me dispondo a pagar um preço maior se fosse o caso, eles não permitiam conexões entrantes.

Lembrar que a maneira mais comum que o pessoal faz é se aproveitar da existência da permissão de conexões entrantes para então configurar o roteador para que este se responsabilize pelo redirecionamento das conexões vindas da internet para os dispositivos da casa/escritório.

Conheci então o site  http://ngrok.com

Em resumo, vc baixa o software deles no seu computador, instala-o e executa-o. Enquanto o programa ngrok estiver funcionando, ele cria um túnel entre o servidor ngrok e seu computador.

O que fiz então? instalei o ngrok numa máquina virtual local, e nessa máquina virtual rodava um linux. No firewall (iptables) do linux, configurei regras de redirecionamento, por exemplo conexões vindas pela porta 80 eram redirecionadas para o apache porta 80. Conexões vindas pela porta 8080 eram redirecionadas para o IP do arduino na porta 80. Conexoes vindas pela porta 8090 eram redirecionadas para outro linux na porta 80 de uma outra máquina virtual. Conexões vindas pela porta 12000 eram redirecionadas para a câmera IP na porta 80. E assim por diante. Todos os dispositivos com IP que existia na casa poderiam ser expostos à internet usando o ngrok instalado naquele servidor linux rodando numa máquina virtual.

Toda vez que o ngrok era iniciado, criava-se um túnel do tipo: "http://XXXXXXXX.ngrok.io" ---> "http://IPdoLinux(localhost):porta"

(onde o XXXXXXXX mudava aleatoriamente a cada nova inicialização)

Precisei então criar uma solução para esse incoveniente: se em qualquer momento o ngrok desse pau e precisasse ser reiniciado, a URL do ngrok mudaria.

Criei então um script em PHP para rodar localmente no linux. Esse script usava uma API disponibilizada pelo ngrok que, quando chamada, retornava as informações sobre aquela instância em execução do ngrok, como a tal URL pública que deveria ser acessada para se conectar aos recursos via túnel.

usando o cronjob para que esse script fosse rodado de minuto em minuto, bastava então fazer com que o script capturasse informações retornadas pela API e enviasse para um banco de dados na internet. A idéia era que a cada minuto, esse meu script abastecesse o banco de dados com a URL daquele momento.

E onde hospedei esse banco de dados? Usei o hostinger (clicando aqui, vc me ajuda no programa de afiliados do hostinger). Eles disponibilizam contas gratuitas que permitem PHP e mysql em servidores linux.

Ainda, lá na hostinger existe a oferta de domínios grátis, tipo NomeQualquer.890m.com (repare que existe um "890m" a mais no nome do domínio, mas tudo bem, afinal é grátis).

Depois, precisei configurar um banco de dados mysql no hostinger, criar um script php para a tarefa de receber informações vindas do meu servidor linux (contendo as informações vindas da API do ngrok) e gravar no mysql.

Exemplo:
data="2016-07-30 01:26:00" ==> URL="http://xpto234.ngrok.io"
data="2016-07-30 01:27:00" ==> URL="http://xpto234.ngrok.io"
data="2016-07-30 01:28:00" ==> URL="http://xpto234.ngrok.io"
(...)
data="2016-07-30 04:15:00" ==> URL="http://abcd987.ngrok.io"
data="2016-07-30 04:16:00" ==> URL="http://abcd987.ngrok.io"


E por fim, no hostinger hospedei um script index.php para que quando ele fosse acessado via navegador, me redirecionasse automaticamente para a URL mais recente armazenada no mysql.

A partir de qualquer computador na internet, bastava então abrir um navegador e acessar: "http://www.MeuDominioHostinger.890m.com"  e o script index.php me redirecionava para "http://abcd987.ngrok.io"  que por sua vez redirecionava para o IP:porta configurado por mim (exemplo: "http://IPArduino:80" )

Bom, ficou longo mas tentei descrever o caminho das pedras para aqueles que não possuem internet que permita conexão entrante.

Blz ficou longo mas está detalhadisimo obrigado ah e estou ajudando clicando no link vlw

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço