управление реле +температура

molodoy_a
Offline
Зарегистрирован: 23.12.2017

Ткните носом братцы. в кодинге не соображаю, пишу по примерам.

Не могу реализовать отправку температуры само значение и текст в одном смс. помогите пожалста

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

#define B 3950 // B-коэффициент
#define SERIAL_R 10000 // сопротивление последовательного резистора, 10 кОм
#define THERMISTOR_R 10000 // номинальное сопротивления термистора, 10 кОм
#define NOMINAL_T 25 // номинальная температура (при которой TR = 10 кОм)

//=================Пины 2 и 3 для Подключения GSM модуля

const byte tempPin = A0; //пин температуры
int flag=0;
boolean started=false;
char smsbuffer[160];
char n[20];
String n1 = "+7136396089"; //номер для отправки СМС
String input_string = "";
String smsContent = "";

char smsstart[] ="WEBASTO START!"; //массив с командой
char smsstop[] ="WEBASTO STOP!";   //массив с командой
char smsstatus[] ="STATUS OK!";  //массив с командой
char pos;
char sendsms[160];

void setup() {

 pinMode(7, OUTPUT);              //pin реле
 digitalWrite(7,HIGH);           //назначение 7 pin по умолчанию выключено
 Serial.begin(115200);          //скорость обмена uart
 pinMode( tempPin, INPUT );    //температура


       if (gsm.begin(4800))
            {
          Serial.println("\nstatus=READY");
          started=true;
             }
       else Serial.println("\nstatus=IDLE");
             }
       
void loop()  {
                                                                                                                          //БЛОК ИЗМЕРЕНИЯ ПОКАЗАНИЙ ДАТЧИКА А0
    int t = analogRead( tempPin );
    float tr = 1023.0 / t - 1;
    tr = SERIAL_R / tr;
    
    Serial.print("Temperature - ");              //вывод названия
    float steinhart;
    steinhart = tr / THERMISTOR_R; 
    steinhart = log(steinhart); 
    steinhart /= B; 
    steinhart += 1.0 / (NOMINAL_T + 273.15); 
    steinhart = 1.0 / steinhart; 
    steinhart -= 273.15; 
    Serial.print(steinhart);                          //вывод самого значения
    Serial.println("°C");                            //вывод знака температуры
    delay(100);
  char temp[20];                            //создаем массив под значение температуры
  dtostrf(steinhart,5, 1, temp);                   //конвертируем массив float  в  char

String temper="Temperature:" + String(temp) + "C";
Serial.println(temper);



      pos = sms.IsSMSPresent(SMS_UNREAD);  // смотрим непрочитанные СМС
      if (pos) {                          // Если непрочитанные СМС есть, то...
      getsms();                           // получаем непрочитанную СМС
  

if (input_string=="START"){Serial.println("Komanda START!"); //если текст START, пишем в порт                                   БЛОК START

sms.SendSMS(n, smsstart); //отправляем смс 
sms.DeleteSMS(1); //удаляем смс
memset(n,0,20); 
input_string=""; 
char smsbuffer[160]="";
digitalWrite(7,LOW); //включаем реле
delay(1000); //ждем
digitalWrite(7,HIGH);//выключаем реле
sms.DeleteSMS(pos); // удаляем СМС  из симки

}
}

if (input_string=="STOP"){Serial.println("Komanda STOP!");//если текст STOP, пишем в порт                                        БЛОК STOP

sms.SendSMS(n, smsstop); //отправляем смс 
sms.DeleteSMS(1); //удаляем смс
memset(n,0,20); 
input_string=""; 
char smsbuffer[160]="";
digitalWrite(7,LOW);//включаем реле
delay(1000);//ждем
digitalWrite(7,HIGH);//выключаем реле
sms.DeleteSMS(pos); // удаляем СМС  из симки

}

if (input_string=="STATUS"){Serial.println("Komanda STATUS!");//если текст STATUS, пишем в порт                                  БЛОК STATUS

sms.SendSMS(n,smsstatus ); //отправляем смс 
sms.DeleteSMS(1);//удаляем смс
memset(n,0,20);
input_string=""; 
char smsbuffer[160]="";
sms.DeleteSMS(pos); // удаляем СМС  из симки

}

if (input_string=="TEMP"){Serial.println("Komanda TEMP!");//если текст TEMP, пишем в порт                                                 БЛОК TEMP

 
sms.SendSMS(n,"Temperature:" + char(temp) + "C"); не работает!!!!!!!!!!!!!!!!!!!
sms.DeleteSMS(1);//удаляем смс
memset(n,0,20);
input_string=""; 
char smsbuffer[160]="";
sms.DeleteSMS(pos); // удаляем СМС  из симки
}
}

void getsms()
{
sms.GetSMS(pos,n,20,smsbuffer,160);
input_string =String(smsbuffer);
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так научитесь. Вам книги посоветовать? Или Вас только готовый код интересует?

molodoy_a
Offline
Зарегистрирован: 23.12.2017

Готовая комбинация. Попросил же

sadman41
Offline
Зарегистрирован: 19.10.2016

Приходите в 2019 году - как раз закончим писать.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Готовое - тока за деньги

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Тогда Вам надо в Ищу исполнителя. В этом разделе Вам вряли дадут что-то готовое. Хотя, как повезёт, конечно.

molodoy_a
Offline
Зарегистрирован: 23.12.2017

Мне не нужен весь код.мне помощь в том как совместить смс в кучу. Неужели сейчас в наше время люди только за деньги что то делают. Для чего нужен форум?хвастаться какие все умные, но приетом сидеть как жаба? Мне жаль таких людей...

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

molodoy_a пишет:
Мне не нужен весь код.мне помощь в том как совместить смс в кучу. Неужели сейчас в наше время люди только за деньги что то делают. Для чего нужен форум?хвастаться какие все умные, но приетом сидеть как жаба? Мне жаль таких людей...
Начали хамить? Вам сказали : это бесплатно, а это за деньги. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

molodoy_a пишет:

Для чего нужен форум?

Для общения по интересам. Ты оказался никому не интересен. Помогают тем, кто вежлив и проявляет интерес к обучению.

А за бесплатной работой  - обратно в совок.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

molodoy_a пишет:
Для чего нужен форум?
А сами-то как думаете?

molodoy_a
Offline
Зарегистрирован: 23.12.2017

понятно.спасибо за помощь

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

molodoy_a пишет:

понятно.спасибо за помощь

Немає за що! Заходи ще!