управление реле +температура
- Войдите на сайт для отправки комментариев
Сб, 23/12/2017 - 14:19
Ткните носом братцы. в кодинге не соображаю, пишу по примерам.
Не могу реализовать отправку температуры само значение и текст в одном смс. помогите пожалста
#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); }
Так научитесь. Вам книги посоветовать? Или Вас только готовый код интересует?
Готовая комбинация. Попросил же
Приходите в 2019 году - как раз закончим писать.
Готовое - тока за деньги
Тогда Вам надо в Ищу исполнителя. В этом разделе Вам вряли дадут что-то готовое. Хотя, как повезёт, конечно.
Мне не нужен весь код.мне помощь в том как совместить смс в кучу. Неужели сейчас в наше время люди только за деньги что то делают. Для чего нужен форум?хвастаться какие все умные, но приетом сидеть как жаба? Мне жаль таких людей...
Для чего нужен форум?
Для общения по интересам. Ты оказался никому не интересен. Помогают тем, кто вежлив и проявляет интерес к обучению.
А за бесплатной работой - обратно в совок.
понятно.спасибо за помощь
понятно.спасибо за помощь
Немає за що! Заходи ще!