Мне нужна помошь по переводу исходников на Си в Код для ардуино. Появится еще одна очень нужная функция для этого устройства, ведь наверняка почти у каждого имеется старый сотовый, который можно использовать под охранные цели...
Мне нужна помошь по переводу исходников на Си в Код для ардуино. Появится еще одна очень нужная функция для этого устройства, ведь наверняка почти у каждого имеется старый сотовый, который можно использовать под охранные цели...
А вообще много информации по этой теме на сайте разработчика...http://gsmpager.ru/making.html Проделана большая работа, спасибо ему за это...
Примерно вот так будет выглядеть
на счет работы не проверял еще (нужно еще кое- что подправить)
прошу специалистов проверить и подправить мой кодPHP код:
byte ReadByte[4];
int off_pin = 0;
int i;
int p = 2;
int Flag = 0;
int L_front_door = 2 ; // Вход датчика левая передняя дверь
int R_front_door = 3 ; // Вход датчика правая передняя дверь
int L_backt_door = 4 ; // Вход датчика левая задняя дверь
int R_backt_door = 5 ; // Вход датчика правая задняя дверь
int Hood = 6 ; // Вход датчика капот
int Boot = 7 ; // Вход датчика багажник
int Impulse = 8 ; // Вход датчика удара
int Alarm = 9; // Выход на реле управления
void setup()
{
// Устанавливаем порты на ввод
pinMode(L_front_door,INPUT);
pinMode(R_front_door,INPUT);
pinMode(L_backt_door,INPUT);
pinMode(R_backt_door,INPUT);
pinMode(Hood,INPUT);
pinMode(Boot,INPUT);
pinMode(Impulse,INPUT);
// Устанавливаем порт на вывод
pinMode(Alarm,OUTPUT);
// Устанвливаем порты в значение LOW
for (int i=2;i<9;i++){
digitalWrite(i, LOW);
}
digitalWrite(Alarm, HIGH); // Реле включено
// Инициализация com-порта
Serial.begin(9600);
delay(5000);
Serial.println("AT+CMGF=1") // Включение текстового режима SMS
delay(500);
}
void loop(){
//========================= Управление системой с помощью SMS=================================
// если входяшее smc равно 1111 то ставим систему в режим охраны
// если входяшее smc равно 2222 то снимаем систему с охраны
// если входяшее smc равно 3333 то делаем опрос системы
// если входяшее smc равно 5555 то блокируем зажигание
label1:
Serial.println("AT+CMGR=1CR"); // Чтение входящего сообжения
delay(1500);
if (Serial.available() > 4) // нужно узнать сначала что телефон шлет в порт и какие и сколько символов
{
for (i = 0; i < 4; i++)
{
(ReadByte[i]) = Serial.read() ; // принимаем данные с порта
}
if ReadByte[1] = 1 && ReadByte[2] = 1 && ReadByte[3] = 1 && ReadByte[4] = 1 &&
{ p = 1;
}
if ReadByte[1] = 2 && ReadByte[2]= 2 && ReadByte[3] = 2 && ReadByte[4] = 2 &&
{ p = 2;
}
if ReadByte[1] = 3 && ReadByte[2]= 3 && ReadByte[3] = 3 && ReadByte[4] = 3 &&
{ p = 3;
}
if ReadByte[1] = 5 && ReadByte[2]= 5 && ReadByte[3] = 5 && ReadByte[4] = 5 &&
{ p = 5;
}
Serial.flush(); // очистить буфер
Serial.println("AT+CMGD=1CR"); // удалить входящее сообщение
delay(500);
//===============================система выключена================================================
if p = 2 {
digitalWrite(Alarm, HIGH);
goto label1;
}
//===============================режим блокировки зажигания=========================================
if p = 5 {
digitalWrite(Alarm, LOW);
goto label1;
}
//===============================проверка статуса системы============================================
if p = 3 {
for (i = 2;i < 9 ;i++){
Flag = digitalRead (i)}
if Flag = 0 {
serial.println("AT+CMGS=6********"); // Номер телефона на который отправляется SMS
delay(1500);
Serial.println("Everything is all right"); // Текст SMS
delay(500);
Serial.println(26,BYTE); // Отправка сообщения <ctrl-Z>
delay(2000);
p = 1;
goto label1;
}
else {
goto label2;
}
//================================= Включен режим охраны==============================================
label2:
if digitalRead (L_front_door) = 1{
delay(1500);
Serial.println("AT+CMGS=6********"); // Номер телефона на который отправсяется SMS
delay(1500);
Serial.println("The left front door is opened"); // Текст SMS
delay(500);
Serial.println(26,BYTE); // Отправка сообщения <ctrl-Z>
delay(2000);
p = 5; // Реле выключено
off_pin = ++
}
if digitalRead (R_front_door) = 1{
delay(1500);
Serial.println("AT+CMGS=6********");
delay(1500);
Serial.println("The right front door is opened");
delay(500);
Serial.println(26,BYTE);
delay(2000);
p = 5;
off_pin = ++
}
if digitalRead (L_back_door) = 1{
delay(1500);
Serial.println("AT+CMGS=6********");
delay(1500);
Serial.println("The left rear door is opened");
delay(500);
Serial.println(26,BYTE);
delay(2000);
p = 5;
off_pin = ++
}
if digitalRead (R_back_door) = 1{
delay(1500);
Serial.println("AT+CMGS=6********");
delay(1500);
Serial.println("The right rear door is opened");
delay(500);
Serial.println(26,BYTE);
delay(2000);
p = 5;
off_pin = ++
}
if digitalRead (Hood) = 1{
delay(1500);
Serial.println("AT+CMGS=6********");
delay(1500);
Serial.println("The Hood is opened");
delay(500);
Serial.println(26,BYTE);
delay(2000);
p = 5;
off_pin = ++
}
if digitalRead (Boot) = 1{
delay(1500);
Serial.println("AT+CMGS=6********");
delay(1500);
Serial.println("The Boot is opened");
delay(500);
Serial.println(26,BYTE);
delay(2000);
p = 5;
off_pin = ++
}
if digitalRead (Impulse) = 1{
delay(1500);
Serial.println("AT+CMGS=6********");
delay(1500);
Serial.println("There was a blow");
delay(500);
Serial.println(26,BYTE);
delay(2000);
Не компилируется, есть недочеты.... не разберусь, скачай ардуиновский компилятор, попробуй.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)