Ir ao conteúdo

Posts recomendados

Postado
50 minutos atrás, alexandre.mbm disse:

 

Talvez exista biblioteca para isso, mas você também pode processar o resultado de uma site tal como o meuip.com.br.

 

Oops!

Soluções bem melhores:

@lucianolcoa , a explicação de #872, nada mudou?!

Então hermano, valeu por voce ter me ajudado. Ate consegui fazer um uso melhor daquela ferramenta do firefox, só que não vi um metodo post, mas sim um get Õ.õ. E  tinha que fazer um serviço em casa e depois tive que ir ao trabalho, então não deu pra postar a resposta ainda de manha para voce...

 

Mas vi um GET HTTP e aquele cabeçalho maluco tipico do ethernet shield do arduino. E quando acionava os togle buttons do site, o firefox não fumfava, só com os refresh da pagina. Sinceramente, não faço nem ideia, acho que é algo que foge a minha compreensão *-*

adicionado 2 minutos depois
39 minutos atrás, rodrigocirilo disse:

@lucianolcoa Entendi.. pensei que fosse só aqui hehe... quem sabe é algum pequeno bug que logo seja resolvido..

 

@alexandre.mbm  Mas como eu iria usar algum desses site pra pegar o  MEUIP e enviar?? não faço ideia..

Rodrigo, esse site é experimental, creio que o sujeito queira desenvolver uma ide no estilo bascom e criou esse negocio para arriagar possiveis clientes. Se for isso, ótima sacada do sujeito. Só que como tal deixa a desejar por pouco suporte a sensores. Sensores especificos simplesmente fica difícil a implementação como aqueles sensores de eco ou sensores de oxigenio. Ele implementou os dht por que todo mundo usa graças a sua "versatilidade" mas por enquanto não passa disto.

 

Se a ide do arduino não fosse tão instavel, ja teria migrado pra ela a tempos. mas....

  • Membro VIP
Postado
8 minutos atrás, lucianolcoa disse:

... vi um GET HTTP e aquele cabeçalho maluco tipico do ethernet shield do arduino. E quando acionava os togle buttons do site, o firefox não fumfava, só com os refresh da pagina.

 

Parece muito que você identificou a requisição errada. Em todo caso, no seu lugar, eu iria implementar REST, invés de ficar tentando fazer malabarismo com o HTML da navegação. Você pode procurar uma biblioteca. Não acredito que exista REST no Esp8266Basic.

Postado
2 minutos atrás, alexandre.mbm disse:

 

Parece muito que você identificou a requisição errada. Em todo caso, no seu lugar, eu iria implementar REST, invés de ficar tentando fazer malabarismo com o HTML da navegação. Você pode procurar uma biblioteca. Não acredito que exista REST no Esp8266Basic.

E que pra ser sincero Alexandre, sou um completo iniciante em linguagem html, sei fazer apenas os basicos <br> <center> <h1> <h2> essas coisas e as requisições php  do estilo fopen, pra se comunicar com a porta serial, nada que vá muito longe disso...

 

Eu realmente fiquei impressionado com o http header do firefox, toda pagina ele dava aquela enxurrada de dados mostrando o fluxo de atualização e navegação. Só que na tela do espbasic, aonde eu configurei o ip, ele ficava mudo... calado... so no f5 que vinha o "refresh" dele. Então, não faço a menor ideia. O que eu pensei e fazer um vídeo no camtasia e te mostrar o negocio funcionando, ver se voce tem alguma luz a partir do que ira ver e ouvir.

Postado
44 minutos atrás, alexandre.mbm disse:

@rodrigocirilo , não sei responder quanto ao smtp2go.

Estão aí pelo menos três vias para conhecer o IP.

Para que você quer isso mesmo?!

Bom, na verdade sobre o smtg2go ja estou testando um posto do @aphawk sobre isso..

Minha duvida maior é como usar esse ipify.org dentro do cenário esp8266basic.. nao tenho ideia de como usar isso.

  • Membro VIP
Postado

@lucianolcoa , eu não conseguiria acessar seu ESP daqui? Você não abriu as portas para a Internet? Em caso afirmativo, mande-me o endereço.

 

Ou podemos usar Teamviewer, já que não se trata de uso comercial.

 

Um problema que estou vendo é que talvez haja algo errado com esse seu ESP, a nível de programação ou mesmo de hardware. Mas se está funcionando...

 

Caso vá usar Teamviewer, mande-me seu código em privado.

Postado
3 minutos atrás, alexandre.mbm disse:

@lucianolcoa , eu não conseguiria acessar seu ESP daqui? Você não abriu as portas para a Internet? Em caso afirmativo, mande-me o endereço.

 

Ou podemos usar Teamviewer, já que não se trata de uso comercial.

 

Um problema que estou vendo é que talvez haja algo errado com esse seu ESP, a nível de programação ou mesmo de hardware. Mas se está funcionando...

 

Caso vá usar Teamviewer, mande-me seu código em privado.

Pra ser sincero esse esp que estou usando ele e meio esquisito mesmo. Tenho 2 esps, esse em particular ele nao funciona na ide do arduino, o outro funciona. Ainda não tentei usar o firefox no outro por que nao queria perder a firmware ja compilada, mas acho que não tenho outra saída :(

 

Sobre abrir portas, nunca tenntei aprender a como abrir portas por acesso remoto, nem sei comofaz. Me da uma luz se possivel nisso tambem. Meu modem é net virtua, aquelas paradinhas de setar as portas de jogo sei fazer pelo ip do modem, agora configurar ip estatico não sei fazer x_x

Postado
1 hora atrás, alexandre.mbm disse:

@rodrigocirilo , não sei responder quanto ao smtp2go.

Estão aí pelo menos três vias para conhecer o IP.

Para que você quer isso mesmo?!

Quero pegar o IP do momento (ip dinamico) e enviar de tempos em tempos, pois caso caia a energia o modem reseta e "pega" outro IP ai eu saberei o novo ip através do email recebido. Ja está funcionando a parte do smtp2go.. só falta capturar o IP externo e formatar na mensagem.

  • Membro VIP
Postado
1 hora atrás, lucianolcoa disse:

Sobre abrir portas, nunca tenntei aprender a como abrir portas por acesso remoto, nem sei comofaz. Me da uma luz se possivel nisso tambem. Meu modem é net virtua, aquelas paradinhas de setar as portas de jogo sei fazer pelo ip do modem, agora configurar ip estatico não sei fazer x_x

 

Você não precisa de acesso remoto. Faça de dentro da rede. Ou teria de ter um espelhamento de tela em máquina interna, ou ter desbloqueado, no roteador, o acesso às configurações por interface WAN (lado da Internet). Liberar a porta foi ensinado por um colega acima, e é como aquilo que você faz pra jogar.

 

IP estático para fora você não configura. Ou o provedor lhe dá um IP real (em plano empresarial), ou você precisa de um serviço de atualização de IP dinâmico. Isso também foi comentado anteriormente, neste tópico.

 

Eu, particularmente, gosto do No-IP. Tem plano gratuito, que exige clique de confirmação mensal. Para um teste, você não precisará configurar cliente automatizador de atualização. O uso No-IP dispensará o uso do smtp2go. 

 

1 hora atrás, rodrigocirilo disse:

Quero pegar o IP do momento (ip dinamico) e enviar de tempos em tempos, pois caso caia a energia o modem reseta e "pega" outro IP ai eu saberei o novo ip através do email recebido. Ja está funcionando a parte do smtp2go.. só falta capturar o IP externo e formatar na mensagem.

 

Na verdade, você não precisa fazer essas coisas no ESP. Outro dispositivo da rede pode fazer pra você, e sem esforço de programação seu. Será muito mais simples. Poderá ser o próprio roteador, caso ele suporte o serviço de IP dinâmico da sua preferência. Qual é o modelo do seu roteador?

 

Você está complicando. Mas se quer o ESP totalmente autônomo, continue.

 

No caso do No-IP, a pessoa instala um cliente numa máquina que fique ligada o tempo necessário (24x7, por exemplo). Desse modo, de tempos em tempos a máquina atualizaria o IP no servidor do No-IP. Você teria sua própria URL!

 

Se quer economia de energia, implemente algo em Arduino com rede, que faça essa atualização de IP. Ou pode usar o concorrente do 8266. Ele tem uma porta RJ-45. Ou pode usar um ESP01. Ou um RaspberryPi...

 

@aphawk, haveria como embutir um blob Arduino no Esp8266Basic?

Postado
54 minutos atrás, alexandre.mbm disse:

 

Você não precisa de acesso remoto. Faça de dentro da rede. Ou teria de ter um espelhamento de tela em máquina interna, ou ter desbloqueado, no roteador, o acesso às configurações por interface WAN (lado da Internet). Liberar a porta foi ensinado por um colega acima, e é como aquilo que você faz pra jogar.

 

IP estático para fora você não configura. Ou o provedor lhe dá um IP real (em plano empresarial), ou você precisa de um serviço de atualização de IP dinâmico. Isso também foi comentado anteriormente, neste tópico.

 

Eu, particularmente, gosto do No-IP. Tem plano gratuito, que exige clique de confirmação mensal. Para um teste, você não precisará configurar cliente automatizador de atualização. O uso No-IP dispensará o uso do smtp2go. 

 

 

Na verdade, você não precisa fazer essas coisas no ESP. Outro dispositivo da rede pode fazer pra você, e sem esforço de programação seu. Será muito mais simples. Poderá ser o próprio roteador, caso ele suporte o serviço de IP dinâmico da sua preferência. Qual é o modelo do seu roteador?

 

Você está complicando. Mas se quer o ESP totalmente autônomo, continue.

 

No caso do No-IP, a pessoa instala um cliente numa máquina que fique ligada o tempo necessário (24x7, por exemplo). Desse modo, de tempos em tempos a máquina atualizaria o IP no servidor do No-IP. Você teria sua própria URL!

 

Se quer economia de energia, implemente algo em Arduino com rede, que faça essa atualização de IP. Ou pode usar o concorrente do 8266. Ele tem uma porta RJ-45. Ou pode usar um ESP01. Ou um RaspberryPi...

 

@aphawk, haveria como embutir um blob Arduino no Esp8266Basic?

Com o NO-IP da pra configurar u email caso algum botao de sensor seja acionado????tipo o do  smtp2go. ?

Postado

@alexandre.mbm  Quero tudo autônomo, tudo no ESP, nada em roteador nem maquina virtual..

 

No site ipify.org tem a seguinte informação de programação:

$ curl 'https://api.ipify.org?format=json'
{"ip":"ele_pegou_meu_ip"}

E tem ainda nas linguagens: 

BASH

PYTHON

Ruby

PHP

JAVA... etc e varias outras..

 

Preciso  saber como usar esse comando  dentro do esp8266basic.. 

Postado
35 minutos atrás, aphawk disse:

@alexandre.mbm ,

 

Bom, se primeiro você me explicar o que é um Blob .... eu vou saber o que te responder kkkkk esqueceu que tenho 56 anos ????????? Só entendo de Basic e Asm kkkkkkk  :lol:

 

Paulo

Aphawk, sei que não é bem o forum pra fazer essa pergunta, mas uma duvida. Eu finalmente consegui entender e utilizar timers. Só que não consigo usar ambos os timers, ou vai m ou vai outro. No meu caso eu precisaria de um "timer principal", coloquei entre aspas que lembro que voce me explicou que não ha prioridades em timers no bascom. e um timer que funcionasse apenas quando apresentasse nivel logico baixo em qualquer uma das saídas, que seria quando eu apertasse um botao qualquer ou um alarme disparasse. Ate fiz o codigo com o "timer principal" so que o secundario não vai. ps: Se assim for solicitado por voce, posto meu código incompleto aqui.

adicionado 7 minutos depois
9 minutos atrás, rodrigocirilo disse:

@alexandre.mbm  Quero tudo autônomo, tudo no ESP, nada em roteador nem maquina virtual..

 

No site ipify.org tem a seguinte informação de programação:


$ curl 'https://api.ipify.org?format=json'
{"ip":"ele_pegou_meu_ip"}

E tem ainda nas linguagens: 

BASH

PYTHON

Ruby

PHP

JAVA... etc e varias outras..

 

Preciso  saber como usar esse comando  dentro do esp8266basic.. 

Não querendo te desanimar mas sei não, ando meio "broxado" com a capacidade do esp. Programar pelo site é uma boa, mas tem bastantes limitações, e pelo menos comigo. programar pela ide do arduino sempre trava depois de um tempo. E o arduino ethernet shield ele nunca travou, nem mesmo dava uma "piscada"

  • Membro VIP
Postado
46 minutos atrás, lucianolcoa disse:

Com o NO-IP da pra configurar u email caso algum botao de sensor seja acionado????tipo o do  smtp2go. ?

 

Não. É outra coisa. Isso (acima) é outra funcionalidade. Com o No-IP, você não precisa ter notificação por e-mail "para avisar" que o IP mudara. Deixe o smtp2go para o que é mais útil, tal como isso que você acaba de exemplificar: aviso sobre comando específico.

 

adicionado 7 minutos depois
43 minutos atrás, rodrigocirilo disse:

@alexandre.mbm  Quero tudo autônomo, tudo no ESP, nada em roteador nem maquina virtual..

 

Não falei em máquina virtual. Mas concordo com sua exigência. Apenas mencionei que, se há um computador ligado direto em sua rede, esse computador poderia ser responsável por atualizar o No-IP.

 

43 minutos atrás, rodrigocirilo disse:

Preciso  saber como usar esse comando  dentro do esp8266basic.. 

 

Se insiste nesse caminho, tente o wget dele.

wget("www.google.com/")
adicionado 17 minutos depois
1 hora atrás, aphawk disse:

Bom, se primeiro você me explicar o que é um Blob .... eu vou saber o que te responder kkkkk esqueceu que tenho 56 anos ????????? Só entendo de Basic e Asm kkkkkkk  :lol:

 

Não estou afinado com o significado formal disso, mas eu quis lhe perguntar sobre chamar binário. Pedir o resultado de um código ilegível por humanos. Como no Windows a pessoa usa um .dll, ou no Linux a pessoa usa um .so.

 

Ou ainda poderia ser como você embute código ASM em código de Bascom. Dá pra fazer algo assim no Esp8266Basic?

 

Na minha imaginação passou que o colega poderia implementar alguma coisa usando a linguagem do Arduino. Na verdade, uma biblioteca completa. Então ele a usaria dentro do Esp8266Basic, se for possível. Dois objetivos imediato: (1) implementar REST e (2) implementar cliente No-IP.

  • Membro VIP
Postado
10 minutos atrás, lucianolcoa disse:

pra que serve esse comando wget?

 

Pegar o HTML da URL. Eu sei que é pra vim o JSON, mas talvez o Esp8266Basic não faça a distinção, ou talvez isso não esteja rígido nos cabeçalhos da resposta HTTP.
 

Citação

Will fetch the html contents of a web page and return it as a string.

Do not put "http://" in front of the url. Defaults to port 80 if none is specified.


wget({String or var name for url},{Optional port number})

 

 

Postado

@lucianolcoa ,

 

Poste o seu código no tópico destacado no topo da página sobre programação em Basic com os AVRs, me diga qual é o seu processador, o clock dele, e quais os pinos que você está pretendendo usar, e eu acerto pra você.

 

Paulo

  • Curtir 1
Postado
45 minutos atrás, alexandre.mbm disse:

 

@aphawk , esse?

 

Sim, esse mesmo !

 

Aproveitando e te respondendo sobre usar mix no ESP8266 ....

 

O bascom só compila para a família dos microcontroladores da Atmel, o ESP usa uma uma outra família, então não tem como fazer isso.

 

Mas uma coisa que dá ( quer dizer, se souber bem a fundo o que se está fazendo ... ) é acrescentar mais funções no código do ESP8266Basic, essas função são todas escritas na IDE do Arduino, e já saem compiladas para o ESP8266.

 

Por exemplo, eu pedi para o autor do ESP8266Basic incluir as rotinas para tratar o sensor BME280, pois ele é bem preciso, na teoria é pegar a library que existe da Adafruit , e ajeitar as rotinas para usar ela.

 

Mesmo assim até o momento não foi feito....

 

Paulo

 

 

  • Curtir 1
  • Membro VIP
Postado

@aphawk, não tem como "plugar" isso?

Terá de ser o build de um Esp8266Basic completo?

 

adicionado 1 minuto depois
11 horas atrás, lucianolcoa disse:

Esse comando wget serviria por exemplo, pra pegar a hora exata de um site e atualizar no site de comandos?

 

Sim. Mas fazer parser em HTML sempre é das soluções mais toscas.

 

Update

 

@lucianolcoa, para minha surpresa, parece que você vai poder usar wget() tanto para DynDNS como para No-IP. Só não tive tempo de ler devagar e procurar entender o porquê de ambas as documentações abordarem o cabeçalho da requisição HTTP em formato raw. Se esse GET funcionar no Esp8266Basic, será um presente para todos!

 

Aqui no Brasil existe a Winco DDNS, mas no site não encontrei referência a API.

 

Se alguém ainda não sabe ao certo do que estamos falando, veja o excelente tutorial de configurações manuais feito pela EADuino Cursos a Distância.

 

A propósito, em breve pesquisa encontrei dois sketches de Arduino:

@aphawk, há como escrever bibliotecas (Basic, óbvio) no Esp8266Basic?

Postado
13 horas atrás, lucianolcoa disse:

Esse comando wget serviria por exemplo, pra pegar a hora exata de um site e atualizar no site de comandos?

Veja o post #157 do @aphawk, ele fez um programinha pra ficar pegando um horário em um site americano e ele usa o wget. 

O que eu to querendo fazer é: o ESP pega meu ip externo (que é dinamico e pode mudar a qualquer queda de energia do modem) e me envia por email (via smtp2go) de tempos em tempos, assim sempre saberei o IP externo (para acesso remoto) da internet que o ESP está instalado.

 

@alexandre.mbm você falou algo sobre JSON (não sei o que é hehe) mas  na Language reference do esp8266basic tem um trecho que fala:

json():

Will parse a json string for the articular named data element within it.

json({string or var name for data to be parsed},{string or var name for key name in data})

The key can have the following syntax :

“Key.subkey.innerkey…..” . Array can also be included such as “weather[5].description”

Example with OpenWeatherAPI :

let apid = “xxxxx” ‘ place your APP_ID here

let query = "api.openweathermap.org/data/2.5/weather?&units=metric&q=Miami,us&appid=" & appid

let ret = wget(query)

serialprintln ret

let desc = json(ret,"weather.description")

let temp = json(ret,"main.temp")

let press = json(ret,"main.pressure")

let humid = json(ret,"main.humidity")

 

E mais abaixo:

 

wget():

Will fetch the html contents of a web page and return it as a string.

Do not put "http://" in front of the url. Defaults to port 80 if none is specified. 
wget({String or var name for url},{Optional port number})

Postado

Bom dia. Estou com um projeto aqui na minha cabeça:

- 1 nodeMCU ESP8266 com WEBSERVER, conectado a rede WiFi da casa;

-1 nodeMCU ESP8266 como cliente ligado em 4 relês, conectado ao ESP8266 com webserver!

-1 Celular

 

Queria fazer com que, quando mandasse um comando pelo celular (apertasse um botão), o mandasse o comando para o SERVER e o SERVER mandasse o comando de desligar ou ligar o relê!

 

Sei que ficou meio estranho a minha explicação aUahAUahaUHa

 

Mas será que tem algum jeito de fazer essa conexão, ou até mais simples?

 

Desde já agradeço!

 

 

Postado

@aphawk Fiz um testes com a api do seu codigo do post #157, vi que ele exibe essa ela com esse codigo que fiz:

valor = 0
valor = wget("tycho.usno.navy.mil/timer.html")
wprint htmlvar(valor)
wait

148fxqg.jpg

 

se eu uso esse codigo:

valor = 0
valor = wget("https://api.ipify.org")
wprint htmlvar(valor)
wait

com a api do site ipify.org (se você acessar mostra o seu ip externo) e por pra rodar ele não exibe nada! o que pode ser??

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!