Olá pessoal,

chegou essa semana um shild que comprei da china (http://dx.com/p/freaduino-gsm-gprs-shield-expansion-board-for-ardui...)

É um SIM900.

Mas estou apanhando para enviar um sms via software.

Conectei e via telnet consegui enviar o sms,  mas programando e salvando nada...

usei esse que achei na net.

Obrigado pessoal

-----------------------------------------------------

#include <NewSoftSerial.h>

NewSoftSerial mySerial(2, 3);


void setup()
{

delay(10000);

Serial.begin(19200); //Default serial port setting for the GPRS modem is 19200bps 8-N-1
Serial.print("\r");
delay(1000); //Wait for a second while the modem sends an "OK"
Serial.print("AT+CMGF=1\r"); //Because we want to send the SMS in text mode
delay(1000);

Serial.print("AT+CMGS=\"981510000\"\r"); //Start accepting the text for the message
//to be sent to the number specified.
//Replace this number with the target mobile number.
delay(1000);
Serial.print("SIM900 and Arduino say Hi!\r"); //The text for the message
delay(1000);
Serial.print(0x1A,BYTE);
Serial.print(26,BYTE); //Equivalent to sending Ctrl+Z


}

void loop()
{
//We just want to send the SMS only once, so there is nothing in this loop.
//If we put the code for SMS here, it will be sent again and again and cost us a lot.
}

 

Exibições: 4089

Responder esta

Respostas a este tópico

o torpedo que o arduino irá receber é uma string, mesmo que vc envie  a mensagem contendo somente números (por exemplo 20). Pro arduino conseguir fazer conta matemática com essa mensagem, vc precisará converter essa string em inteiro.

Veja como se faz isso: http://www.arduino.cc/en/Tutorial/StringToIntExample

Muito obrigado meu amigo, era isso mesmo que eu tinha procurado, e nao achava mais aonde tinha encontrado.....

Tu poderia me fornecer algum programa simples, no qual eu posso enviar msg para o arduino e ele receber esse valor ?? obrigado por enquanto

sketch pronto eu não tenho condição de fornecer, pois não tenho em mãos. Mas basicamente vc precisa tentar conseguir um sketch que faça captura de torpedo recebido via gsm shield.

Dessa forma, vc pegaria um celular e enviaria um torpedo pro gsm shield contendo a mensagem 20 por exemplo.

Muito provavelmente o sketch que vc obtiver irá imprimir no serial monitor a mensagem recebida. Daí basta vc entender a lógica do sketch e, ao invés de imprimir no serial monitor apenas, faça o sketch gravar a mensagem numa variável e daí em diante trate essa variável conforme eu te sugeri (convertendo-a em inteiro)

Acredito que essa sketch do nosso amigo raimundo pode ser adptada no meu caso:

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
SMSGSM sms;


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

char sms_position;
char phone_number[20];
char sms_text[100];
int i;

void setup(){
Serial.begin(9600);

if (gsm.begin(9600)){
Serial.println("\nstatus=READY");
started=true;

else 
Serial.println("\nstatus=IDLE");

if(started) {
Serial.println("Inicializado!!!");
if (sms.SendSMS("+xxxxxxxx", "SIM900 say HEllo!"))
{
Serial.println("\nSMS sent OK.");
}
else
{
Serial.println("\nError sending SMS.");

}
};

void loop()
{
if(started) {
Serial.println("Wayting SMS Receive...");
sms_position=sms.IsSMSPresent(SMS_UNREAD);
if (sms_position){
Serial.print("SMS postion:");
Serial.println(sms_position,DEC);
sms.GetSMS(sms_position, phone_number, sms_text, 100);
Serial.println(phone_number);
Serial.println(sms_text);
sms.SendSMS(phone_number, "Comando aceito.");

delay(2000);
}
}

eu não sei se esse sketch funciona realmente, mas se funcionar,  dá pra perceber que é naquele sms_text que aparece ali no final do sketch onde estará a mensagem contendo o tal crédito que vc quer.

Eu coloquei ela no arduino e ela compilou corretamente, vou testar ela hje de noite..... obrigado pela ajuda gurizada  qualquer coisa volto a falar aqui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço