GSM сигнализация
- Войдите на сайт для отправки комментариев
Чт, 24/10/2019 - 09:24
Добрый всем день. Я в Arduino новичок. Есть модуль SIM800L, Arduino mini 328, HFS-DC06H. Облазил весь интернет, схем сигнализаций море. Нужна самая простая. после установки сигнализации с помощью SMS на охрану,при сработке HFS-DC06H модуль SIM800L делает дозвон на определенный номер, если движение прекращается модуль сам встает в охрану пока не дать команду SMS об отмене.
собирал на UNO с отправкой SMS, работает.
а где же код? :)
Собирал с этим кодом, все работает. только SMS шлет при сработке, а мне нужен дозвон и при окончании движения чтоб сигнализация сама в работу (охрану) вставала.
ПтваюМать!
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
#include "SIM900.h" #include <SoftwareSerial.h> #include "sms.h" #include "call.h" SMSGSM sms; CallGSM call; //=================Пины 2 и 3 для Подключения GSM модуля int sensor1=0; int flag1=0; boolean started=false; char smsbuffer[160]; char n[20]; String n1 = "+7905000000"; String input_string = ""; String smsContent = ""; char smsD[] = "Sirena vkluchena!"; char PowerOFF[] = "Snyato s ohrani"; char smsDv[] ="Wnimaniye! Dvijeniye na objekte!"; char smsW[] ="Postanovka na ohranu!"; char pos; char sendsms[160]; void setup() { pinMode(10, OUTPUT); // Пассивный зумер (сигнал) //pinMode(7, OUTPUT); Serial.begin(9600); pinMode(4, INPUT); // датчик движения digitalWrite(4, HIGH); // pinMode(5, INPUT); // еще какой-нибудь датчик // digitalWrite(5, HIGH); if (gsm.begin(9600)) { Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); } void loop() { //===========================Первое срабатывание датчика движения if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==0){ n1.toCharArray(n,20); sms.SendSMS(n, smsDv); // Посылаем СМС о том, что есть движение sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; delay(3000); // Ждем 3 секунд } //===========================Повторное срабатывание датчика движения if ((digitalRead(4)==HIGH) && sensor1==1 && flag1==1){ n1.toCharArray(n,20); sms.SendSMS(n, smsD); // Посылаем СМС о том, что включена сирена sms.DeleteSMS(1);memset(n,0,20); char smsbuffer[160]=""; flag1++; } // if (flag1>=2){ // tone(10, 2780, 200); // Сирена //} pos = sms.IsSMSPresent(SMS_UNREAD); // смотрим непрочитанные СМС if (pos) { // Если непрочитанные СМС есть, то... getsms(); // получаем непрочитанную СМС if (input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны sensor1=0;digitalWrite(7,LOW);input_string=""; char smsbuffer[160]=""; flag1=0;} if (input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану sensor1=1; input_string=""; char smsbuffer[160]=""; flag1=0;} sms.DeleteSMS(pos); // удаляем СМС из симки } } void getsms() { sms.GetSMS(1,n,20,smsbuffer,160); input_string =String(smsbuffer); }