Arduino schéma - arduino.sk

GSM zasuvka

Kompletné projekty s návodom a zdrojovým kódom
Obrázok užívateľa
Príspevky: 43
Registrovaný: Str 25. Feb 2015 22:19:54
Bydlisko: Fintice

GSM zasuvka

Poslaťod dzooky » Štv 02. Mar 2017 14:20:58

Moj najnovsi a konecne aj dokonceny projekt. GSM zasuvka na ovladanie do nej zapojeneho zariadenia.
Ja to pouzivam ovaldanie wifi routra, na vypinanie na noc.

Kód: Vybrať všetko
#include                                      //kniznica pre seriovu komunikaciu
#include "SIM900.h"                                             //zakladna kniznica pre pracu s chipom SIM900
#include "call.h"                                               //kniznica zabezpecujuca telefonovanie

CallGSM call;

#define SERIAL_MSGS                                             //povolenie sprav, pre ladenie

#define RELE 7                                                  //pin pre rele
#define RELE_ON 0                                               //zapnutie relatok
#define RELE_OFF 1                                              //vypnutie relatok
boolean RELE_STAV = RELE_OFF;                                   //vychodzia poloha rele = vypnute

char number[20];                                                //tel cislo
char *check_number[] = {                                        //pole povolenych telefonnych cisiel
  "0901234567",                                                 //cislo 1
  "+421903456789",                                              //cislo 2
  "0902345678"                                                  //cislo 3
  };                                                           
byte stat;                                                      //stav prichadzajuceho hovoru

void setup()
  {
    Serial.begin(9600);                                         //nastavenie rychlosti seriovej komunikacie
 
    //spojenie s GSM shieldom
    vypis(1,2);                                                 //spajanie s GSM modulom
    if (gsm.begin(2400)) vypis(2,1);                            //uspesna komunikacia s GSM modulom
    else vypis(3,1);                                            //komunikacia s GSM modulom sa nepodarila

    pinMode(RELE,OUTPUT);                                       //nastavujem pin ako vystup
    digitalWrite(RELE, RELE_STAV);                              //nastavenie vychodzieho nastavenia rele
  }

void loop()
  {
    if(call.CallStatus() == CALL_INCOM_VOICE)                   //zistuje ci niekto vola
        {
          for (byte i = 0; i < (sizeof(check_number)/2); i++)   //zistuje pocet cisel a porovnava cisla
            {
              stat = call.CallStatusNumber(number,check_number[i]);
              if(stat == CALL_INCOM_VOICE_AUTH) break;          //ak sa zhoduju cisla prerusuje a nastavi stat
            }
 
          if(stat == CALL_INCOM_VOICE_AUTH)                     //ak volalo povolene cislo
            {
              vypis(4,1);
              if(RELE_STAV == RELE_ON) RELE_STAV = RELE_OFF;    //ak je aktualne rele zapnute, nastavi vypnutie rele
              else RELE_STAV = RELE_ON;                         //ak je aktualne rele vypnute, nastavi zapnutie rele
              digitalWrite(RELE, RELE_STAV);                    //vykona akciu na rele
            }
         
          else vypis(5,1);                                      //ak volalo nepovolene cislo
   
          Serial.print(number);                                 //vypis volaneho cisla
          call.HangUp();                                        //rusi hovor
        }
  }
//funkcia pre vypis sprav
void vypis(byte msg, boolean type)
{
#ifdef SERIAL_MSGS
const char *sprava;
switch (msg)
{
case 1:
sprava = "Spajanie s GSM modulom.";
break;

case 2:
sprava = "\nStav: spojenie uspesne";
break;

case 3:
sprava = "\nStav: spojenie neuspesne";
break;

case 4:
sprava = "\nVolalo autorizovane cislo: ";
break;

case 5:
sprava = "\nVolalo neautorizovane cislo: ";
break;
}

if(type == 1) Serial.print(sprava);
if(type == 2) Serial.println(sprava);
#endif
}


Fotky z postupu prace a vsetko ostatne u mna na blogu
http://dzooky.eu/2017/gsm-zasuvka/

Späť na Hotové projekty