GSM požarni SMS opozorilo

Preizkusite Naš Instrument Za Odpravo Težav





V tem članku bomo izdelali sistem za obveščanje o požaru GSM z uporabo Arduino in senzorja DHT11, ki bo uporabnika prek besedilnega sporočila (SMS) opozoril na nevarnost požara v prostoru, kjer je nameščen.

Uporaba senzorja DHT11

Uporabljamo DHT11 senzor za zaznavanje nenavadnega dviga temperature v okolici. V programu lahko natančno nastavimo pražno temperaturo, če se temperatura dvigne nad prednastavljeni prag, GSM modem začne pošiljati opozorilno sporočilo SMS prejemniku.



Kako deluje

Nastavitev vezja za požarno opozorilo GSM je sestavljena iz treh delov, senzorja, Arduina, ki je možgan projekta, in GSM modema, ki pošilja SMS opozorilo.

Ožičenje nastavitve je enako kot pri drugih Projekti, ki temeljijo na GSM ki je bilo obravnavano na tej spletni strani. Edina razlika je dodajanje senzorja DHT11 Arduinu.



TX GSM je povezan s pinom 9 Arduino in RX GSM je povezan s pinom 8 Arduina in povezan je tudi povezava ozemljitev - zemlja. Močnostna in podatkovna povezava senzorja je optimizirana za zmanjšanje zastojev ožičenja med izdelavo prototipov.

Pazljivo upoštevajte priključke in vstavite senzor od A0 do A2 v pravilno usmeritev, kot je prikazano spodaj.

Če obrnete usmeritev senzorja, se na serijskem monitorju izpiše 'NO DATA'. Če dlje časa držite obratno usmerjenost, lahko celo poškoduje senzor. Zato bodite previdni glede povezave senzorja.

Tu je dokončan avtorski prototip:

GSM modem vedno napajajte z zunanjim napajanjem. A 9V 500mA napajalnik bo dovolj za modem GSM. Serijski monitor pri tem projektu ni obvezen, saj bo to samostojen projekt. Serijski monitor potrebujemo samo med testiranjem prototipa.

Narediti DC UPS sistem , sheme so na voljo na tem spletnem mestu in poskušajte gumb za vklop narediti lahko dostopen zunaj šasije vašega projekta, tako da se lahko GSM modem po kratkem izpadu električne energije vklopi.

Zunanji gumb za vklop je mogoče spajkati z žicami gumba za vklop na modemu GSM. DC UPS bo zmanjšal potrebo po vklopu GSM modema po vsakem izpadu električne energije. Omogoča funkcijo plug and pozabiti. Zdaj pa poglejmo, kako deluje celotna namestitev.

V primeru požara se sobna temperatura v kratkem času hitro dvigne, senzor lahko meri od 0 do 50 stopinj Celzija.

Ko se temperatura dvigne nad prednastavljeno mejno vrednost v programu (v območju od 0 do 50), pošlje SMS-sporočilo z napisom »Požarni alarm: 45,00 stopinj Celzija«. 45 stopinj Celzija je temperatura prostora med pošiljanjem SMS-ov, temperatura pa bi v nekaj minutah po požarni nesreči presegla 100 stopinj Celzija. V primeru, da eno od poslanih sporočil ne uspe, se pošlje opozorilo z dvema SMS sporočili.

Če senzor ni uspel ali se senzor odklopi od Arduina, se uporabniku dvakrat pošljejo informacije prek SMS sporočila »Ni podatkov s senzorja / senzorja odklopljenega«

Program se ustavi za 30 minut po pošiljanju SMS-sporočila o požaru ali odklopu senzorja. Po 30 minutah ponovno preveri nepravilnosti pri sobni temperaturi in povezavi žice senzorja, če obstajajo, znova pošlje opozorilo SMS in počaka še 30 minut.

Ko je celotna nastavitev končana in vklopljena, GSM modem pošlje testni SMS s sporočilom »To je testni SMS z modema GSM«, če prejmete to sporočilo na številko prejemnika, to pomeni, da vaš projekt deluje v redu.

Program:

//--------------Program developed by R.Girish---------------//
#include
#include
SoftwareSerial gsm(9,8)
#define DHTxxPIN A1
dht DHT
int p = A0
int n = A2
int ack
int msgsend=0
int th=45 //set threshold temperature
unsigned long A = 1000L
unsigned long B = A * 60
unsigned long C = B * 30
void setup()
{
Serial.begin(9600)
gsm.begin(9600)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,1)
digitalWrite(n,0)
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
gsm.println('This is a test SMS from GSM modem')// The SMS text you want to send
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
top:
msgsend=0
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.println(' ')
delay(2000)
}
if(ack==1)
{
goagain:
msgsend=msgsend+1
Serial.print('NO DATA')
Serial.print(' ')
Serial.println('Sending SMS...... ')
delay(500)
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
gsm.println('No data from sensor/Sensor disconnected')// The SMS text you want to send
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
Serial.println('Message is sent ')
if(msgsend==2)
{
delay(C)
goto top
}
else
{
delay(10000)
goto goagain
}
}
if(DHT.temperature>=th)
{
doagain:
msgsend=msgsend+1
Serial.println('Sending SMS...... ')
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxx' ') // Replace x with mobile number
delay(1000)
gsm.println('Fire Alert:')// The SMS text you want to send
gsm.print(DHT.temperature)
gsm.print(' degree celsius')
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
Serial.println('Message is sent ')
if(msgsend==2)
{
delay(C)
goto top
}
else
{
delay(10000)
goto doagain
}
}
}
//--------------Program developed by R.Girish---------------//

Opomba: Številko prejemnika morate postaviti na tri mesta v programu, ki je v programu opisan kot

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Zamenjaj x z mobilno številko

• Nastavite mejno temperaturo

int th = 45 // nastavitev pražne temperature

Mejna temperatura mora biti nastavljena na višjo, višjo kot običajno nihanje temperature v prostoru .Na primer: DHT11 ima največjo merilno zmogljivost 50 stopinj Celzija, zato je pragovo temperaturo mogoče nastaviti od 45 do 47. Visoka mejna vrednost je nastavljena tako, da ne bo poslal lažno sproženega SMS-opozorila za majhne spremembe v sobni temperaturi.

Če imate nadaljnje dvome ali dvome glede obravnavanega sistema požarnih sporočil SMS, vas prosimo, da jih predstavite s svojimi dragocenimi komentarji.




Prejšnja: Kako oblikovati vezje indukcijskega grelca Naprej: Raziskanih 6 najboljših pretvorniških vezij IC 555