ืืืืฆืขืืช ืืืกืจ GSM ืื, ืืชื ืืืื ืืืคืขืื ืื ืขืืืก ืืืืจืื ืฉื 220 ืืืื ืืืกืคืง ืฉื ืื ืืืชืจ ื-2 ืงืืืืืื, ืืื ืคืื ื ืืืืืจ ืืืจืฅ ืฉืื ืืฉ ืจืฉืช ืกืืืืจืืช.
ืืืฉืืจ ืื ื ืฉืื ืขื ืืื arduino nano ืืืืฆืขืืช ืืืืื gsm SIM800L. ืชืจืฉืื ืคืื ืงืฆืืื ืื ืขื ืจืฉืืื ืฉื ืจืืืืื ืืืื ืืืื. ืืื ืืืื ืืคืขืื ืื ืืกืืืืืช ืืืื ืืช ืื ืืจืฉืช 220 V. ืืืฉืจ ืคืืขืืื ืืืจืฉืช, ืืขืืืก ืืืื ืืฆืจืื ืขื 2 ืงืืืืืื ืืฉืื. ืืกืืืืืช, ืืกืคืง ืืจืื 300 W.
ืืงืฆืจื ืขื ืืชืื ืืช.
ืืฉื ื 4 ืืืืงืื ืืืืฉืืจ ืืื:
- ืืืืืช ืืื ืืืจืืจ
- ืืงืจ ืืืืืืช ืกืืืื
- ืืืืืช ืื ืคืกืง
- ืืืืง ืืงืจื.
ืืืืืช ืืืื ืืืจืืจ ืืื ืืืคื ืืจืื 500ื ืจืืื. ืื ืื ืืขืืื ืขื ืคืืืช ืืกืคืง, ืืื ืื ืืกืคืง ืืืืฆื ืืืงืกืืืื ืืงืื ืืืืก ืืืกืคืง ืฉื ืืืืคื.
ืืืงืจ ืืืืืืช ืืกืืืื ืืื ืืจืืืืจ ืืื ืจืืื BMS S3 ืฉื ืืขื ืืืืจ 3 ืกืืืืืช ืืืชืืื-ืืื. ืืกืืืืืช ืื ืืืจื ืืืื. ืื ืืืืืื ืืกืคืง ืืจื ืฉื 35 ืืืคืจ. ืื ืืฉ ืื ืคืืืช ืืื, ืื ืืชื ืืืื ืืงื ืืช ืกืืืืืช ืืืืืช ืืืชืจ ืขื ืืจื ืืงืกืืืื ื ืืื ืืืชืจ.
ืืืืืช ืื-ืคืกืง ืืืืฆืจืช ืขื ืืจื ืืืกืืืจ VT3, VD4, R4, R5, R3. ืืงืชืืื ืฉื ืืืืืช ืืื ืจ VD4 ืืืืืจืช ืืฉืืจืืช ืืืกืคืงืช ืืืฉืื ืืืืฉืจ ืืืคืขื ืืชื, ืืืจื ืืืกืืืจ VT3 ื ืคืชื. ืืืืจ ืคืชืืืชื, ืืืืข ืคืืื ืฆืืื ืฉืืืื ืืื ืื ืืกืืช ืืืืกืจ ืืืืืกืจืื ืขืืืจืื ืืืฆื ืืกืคืงืช ืืฉืื ืืืขืื ืืืกืคืง. ืชืืื ื ืืฉืืื ืฉื ืืืืืื ืืืกืจ ืืืื ืื: ืืืงื ืคืืขืืื ืืืฉืจ ืืืืข ืคืืื ืฆืืื ืืืืื ืืงืื, ืืืืงื ืืืฉืจ ืฉืืืื. ืื ืืฉ ืื ืืช ืืืคืฉืจืืช ืืจืืฉืื ื, ืื ืืชื ืฆืจืื ืืืขืืืจ ืืช R3 ืืืจืืื ืืคืืื ืฉื ืืืจื ืืืกืืืจ VT3 ืืืืืจ ืืช ืื ืืกืช ืืืืกืจ ืืคืืื ืฉื ืืืชื ืืจื ืืืกืืืจ.
ืืืืืช ืืืงืจื ืืืจืืืช ืขื ืืืืื SIM800 ื-arduino nano.
ืื ื ืจืื ืืืขืื ืืืืจืื
ืื ืื ื ืจืื ืืฉืืื ืืจืื
ืืื ืฉืืืืฉืืจ ืืชืืื ืืงืื SMS ืืืืืคืื ืฉืื, ืขืืื ืืืชืื ืืช ืืกืคืจ ืืืืคืื ืฉืื ืืืฉืชื ื your_phone. ืืคืฉืจ ืื ืืืืจ ืชืฆืืืช LCD ืืืจืืืืื ื, ืืืฉื wh1601 ืื wh0802, ืืื ืชืฆืืจืื ืืืื ืืช ืืืขืจืืช ืืื ืืฉืืจืืช ืขื ืืืืชืื lcd.
ืงืื
char your_phone = "+79148389933";
#include <SoftwareSerial.h> // ะะพะดะบะปััะฐะตะผ ะฑะธะฑะปะธะพัะตะบั SoftwareSerial ะดะปั ะพะฑัะตะฝะธั ั ะผะพะดัะปะตะผ ะฟะพ ะฟัะพะณัะฐะผะผะฝะพะน ัะธะฝะต UART
SoftwareSerial softSerial(8,9); // ะกะพะทะดะฐัะผ ะพะฑัะตะบั softSerial ัะบะฐะทัะฒะฐั ะฒัะฒะพะดั RX, TX (ะผะพะถะฝะพ ัะบะฐะทัะฒะฐัั ะปัะฑัะต ะฒัะฒะพะดั Arduino UNO)
// include the library code:
//#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
//const int rs = 12, en = 11, d4 = 5, d5 = 6, d6 = 7, d7 = 10;
//LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // ะ ะดะฐะฝะฝะพะผ ัะปััะฐะต ะฒัะฒะพะด TX ะผะพะดัะปั ะฟะพะดะบะปััะฐะตััั ะบ ะฒัะฒะพะดั 2 Arduino, ะฐ ะฒัะฒะพะด RX ะผะพะดัะปั ะบ ะฒัะฒะพะดั 3 Arduino.
// ะะฝะธัะธะธััะตะผ ัะฐะฑะพัั ัะธะฝ UART ั ัะบะฐะทะฐะฝะธะตะผ ัะบะพัะพััะตะน ะพะฑะตะธั
ัะธะฝ: //
String buf2,buf3;
int g=0;
String cmd1;
void setup(){ //
init_port();
// lcd.begin(16, 2);
// Print a message to the LCD.
//lcd.clear();
// lcd.setCursor(0, 0);
/// lcd.print("VKL");
// lcd.setCursor(0, 1);
/// lcd.print("ZHDITE");
/// init_port();// ะะฝะธัะธะธััะตะผ ะฟะตัะตะดะฐัั ะดะฐะฝะฝัั
ะฟะพ ะฐะฟะฟะฐัะฐัะฝะพะน ัะธะฝะต UART ะฝะฐ ัะบะพัะพััะธ 9600 (ะผะตะถะดั Arduino ะธ ะบะพะผะฟัััะตัะพะผ)
softSerial.begin(9600); // ะะฝะธัะธะธััะตะผ ะฟะตัะตะดะฐัั ะดะฐะฝะฝัั
ะฟะพ ะฟัะพะณัะฐะผะผะฝะพะน ัะธะฝะต UART ะฝะฐ ัะบะพัะพััะธ 38400 (ะผะตะถะดั ะผะพะดัะปะตะผ ะธ Arduino)
Serial.begin(9600);
delay(30000);
// cmd1 ="AT+CMGF=1rn";
softSerial.print("AT+CMGF=1rn");
/// print_lcd(cmd1);
delay(1000);
dellAllSMS();
// cmd1 ="AT+CMGDA="DEL ALL"rn";
// print_lcd(cmd1);
//cmd1="AT+CPAS";
/// print_lcd(cmd1);
} //
char c;
int m=0;
int i=0;//
int n=0;
// ะัะฟะพะปะฝัะตะผ ัะตััะฐะฝัะปััะธั: // ะัั ััะพ ะฟัะธัะปะพ ั ะผะพะดัะปั - ะพัะฟัะฐะฒะปัะตะผ ะบะพะผะฟัััะตัั, ะฐ ะฒัั ััะพ ะฟัะธัะปะพ ั ะบะพะผะฟัััะตัะฐ - ะพัะฟัะฐะฒะปัะตะผ ะผะพะดัะปั
void dellAllSMS(){
/* This deletes all sms in memory
*/
softSerial.print("AT+CMGDA="DEL ALL"rn"); // set sms to text mode
delay(3000);
}
void pin_on_setb()
{
digitalWrite(2,1);
digitalWrite(13,1);
}
void pin_off_setb()
{
digitalWrite(2,0);
digitalWrite(13,0);
}
void pin_on_inv()
{
digitalWrite(3,1);
// digitalWrite(13,1);
}
void pin_off_inv()
{
digitalWrite(3,0);
// digitalWrite(13,0);
}
void init_port()
{
pinMode(2,1);
pinMode(3,1);
pinMode(13,1);
}
String readData(){
// this function just reads the raw data
uint16_t timeout=0;
while (!softSerial.available() && timeout<10000)
{
delay(10);
timeout++;
}
if(softSerial.available())
{
String output = softSerial.readString();
//if(DEBUG)
/// Serial.println(output);
return output;
}
}
String buf, bufferIndex;
int tempIndex=0;
int messageIndex;
int prev=0;
int power=0;
void loop(){ //
/* if(softSerial.available()){ Serial.write(softSerial.read());} // ะะตัะตะดะฐัะผ ะดะฐะฝะฝัะต ะธะท ะฟัะพะณัะฐะผะผะฝะพะน ัะธะฝั UART ะฒ ะฐะฟะฟะฐัะฐัะฝัั (ะพั ะผะพะดัะปั ัะตัะตะท Arduino ะบ ะบะพะผะฟัััะตัั)
if( Serial.available()){softSerial.write( Serial.read());} // ะะตัะตะดะฐัะผ ะดะฐะฝะฝัะต ะธะท ะฐะฟะฟะฐัะฐัะฝะพะน ัะธะฝั UART ะฒ ะฟัะพะณัะฐะผะผะฝัั (ะพั ะบะพะผะฟัััะตัะฐ ัะตัะตะท Arduino ะบ ะผะพะดัะปั )*/
// lcd.clear();
// lcd.setCursor(0, 0);
// lcd.print("Nagruzka");
// lcd.setCursor(0, 1);
// if (power==1)
// {
// lcd.print("VKL");
// }
// else {lcd.print("VIKL");}
softSerial.print(F("AT+CMGL="ALL",0"));
softSerial.print("r");
buf = readData();
// Serial.println(buf);
tempIndex = buf.lastIndexOf("+CMGL: ");
tempIndex = tempIndex + 6;
bufferIndex = buf.substring(tempIndex);
bufferIndex = bufferIndex.substring(1,(bufferIndex.indexOf(",")));
messageIndex = bufferIndex.toInt();
///Serial.println(messageIndex);
if(prev!=messageIndex)
{
tempIndex = buf.lastIndexOf(your_phone);
// lcd.clear();
// lcd.setCursor(0, 0);
// lcd.print("SMS READ");
if((digitalRead(4))&&(tempIndex!=-1))
{
pin_on_inv();
delay(2000);
pin_off_inv();
// i=1;
// power=1;
}
else
{
pin_on_setb();
delay(2000);
pin_off_setb();
// i=1;
// power=1;
}
// send_sms(number3);
prev++;
}
if(messageIndex>=2)
{
dellAllSMS();
// lcd.clear();
// lcd.setCursor(0, 0);
// lcd.print("SMS READ");
// lcd.setCursor(0, 1);
// lcd.print("SMS DEL");
// cmd1 ="AT+CMGDA="DEL ALL"rn";
// print_lcd(cmd1);
prev=0;
}
delay(10000);
}
ื ืืชื ืืืฆืื ืืช ืงืืืฅ STL ืืืืคืกืช ืืงืืคืกื
ืกืจืืื ืขืืืื:
ืืงืืจ: www.habr.com