Oi, preciso muito de uma ajudinha (:

Tenho que fazer o arduino com o shield GSM/GPRS SIM900 conversar com um servidor PHP. Imagine assim: se eu acender um led direto no arduino, no meu servidor PHP tem que aparecer LED LIGADO, e se eu apertar o botão "Ligar Led" no meu servidor, o arduino tem que acender o Led da mesma forma, entendeu? 
Só que tudo isso tem que ser feito por meio de internet, não posso usar a conexão USB, já que a intenção é que o arduino+GSM esteja longe do computador onde está o PHP. 

Alguma sugestão? Por favor, por favor, por favor *----*

Obrigada desde já!

Exibições: 9702

Responder esta

Respostas a este tópico

o sim900 pode ser colocado como server, porem há o problema com o ip dinamico, então você pode manter o sim900 como cliente, e para trabalha com paginas o metodo HTTP facilita e muito, ao inves do metodo TCP IP, e criando uma rotina NO ARDUINO + SIM900 para verificar o servidor PHP de tempos em tempos, você pode ler e escrever dados tranquilamente, é obvio que não será instantânea quando clicar em ligar led, mas para minha aplicação não é necessário. o tempo de operação é entorno de 20s nos meus teste, posso fazer tal verificação de 20 em 20 segundos.

nao sou expert nisso, mas foi o metodo que consegui fazer, depois de muita pesquisa.

pelo que li a ana precisa acender o led pela pagina e ler o estado do led pela pagina, acho que é possivel desta forma.

Sobre a questão do ip do SIM900 ser dinâmico, é possível superar essa dificuldade: programe o sim900 shield pra acessar no teu servidor um script php de tempos em tempos. Esse script PHP vc programa para detectar de qual IP veio a conexão, ou seja, é o IP shield sim900

sim é verdade ótima ideia, na minha visão pode ser enviado atraves de um get pelo metodo http. so que tera que comutar o sim900 entre cliente e servidor correto?, não da para trabalhar nos dois modos ao mesmo tempo? ou dá?

digo de ser enviado por get, para se ter certeza que é o ip do modulo.

Sinceramente, não sei se o sim900 aceitaria funcionar como cliente e servidor web ao mesmo tempo (ambos rodando num mesmo sketch). No ethernet shield w5100 eu sei que dá, pois já fiz. Tenho aqui um sim900 e irei testar nos próximos dias, mas a princípio estou achando que será sim possível.

mas até agora não consegui realizar uma conexão bem sucedida via TCP IP, aquele cabeçalho enorme eu teria dificuldade para tratar o dado que quero extrair, na verdade fiz o método HTTP, por que achei mais fácil, e minha programação fica mais simples. trabalho com o GET e já era, leio o arquivo *.txt pelo modulo e la vai esta mais facil de tratar. cara eu gostaria de aprender a conversar com servidor, mas não acho nenhum material para estudo. e meu tempo é curto. rsrs

Boa tarde, estou tendo um erro de conexão com a operadora TIM, no trecho do código abaixo, notei que vc se conectou com um servidor diferente, TIM.BR, mas pelos meus levantamentos TIMBRASIL.BR seria o utilizado, voce conseguiu com sucesso a conexão?

  if (inet.attachGPRS("timbrasil.br", "tim", "tim"))
    Serial.println(F("status=Conectado..."));
  else
    Serial.println(F("status=Nao conectado !!"));

Ja pensou em usar Raspberry PI com mondem 3G?

Pode configurar um ddns e o link para acesso ao seu raspberry ficaria fixo.

O Raspberry pode ser servidor ou cliente, depende do que vc quer fazer.

Oi, meninos *-*
Obrigada pelas respostas! Vocês estão em ajudando muito!
Infelizmente, o raspberry pi não posso usar, pois todo o projeto se baseia no Arduino (é meio complicado de explicar HAHA)...
Sobre o Arduino receber dados por um documento .txt, Felipe, me explica uma coisa: esse arquivo fica no servidor junto com meu PHP e eu o acesso com o meu Arduino pra ver o valor que está (0 ou 1), certo? Primeiro, você teria um exemplo da parte do PHP ? rs, me ajudaria muito! E mais uma coisa: você acha que seria possível eu receber mais de um dado pelo mesmo arquivo .txt? Tipo, acender LED azul, LED vermelho, etc etc... ? Ou eu teria que fazer um arquivo para cada coisa que eu desejasse ativar/desativar?

Obrigada obrigada obrigada, meninos!

Oi,

Isto o .txt fica junto com servidor na pasta www/ em qualquer diretório que quiser por lá dentro, você cria a pagina php que vai manipular o arquivo no caso escrever nele, escrevi um texto manualmente enorme em .txt e consegui ler pelo modulo tinha 4000 mil caracteres, o bom é que vem só o texto não tem a parte html. infelizmente ainda não criei esta parte não tenho código pronto, mas pesquise sobre manipular arquivos .txt  com PHP, não é nada de outro mundo.

Você teria como receber vários dados, pois quem vai tratar os dados  é o arduino, e é mais rápido você coloca tudo em um arquivo só, mas se preferir pode fazer vários . txt com nomes diferente e fazer todo procedimento de leitura para cada arquivo.txt ai colocaria só o estado do led dentro dos arquivos, tipo 0 ou 1, o comando HTTPREAD segundo datasheet pode ler até 318976 caracteres é muito dado. rsrs

tipo fazendo todos os passo depois que você der o comando AT+HTTPREAD, o modulo reponde oque foi salvo no GET que foi executado com AT+HTTPACTION=0, um arquivo .txt escrito oi ele responde assim:

+HTTPREAD:2

oi

onde o 2 é o numero de caracteres no caso da palavra oi

Outro exemplo um arquivo com  20 caracteres .txt escrito LEDA=1 LEDB=0 LEDC=1 o modulo vai receber isso:

+HTTPREAD:20

LEDA=1 LEDB=0 LEDC=1

Você só teria que tratar isso quando recebe-se na serial do arduino. ainda não montei o código também, mas vi que aqui no LdG tem alguns exemplos.

estou próximo de montar a pagina que manipulara o .txt eu posto aqui o código quando fizer.

segue datasheets

http://www.exp-tech.de/service/pdf/SIM900_AT%20Command%20Manual_V1.... <---- comandos at

http://mt-system.ru/sites/default/files/sim900_ip_application_note_... < --- aplications note do HTTP

Conseguiu entender? não sou muito bom para explicar rsrs

Oi (:

Entendi sim sim, obrigada!

Achei esse site aqui, talvez te ajude também: http://projects.sindrelindstad.com/how-to-led-arduino-php-proc/

No PHP já deu certo, agora estou vendo se consigo fazer o arduino ler o .txt segundo o que você me disse (:

Obrigada de novo (:

Olha só, alguém já pensou fazer neste método, bacana. 

Opa, vai ajudar sim.

Por nada,

Obrigado também.

realizando os comandos at de leitura http que descrevi nos posts anteriores, Com certeza conseguira ler o .txt.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço