Pessoal... estou desenvolvendo um medidor de energia com comunicacao por sms.
Esse medidor precisa enviar algumas variaveis do tipo float por SMS como consumo de energia e o valor da fatura relativo ao consumo.
Debatendo em alguns foruns vi que nao era possivel o envio de variaveis do tipo float por sms utilizando o codigo C.
Entao fui recomendado a utilizar a funcao dtostrf() que converte variaveis do tipo float em uma string.
Entao utilizei o codigo abaixo referente quando o medidor recebe um SMS com a palavra "FATURA".
if (textsms.indexOf("FATURA") != -1) {
char mess[100];
double variable = valor_consumo_acc;
dtostrf(variable, 6, 2, mess);
Sim800l_GSM_Module.sendSms("+5531985644009", mess);
O que eu gostaria de fazer seria apenas inserir alguns caracteres como "R$" por exemplo junto do texto que será enviado por SMS, pois do jeito que está ele simplesmente envia algo do tipo: "28.54."
Alguem sabe se é possível fazer isso?
Se sim, como?
Tags:
Oi J2PS, boa noite.
Este site explica bem o uso desta função.
http://www.hobbytronics.co.uk/arduino-float-vars
Sugiro que faça assim:
if (textsms.indexOf("FATURA") != -1) {
char mess[100];
String Envio;
double variable = valor_consumo_acc;
dtostrf(variable, 6, 2, mess);
Envio = "R$ ";
Envio += mess;
Sim800l_GSM_Module.sendSms("+5531985644009", Envio);
Rui
boa noite J2PS, ja tentou algo tipo?
String mess,mess2;
if (textsms.indexOf("FATURA") != -1) {
char mess[100];
double variable = valor_consumo_acc;
dtostrf(variable, 6, 2, mess);
mess2="R$"+mess;
Sim800l_GSM_Module.sendSms("+5531985644009", mess2);
Oi J2PS,
testei este code aqui usando a serial e funcionou.
Obs : só vou postar aqui por ser bem pequeno.
String Envio;
char mess[100];
double variable = 500;
Envio = "R$ ";
dtostrf(variable, 6, 2, mess);
Envio += mess;
Serial.println(Envio);
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por