• Ola amigos
  • Eu queria utilizaro Shield GSM SIM900 para montar um trabalho mas tenho uma duvida e queria ajudar.A minha duvida é o seguinte.Tipo eu queria enviar um sms com um valor, digamos 20, que seria o numero.E o meu shiel receber o numero 20 e eu poder tratar ele. Nesse caso, dos 20, criar uma variavel para ir descontando desses 20 que recebi na msg, sera que isso é possivel ?

Explicando melhor:

Assim, no caso como se fosse uma conta bancaria eu quisesse add dinheiro nela por sms, e o valor que eu fosse enviar na SMS seria o valor em reais, .... e no caso o juros seria o decréscimo (uma variavel qualquer), digamos assim minha conta ta zerada, dai entao eu mando uma sms com o valor 20 pro meu shield, e ele interpreta como se eu fosse ter depositado 20 reais na conta, e dai passou um tempo e é descontado um valor, e no caso sobrou 15 reais (descontou 5)...... dai depois o valor que eu enviar com SMS se soma com os 15... no caso se eu enviar uma outra SMS com o valor 30, iria se somar com os 15, fechando 45

Exibições: 583

Responder esta

Respostas a este tópico

Tem vários posts aqui para o SIM900.

Acho que dá pra aprender muito com este aqui:

http://labdegaragem.com/forum/topics/arduino-php-sim900?id=6223006%...

Boa sorte,

  'Eiju

Comecei a programação assim, de acordo com que foi postado aqui no sit, mas sou novato nessa area

#include "SIM900.h"

#include "sms.h"

#include <SerialGSM.h> //Inclui a biblioteca SerialGSM.h
#include <SoftwareSerial.h> //Inclui a biblioteca SoftwareSerial.h
SerialGSM cel(2,3); //Configura os pinos 2 e 3 para se trabalhar como Rx e Tx via Software

String SMS; //Variável para o armazenamento da SMS recebida
String numeroRemetente; //Variável para o armazenamento do número do remetente da SMS
String numeroPermitido = "XXXXXXXX"; //Variável que define o número do celular que o sistema irá responder

boolean sendonce=true; //Variável boleana utilizada pela biblioteca SerialGSM.h

 

 

Serial.begin(9600); //Inicialização serial

cel.DeleteAllSMS(); //Função para deletar todas as SMS do chip
  cel.FwdSMS2Serial(); //Função utilizada para enviar as SMS para a Serial

Serial.println(">>>>> Celular Shield Inicializado <"); //Mensagem de início da aplicação
  Serial.println(); //Pula linha

 

void loop()
{
  if (cel.ReceiveSMS()) //Se o chip no Celular Shield receber uma SMS
  {
    Serial.println(); //Pula linha
    Serial.println(); //Pula linha
    Serial.println(); //Pula linha
    Serial.println(); //Pula linha
    Serial.println("~~NOVA MENSAGEM RECEBIDA~~"); //Imprime na serial "NOVA MENSAGEM RECEBIDA"
    Serial.println(); //Pula linha

Serial.print("REMETENTE: "); //Imprime na serial a palavra "REMETENTE:"
    Serial.println(cel.Sender()); //Imprime o número do remetente que a SMS foi enviada

numeroRemetente = cel.Sender(); //Armazena na variável numeroRemetente o número do remetente

if(numeroRemetente != numeroPermitido) //Se o número do remetente não for o mesmo que o número permitido
    {
      Serial.println("Não Permitido"); //Imprime a mensagem "Não Permitido" e não executa nada
    }

else //Senão, o número é o permitido e executará os comandos
    {
      Serial.print("MENSAGEM: "); //Imprime na serial a palavra "MENSAGEM:"
      Serial.println(cel.Message()); //Imprime a mensagem que foi recebida
      SMS = cel.Message(); //Guarda na mensagem na variável SMS

//++++++++Tratamento do Primeiro Caractere++++++++
      if(SMS[0] == '1') //Se o primeiro caractere da SMS for igual a 1

O que aparece na mensagem? apenas o 20?

Nao consegui realizar a montagem ainda, pois estou trabalhando, mas estou testando umas alternativas, 

Outra programaçao que estou me baseando para realizar, encontrada outro site

#include "SIM900.h"

#include <SoftwareSerial.h>
//Carrega a biblioteca SMS
#include "sms.h"
 
SMSGSM sms;
 
int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];
 
void setup()
{
     //Inicializa a serial
     Serial.begin(9600);
     Serial.println("Testando GSM shield...");
     //Inicia a configuracao do Shield
     if (gsm.begin(2400))
     {
       Serial.println("nstatus=READY");
       started=true;
     }
     else Serial.println("nstatus=IDLE");
 
     if(started)
     {
       //Envia um SMS para o numero selecionado
       //Formato sms.SendSMS(<numero>,<mensagem>)
       if (sms.SendSMS("912345678", "Arduino SMS"))
       Serial.println("nSMS sent OK");
     }
}
 
void loop()
{
     if(started)
     {
       //Aguarda SMS e mostra o texto no serial monitor
       if(gsm.readSMS(smsbuffer, 160, n, 20))
       {
          Serial.println(n);
          Serial.println(smsbuffer);
          delay(5000);
       }
       delay(1000);
     }
}

Vocês sabem me dizer sé é possível conectar o modulo sim900 a um servidor WebSocket ?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço