sim800l + arduino pro mini. в энергосберегающем режиме. нужно доделать скетч.

defed
Offline
Зарегистрирован: 27.10.2015

Привет всем. Кто может доработать скетч, и сколько это будет стоить? Доделать нужно список номеров телефонов с которых команды будут исполняться(2-3номера). Добавить настройку времени работы светодиода, посредством команды в смс, на пине 13 ( 10, 15, 20, 30 минут -запуск с входящего звонка с разрешенного номера). И добавить сигнал с настраиваемым временем длительностью-2-4 секунды так же с входящего sms с определенным словом.

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
#include "call.h"
#include <avr/sleep.h>
#include <avr/power.h>
 
int pin = 2; // подключается к ring пину gsm модуля
int relay = 9; // реле
byte stat=0;

SMSGSM sms;
CallGSM call;

void setup(){
set_sleep_mode(SLEEP_MODE_STANDBY); //Определяем режим сна
pinMode(pin, INPUT);
digitalWrite(pin,HIGH);

     pinMode(6, OUTPUT); // к DTR пину GSM модуля
     digitalWrite(6,LOW); // пробуждаем GSM модуль
     
     pinMode(relay, OUTPUT);
     digitalWrite(relay,LOW);

     Serial.begin(115200);
     Serial.println("GSM test.");
      
     if (gsm.begin(2400)) {
          Serial.println("\nstatus=READY");
          
     } else Serial.println("\nstatus=IDLE");
     
     delay(300);

     gsm.SimpleWrite(F("AT+CSCLK=1"));
     gsm.SimpleWriteln("");

}

void loop(){

stat=call.CallStatus();
      
    if(stat==CALL_INCOM_VOICE) {
 //     Serial.println("CALL!!!");
    //  sms.SendSMS("+791", "Vipolneno!");
      digitalWrite(relay,HIGH);
      delay(20000);
      digitalWrite(relay,LOW);
      call.HangUp(); // Кладем трубку
    }

  digitalWrite(6,HIGH); // вырубаем GSM модуль
  EnterSleep(); //Пора спать
    
}

void wakeUp()
{
  Serial.println("WakeUp"); //Проснулись
  detachInterrupt(0); //Отключаем прерывания 
  digitalWrite(6,LOW); // пробуждаем GSM модуль
  delay(500);
}

void EnterSleep()
{
  attachInterrupt(0, wakeUp, LOW); //Если на 0-вом прерываниии - ноль, то просыпаемся.
  delay(100);
 
  sleep_enable(); //Разрешаем спящий режим
  sleep_mode(); //Спим (Прерывания продолжают работать.) Программа останавливается.
  sleep_disable(); //Запрещаем спящий режим
}

 

Сергей Звягинцев
Offline
Зарегистрирован: 02.03.2017

Добрый день, давайте сделаем. почта arduino.maingroup@mail.ru

defed
Offline
Зарегистрирован: 27.10.2015

Ищу исполнителя!!!

harus
Offline
Зарегистрирован: 29.06.2016

defed пишет:
Ищу исполнителя!!!

1000 руб.

defed
Offline
Зарегистрирован: 27.10.2015

Куда писать? Mail?