23 novembro 2015

Tutorial: como acessar a internet com o Arduino GSM Shield SIM900

No post anterior sobre o GSM Shield, nós vimos como utilizar a placa para fazer ligações, enviar SMS e acionar portas do Arduino por SMS.

Neste segundo post, vamos ver outra função muito interessante desse Arduino GSM Shield SIM900, que é o acesso à internet, utilizando-o para enviar informações do Arduino para um servidor web, armazenando essas informações em um banco de dados MySQL.

Como acessar a internet com o Arduino GSM Shield SIM900
As etapas desse tutorial envolvem muito mais a configuração de PHP e banco de dados MySQL do que a parte do Arduino, e recomendo que você siga os passos na sequência abaixo:


  1. Escolha do servidor Web
  2. Criação do Banco de Dados MySql
  3. Configuração do Banco de Dados
  4. Criação dos arquivos PHP
  5. Envio de informações pelo Arduino

A idéia é que o GSM Shield, ao receber uma mensagem de texto (SMS), envie essa mensagem para o servidor Web, que vai guardar o texto da mensagem em um banco de dados, juntamente com a data e a hora em que a mensagem foi recebida pelo servidor.

Nos testes, foi utilizado um Arduino Mega 2560, mas você pode utilizar também um Arduino Uno. O único problema é que, pelo fato das bibliotecas ocuparem muito espaço em memória, o Arduino Uno pode reiniciar depois de enviar a primeira mensagem para o servidor e aguardar o próximo SMS.

De qualquer forma, você pode "limpar" a biblioteca posteriormente, para que o programa ocupe menos espaço na memória.

Ao final, teremos uma página web que vai exibir as informações das mensagens SMS recebidas pelo GSM Shield. Vamos lá ?

Escolha do servidor Web


Quando falo da escolha do servidor web não falo da máquina em si ou da performance. Você pode criar um web server até com um Raspberry, como vimos no post Apache Web Server com Raspberry Pi A+

O que vamos precisar do servidor é o suporte à PHP e também ao banco de dados MySQL. Hoje em dia praticamente todos os planos de hospedagem oferecem esse tipo de recurso.

Procurei uma opção gratuita para montar esse post, e achei o 000webhost.com. Você cria sua conta e em poucos minutos tem à sua disposição um servidor com 1,5 GB de espaço, suporte à PHP, MySQL, FTP, email e algumas outras funções. Ele tem algumas propagandas, como não poderia deixar de ser, mas funcionou perfeitamente para os testes deste post. 

O endereço que eu criei nesse servidor foi o arduinoecia.webatu.com, e você já pode acessar para ver como vai ficar a página web ao final deste tutorial. As telas de configuração que eu vou mostrar se referem à esse servidor, mas são praticamente as mesmas em outros planos de hospedagem.

Depois que você criar a sua conta, vai receber um email com todas as informações de acesso ao painel de controle da sua página.

Criação do Banco de Dados MySql


Nesta etapa vamos criar o banco de dados que vai guardar o texto das nossas mensagens. No painel de controle do servidor Web, procure pela opção MySQL:

Painel de controle - MySQL

Ao clicar nessa opção, será aberta a janela Manage MySQL Databases. Preencha os campos MySQL database name (nome do banco de dados MySQL), MySQL user name (nome de usuário, que vai ser utilizado para acesso ao banco) e Password for MySQL user (senha do banco de dados), confirmando a senha no campo Enter Password again. Siga o modelo abaixo:

Criação do Banco de Dados

Clicando em Create database, eu tenho:

  • Um banco de dados de nome a1599688_bd
  • Um nome de usuário de acesso ao banco: a1599688_arduino
  • A senha de acesso ao banco de dados criado

Anote essas informações pois elas serão úteis depois. Com o banco de dados criado, vamos agora à parte de configuração dos campos.

Configuração do Banco de Dados


No painel de controle do servidor Web, selecione a opção phpMyAdmin:

Painel de Controle - phpMyAdmin

Use essa opção para configurar os campos do banco, incluir/excluir registros, executar comandos SQL, criar e alterar tabelas, etc. 

Na tela seguinte, será mostrado o banco de dados que você criou no passo anterior. Selecione Enter phpMyAdmin, no lado direito:

Acesso phpMyAdmin

Agora, o primeiro passo é criar uma tabela no banco de dados. Vamos criar uma tabela chamada SMS_Recebidos, com apenas 2 campos (fields). Clique em Go para que a tabela seja criada:

Criação tabela
Na próxima tela, vamos definir o formato dos campos que vamos usar. Vou criar um campo chamado timeStamp, que vai registrar o horário em que o SMS foi recebido, e um campo SMS_Texto, que irá armazenar o texto do SMS. Utiliza as configurações mostradas abaixo:

Definição de Campos

Clique em SAVE para que os campos sejam criados na tabela:

Tabela Criada

Criação dos arquivos PHP


Vamos agora criar os arquivos em PHP que vão acessar e atualizar esse banco de dados. São eles:

  • connect.php - Arquivo com as configurações do banco de dados (usuário e senha)
  • add.php - Esse arquivo recebe via POST as informações do GSM Shield pela internet, acessa o banco e grava os dados que foram recebidos
  • index.php - Esse arquivo é responsável por montar a página web e exibir as informações do banco de dados para o usuário

Crie um arquivo texto com o nome connect.php. Dentro dele, coloque o seguinte código:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
 function Connection(){
  $server="mysql12.000webhost.com";
  $user="a1599688_arduino";
  $pass="suasenhaaqui";
  $db="a1599688_bd";
     
  $connection = mysql_connect($server, $user, $pass);
           
  if (!$connection) {
      die('MySQL ERROR: ' . mysql_error());
  }
  
  mysql_select_db($db) or die( 'MySQL ERROR: '. mysql_error() );
  return $connection;
 }
?>

Nesse arquivo temos todos aqueles parâmetros que usamos na criação do banco de dados: $user (linhas 4, nome do usuário), $pass (linha 5, senha de acesso ao banco) e $db (linha 6, nome do banco de dados).

Essas informações são usadas pelo próximo arquivo, o add.php para se conectar ao banco de dados.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php
    include("connect.php");
    
    $link=Connection();

 $MSG_Texto=$_POST["MSG_Texto1"];
 
 $query = "INSERT INTO `a1599688_bd`.`SMS_Recebidos` (`timeStamp`,`SMS_Texto`) 
  VALUES (current_timestamp,'".$MSG_Texto."')"; 
   
    mysql_query($query,$link);
 mysql_close($link);
     
    header("Location: index.php");
?>

O add.php recebe a informação passada pelo GSM Shield via POST (linha 6, MSG_Texto1), contendo o texto da mensagem, e em seguida insere um novo registro na tabela (linha 8), gravando o timeStamp (data e hora), e o texto ($MSG_Texto).

Por último temos o index.php, que se conecta ao banco de dados utilizando também as informações do connect.php (linhas 1 à 8), e que contém o código HTML que vai mostrar as informações no browser.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

 include("connect.php");  
 
 $link=Connection();

 $result=mysql_query("SELECT * FROM `SMS_Recebidos` ORDER BY `timeStamp` DESC",$link);
?>

<html>
   <head>
      <title>Arduino e Cia - GSM Shield</title>
   </head>
<body>
  <a href='http://www.arduinoecia.com.br/' style='display: block'>
  <img alt='Arduino e Cia' height='69px; ' id='Header1_headerimg' src='http://3.bp.blogspot.com/-l1ikBwIytf4/VScJr56C-zI/AAAAAAAADsY/tlWKliR7-lw/s1600/Arduino%2Be%2BCia-Bco.png' style='display: block' width='540px; '/>
</a>
   <h1>GSM Shield SIM900 - Registro de SMS</h1>
   

   <table border="1" cellspacing="0" cellpadding="0">
  <tr>
   <td align='center' width='160px'><b>&nbsp;Data e Hora&nbsp;</b></td>
   <td align='center' width='375px'><b>&nbsp;Mensagem&nbsp;</b></td>
  </tr>

      <?php 
    if($result!==FALSE){
       while($row = mysql_fetch_array($result)) {
          printf("<tr><td align='center'> &nbsp;%s </td><td> &nbsp;%s&nbsp; </td></tr>", 
             $row["timeStamp"], $row["SMS_Texto"]);
       }
       mysql_free_result($result);
       mysql_close();
    }
      ?>

   </table>
</body>
</html>

Terminada a configuração, copie esses três arquivos  (connect.php, add.php e index.php) para o servidor Web, utilizando, no caso do 000webhost, qualquer um dos gerenciadores de arquivo (File Managers):

000webhost Gerenciador de Arquivos

Coloque os arquivos PHP na pasta /public_html. Você também pode enviar os arquivos via FTP, se preferir.

Acessando a internet com o Arduino GSM Shield


No programa abaixo, vamos utilizar a biblioteca GSM_GPRS_GPS_Shield (download), a mesma que já utilizamos no post anterior.

Dentro do loop, executamos a rotina que aguarda a chegada de um novo SMS. Assim que a mensagem for recebida, é executada a rotina envia_GSM, que vai se conectar à internet utilizando a rede de telefonia celular (conexão GPRS), e vai enviar para o servidor (linha 67) as informações da mensagem de texto.

Nessa conexão à internet, feita pela linha 61 do programa, configure o APN, usuário e senha de acordo com o seu chip de celular:

Sintaxe: inet.attachGPRS("<APN>", "<USUARIO>, "<SENHA>")

TIM: inet.attachGPRS("timbrasil.br", "tim", "tim")
Vivo: inet.attachGPRS("zap.vivo.com.br", "vivo", "vivo")
Claro: inet.attachGPRS("claro.com.br", "claro", "claro")
Oi: inet.attachGPRS("gprs.oi.com.br", "oi", "oi")

O processo é um pouco demorado, pois por padrão a biblioteca executa uma série de rotinas de teste e conexão. Você pode acompanhar todo esse processo através do Serial Monitor.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//Programa: Arduino GSM Shield SIM900 - Acesso internet
//Autor: Arduino e Cia

//#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"

InetGSM inet;

boolean started = false;
char smsbuffer[160];
char n[20];

byte valor;

void setup()
{
  Serial.begin(9600);
  powerUpOrDown();
  Serial.println(F("Testando GSM Shield SIM900"));
  if (gsm.begin(2400))
  {
    Serial.println(F("\nstatus=READY"));
    started = true;
  }
  else Serial.println(F("\nstatus=IDLE"));
}

void loop()
{
  if (started) {
    //Aguarda novo SMS e envia para o servidor web
    if (gsm.readSMS(smsbuffer, 160, n, 20)) {
      String str(smsbuffer);
      envia_GSM(smsbuffer);
      delay(10000);
    }
    delay(1000);
  }
}

void powerUpOrDown()
{
  //Liga o GSM Shield
  Serial.print(F("Liga GSM..."));
  pinMode(6, OUTPUT);
  digitalWrite(6, LOW);
  delay(1000);
  digitalWrite(6, HIGH);
  delay(1000);
  Serial.println(F("OK!"));
  digitalWrite(6, LOW);
  delay(500);
}

void envia_GSM(String texto)
{
  char temp_string[55];
  char msg[10];
  int numdata;
  if (inet.attachGPRS("timbrasil.br", "tim", "tim"))
    Serial.println(F("status=Conectado..."));
  else Serial.println(F("status=Nao conectado !!"));
  delay(100);
  String valor = "MSG_Texto1=" + texto;
  valor.toCharArray(temp_string, 55);
  numdata = inet.httpPOST("arduinoecia.webatu.com", 80, "/add.php", temp_string, msg, 50);
  delay(5000);
}

Após o envio das informações, entre no browser e acesse o endereço do seu web server. Você terá uma tela como essa, com as informações geradas pelo index.php:

Página Web - PHP

Isso encerra este "pequeno" tutorial. Faça as adaptações necessárias ao seu projeto, enviando dados de sensores, estado das portas do Arduino, informações de localização, etc. 

57 comentários:

  1. Belo tuto, estava esperando por isso faz tempo. Valeu!

    ResponderExcluir
  2. Trabalhar com banco de dados é complicado! obrigado por ajudar com este post!

    ResponderExcluir
  3. Excelente post, vou tentar já

    ResponderExcluir
  4. como e qual item da página serve para copiar os três arquivos (connect.php, add.php e index.php) para o servidor Web acima?

    ResponderExcluir
    Respostas
    1. Bom dia,

      Utilize o file manager no painel de controle, e coloque os arquivos dentro da pasta public_html.

      Abraço!

      Excluir
    2. correto, porém na porta serial do sim900 aparece a mensagem This method is deprecated! Please use GetSMS in the SMS class. E está com fonte 1 A 9volts conectado

      Excluir
    3. Oi Rafael,

      Essa é apenas uma mensagem de aviso. O programa funciona normalmente mesmo com essa mensagem.

      Abraço!

      Excluir
  5. Este comentário foi removido pelo autor.

    ResponderExcluir
  6. Como faço para ele rodar sem reiniciar no Uno ?

    ResponderExcluir
    Respostas
    1. Oi Paulo,

      Você vai precisar "enxugar" o programa para liberar espaço em memória. Não tentei isso ainda, mas você pode mexer na biblioteca para tirar algumas funções que não utiliza, por exemplo.

      Abraço!

      Excluir
    2. Vou tentar dar uma enxugada. No site quando recebo o horario está vindo com 3 horas a menos, onde posso arrumar isso ?

      Excluir
    3. Oi Paulo,

      Eu também tive esse problema, mas não tive tempo de resolver. Parece que é alguma coisa (configuração) no servidor, timezone, essas coisas.

      Se tiver novidades, te aviso.

      Abraço!

      Excluir
  7. Amigo esse exemplo é fantástico, tem como colocar um exemplo de um RTC que mostra temperatura ou PIR presença ou não e assim informa ao servidor o momento (rtc ou pir)?

    ResponderExcluir
    Respostas
    1. Boa tarde Rafael,

      Boa sugestão. Vou providenciar. :)

      Abraço!

      Excluir
  8. Estava funcionando com o UNO, apesar de resetando, passei para o mega e ele não acha o Shield tem alguma dica?

    ResponderExcluir
    Respostas
    1. Boa tarde Paulo,

      A ligação no Mega é um pouco diferente. Neste post eu explico como ligar o GSM Shield no Arduino Mega:

      http://www.arduinoecia.com.br/2015/09/arduino-gsm-shield-sim900-efcom.html

      Abraço!

      Excluir
    2. Obrigado pela dica, funcionou na primeira. Só um detalhe no uno ele se conecta no GPRS e depois que transmite para a pagina da WEB ele reinicia. No caso do Mega ele não esta conseguindo se conectar no GPRS, será que tem de modificar algum arquivo da biblioteca ? Abraços.

      Excluir
  9. Olá, existe uma forma de que, o Arduíno envie dados de sensores para uma pagina de forma que possa ser acessado dados anteriores, tipo um histórico de semanas ???

    ResponderExcluir
    Respostas
    1. Bom dia Tuca,

      Tem como fazer sim. Na verdade, essa parte você vai fazer toda com o HTML/PHP, porque os dados já estarão gravados no Banco de Dados, então é só filtrar o que vc precisa.

      Abraço!

      Excluir
  10. Tem alguma sugestão que possa me ajudar na utilização do Mega, ele não consegue se logar na rede GPRS para enviar os dados para a página da internet, será que tem de fazer alguma modificação na biblioteca ?

    ResponderExcluir
    Respostas
    1. Bom dia Paulo,

      Não fiz esse teste com o mega, mas a princípio não tem alteração na biblioteca. Vou tentar fazer um teste com essa placa e depois te falo o resultado.

      Abraço!

      Excluir
  11. Boa Tarde,

    é possivel variar um potênciometro de 0 a 5v no arduino e receber na internet o valor de 0 a 100 %

    Claudeci

    ResponderExcluir
    Respostas
    1. Oi Claudeci,

      É possível sim, acho até mais simples do que enviar o SMS. :)

      Abraço!

      Excluir
  12. É possivel escrever valores analógicos no site através do Arduino ? se sim qual o tempo de atualização da variável ?

    Obrigado!

    ResponderExcluir
  13. Olá, não sei se estou pensando errado mas desta forma ele envia SMS (torpedo), conforme informa no artigo. Esse SMS seria apenas a mensagem recebida pelo shield? O envio é feito apenas por dados ou também SMS? Ele faz um httpPost, isso é entendido com envio de dados apenas. Estou correto?

    ResponderExcluir
    Respostas
    1. Bom dia,

      Você está se referindo à este post, certo ? O GSM shield se conecta na rede de internet do celular da mesma forma que você faz com o seu smartphone, e a partir daí ele envia os dados para o servidor via internet.

      Abraço!

      Excluir
  14. Conseguiu fazer os testes com o Mega ?

    ResponderExcluir
    Respostas
    1. Oi Paulo,

      Não tive tempo ainda. Você teve algum progresso ?

      Abraço!

      Excluir
  15. Fiz algumas tentativas mas sem exito. se conseguir algo te aviso.

    ResponderExcluir
  16. bom noite! Alguém poderia me explicar como utilizar o inet.httpPOST();
    E mais uma coisa, tenho que enviar varias informações para o servidor, informações que estão no arduino. Gostaria de saber o seguinte, se para enviar essas informações teria que fazer um post para cada informação que nem embaixo:
    String valor = "MSG_Texto1=" + texto;
    valor.toCharArray(temp_string, 55);
    numdata = inet.httpPOST("arduinoecia.webatu.com", 80, "/add.php", temp_string, msg, 50);

    String valor = "MSG_Texto2=" + texto;
    valor.toCharArray(temp_string, 55);
    numdata = inet.httpPOST("arduinoecia.webatu.com", 80, "/add.php", temp_string, msg, 50);

    String valor = "MSG_Texto3=" + texto;
    valor.toCharArray(temp_string, 55);
    numdata = inet.httpPOST("arduinoecia.webatu.com", 80, "/add.php", temp_string, msg, 50);

    ResponderExcluir
  17. Olá! O shield que está usando pode ser conectado direto no arduino pq já tem regulador de tensão. Eu tenho o que é conectado a uma fonte distinta ao arduino para fornecer a ele 4V. Minha dúvida é, posso ligar o reset dele normalmente em um pino digital do arduino para dar um reset como fez (colocando High and Low em determinado pino)? Estou com medo de arriscar e queimar o módulo, por eles trabalharem em tensões diferentes...

    ResponderExcluir
  18. Estou precisando alterar um projeto e estou a procura de um freela, atualmente meu projeto a leitura e gravação dos cartoes rfid se faz em modo localhost, preciso alterar para comunicação via gprs , terei um servidor na web com todos os cartoes cadastrados e o credito de cada cartão e o usuario estará em local remoto utilizando esses cartoes, como não tenho acesso wifi e ethernet em todos os locais eu preciso usar o sim900 e as consultas e envio de dados serão via método post , pode me ajudar nisso ou indicar alguém com experiencia para que eu possa contratar ?

    ResponderExcluir
    Respostas
    1. Olá
      Por favor, eu posso substituir o envio de SMS para o servidor enviando os valores dos sensores relacionados com o Arduino para um servidor usando sim900A
      mesmo princípio excepto que envia os dados de sensores relacionados com uma entrada analógica do Arduino a cada dez minutos,
      e obrigado

      Excluir
  19. Olá, como enviar valores de um sensor conectado a uma entrada analógica do Arduino através de um servidor sim900A módulo GSM, armazenada em um banco de dados e, em seguida, mostrados com a sua data de expedição.
    assim que eu quero mudar a mensagem neste exemplo
      Agradecemos antecipadamente

    ResponderExcluir
  20. Olá
    Por favor, eu posso substituir o envio de SMS para o servidor enviando os valores dos sensores relacionados com o Arduino para um servidor usando sim900A
    mesmo princípio excepto que envia os dados de sensores relacionados com uma entrada analógica do Arduino a cada dez minutos,
    e obrigado

    ResponderExcluir
  21. Olá, por favor, posso substituir o envio de mensagens para o servidor através do envio de valores de um sensor relacionada tem uma entrada analógica, o que é a mudança no código?
    e obrigado

    ResponderExcluir
    Respostas
    1. Boa tarde,

      Pode sim. No momento eu não tenho nenhum código específico para esse tipo de dados, mas é fácil de adaptar no programa.

      Abraço!

      Excluir
    2. Olá,
      muito obrigado pela sua resposta, eu sou um novato neste campo, por favor, é que você pode me ajudar a desenvolver este código
      obrigado

      Excluir
    3. Boa noite,

      Posso sim, entre em contato utilizando o formulário de contato no lado direito da página. Conversamos por email.

      Abraço!

      Excluir
  22. Olá, no site para criação do banco de dados, quando clico em Enter phpmyadmin , pede senha, e senha que acabei de cadastrar no site não funciona. Como faço? O que está rolando? Help me, não consiguo continuar seguindo o tutorial :(

    ResponderExcluir
    Respostas
    1. Oi Eduardo,

      O site demora um pouco pra atualizar a senha, mas funciona sim.

      Abraço!

      Excluir
    2. É muito superficial esse tutorial. Estou tendo problemas em todos os passos que tento seguir. É impossível criar algo assim. Tem momentos que o acesso ao phpMyAdmin não funciona, fica dando acesso negado mesmo com a senha correta e que nunca foi alterada, e depois sem motivo algum volta a funcionar (já testei em PCs diferentes). Em nenhum momento o script php conseguiu se conectar ao banco de dados. Tentei de tudo. Passei o fim de semana tentando e só perdi tempo, e olha que nem cheguei ainda na programação do arduino. Já estou até vendo a dor de cabeça com bibliotecas :( :( :(

      Excluir
    3. Nas informações sobre minha conta no members.000webhost.com , aparece o IP Address 31.170.160.73
      O que seria esse IP? Da minha conta? Tente acessar você mesmo. Ele abre um site de envio de remessa de dinheiro para Cuba. Estou achando que pode ser golpe, e que daqui a pouco estarão roubando informações minhas.

      Excluir
    4. Oi Eduardo,

      Sinto muito que esteja com problemas, mas fiz o tutorial baseado exatamente nos passos mostrados acima. aliás fiz mais de uma vez para ter certeza de que funciona.

      Talvez o pessoal do Webhost tenha mudado alguma coisa no site, mas o que posso deixar de sugestão é utilizar algum outro servidor que aceite PHP e tenha banco de dados MySQL, o que felizmente é bem fácil de encontrar.

      Abraço!

      Excluir
  23. Blz, consegui criar e fazer upload dos arquivos php. Agora, quando tento acessar o site que criei recebo a mensagem abaixo:

    Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'mysql.000webhost.com' (4) in /home/a3452881/public_html/connect.php on line 8

    No arquivo connect e add, fiz corretamente as alterações para server, user e password.

    ResponderExcluir
  24. Consegui evoluir mais um pouco, agora o problema é essa mensagem abaixo que vejo no monitor serial:

    This method is deprecated! Please use GetSMS in the SMS class.

    A mensagem não chega no banco de dados!

    ResponderExcluir
  25. excellente explicacao , mas estou tentando registrar me ao site, aceita o registro mas nao me permite accessar, sera que esta com problemas, je fiz o reset da password mas kdo tento entrar nao aceita alguma sugestao

    ResponderExcluir
  26. Olá Amigos!
    Mantendo a mesma ideia de enviar dados para o servidor, preciso que o programa envie dados de localização GPS ao invés das mensagens recebidas.
    Alguém, por favor, pode me ajudar como fazer o Arduino coletar esses dados através de um shield GPS (não entendi se esse shield também fornece esse dado) e depois utilizar o envio de sms para enviar estes dados para o servidor?
    Obrigado!

    ResponderExcluir
  27. Boa Tarde
    Gostaria de alguma informação sobre o sim800L.
    Acredito que esse modelo seja alguma versão inferior a essa sim900 que esta sendo utilizada nesse port
    Existe pouca coisa sobre a sim800L nos tutoriais.

    Eu consigo usar essa mesma biblioteca para fazer essa conexão a internet utilizando esse modelos sim800L?

    Muito Obrigado

    ResponderExcluir
    Respostas
    1. Acho que esse "sim" não funciona na América Latina, vi alguma publicação sobre isso na internet.

      Excluir
  28. Ola, eu segui todo o tutorial e funcionou perfeitamente aqui, logicamente depois de alguns ajustes e depois de apanhar bastante pra criar as funções em PHP rsrs. No fim deu certo, consegui gravar as informações do arduino no MySQL perfeitamente.

    Queria agradecer, me ajudou muito!

    ResponderExcluir
    Respostas
    1. Opa! Agradeço muito a sua visita. E obrigado pelo retorno. :)

      Abraço!

      Excluir
  29. This method is deprecated! Please use GetSMS in the SMS class.
    o que fazer?? alguem pode ajudar?

    ResponderExcluir
    Respostas
    1. Boa tarde José,

      Você pode ignorar essa mensagem. Ela não influi no funcionamento dos programas ou envio de mensagens.

      Abraço!

      Excluir