Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » Простая GSM сигнализация (просто для вас :))
Простая GSM сигнализация
defaultNick Дата: Вт, 31.01.2012, 01:54  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 23
Репутация: 0   ±
Замечания:   ±
На сайте с 06.06.2010

Статус: Offline

Вот. надо было сделать GSM сигналку. Сделал.
Работает абсолютно с любым мобильником!!!
Итак, на кнопку "2" мобилы вешаем номер быстрого дозвона куда сигналка будет звонить если есть взлом.
Разбираем мобилу к чертям и припаиваемся к двум кнопкам: в нокии это "2" и "С" (положить трубку)

Нажатие на быстрый дозвон "2" не будет работать если за время стояния пришло СМС какое рекламное или кто-то звонил. Поэтому надо
сначала несколько раз (3) нажать на "положить трубу" чтоб выйти в главный экран, и потом уже жать "2" для дозвона.

В схеме 2 геркона. Один (зелёный) это включение-выключение сторожевого режима, Жёлтый геркон на дверь.
Когда магнит на зелёном - сигналка не действует, после убирания магнита есть 35 секунд чтоб выйти и закрыть дверь.
И обратно, после открывания есть 35 сек чтоб положить магнит на зелёный геркон. Если не положен - мобила звонит на
номер записанный в мобиле на быстрый дозвон под кнопкой "2".
Потом ждёт 25 сек и перезванивает 3 раза снова. После этого ничего уже не делает больше до ресета. (ну это на тот случай если какая лажа случилась с магнитом, а вы далеко и чтоб вас не запаривала сигналка звонить бесконечно вам через каждые 25 сек)

Code

INCLUDE "bs2defs.bas"
DEFINE OSC 4
pause 500
low portb.7 : low portb.6 : a var byte : armed var byte : sent var byte
armed = 0 : sent = 0
st:
pause 500
high porta.2
pause 500
low porta.2
if porta.0 = 1 and armed = 0 then gosub arm
if porta.0 = 0 then armed = 0
if porta.1 = 0 and armed = 1 then gosub check          
goto st

arm:
        for a = 1 to 150
         pause 117
         high porta.2
         pause 117
         low porta.2
        next a
armed = 1        
return      

calling:
sent = sent + 1
high porta.2
pause 1500
low porta.2
if sent >= 3 then return
        high portb.7 : pause 400 : low portb.7 : pause 400
        high portb.7 : pause 400 : low portb.7 : pause 400
        high portb.7 : pause 400 : low portb.7 : pause 400

        high portb.6 : pause 1000 : low portb.6 : pause 500
pause 25000
return

check:
        for a = 1 to 150
         pause 117
         high porta.2
         pause 117
         low porta.2
        next a
        if porta.0 = 1 then gosub calling        
        if porta.0 = 0 then armed = 0
return


я как всегда за открытость кода, никаких копирайтов если что, пользуйтесь кто хочет. happy
мигание со средней частотой - сигналка работает нормально - ждёт
быстрое мигание - или вы уходите и надо закрыть дверь, или вы пришли и надо положить магнит на зелёный или скоро (если нет магнита) вам она позвонит.
Длинное горение - звонит.
Питание всей этой лабуды берётся от того же мобильника. т.е. если отключат электричество - она долго ещё проработает на мобилкином аккумуляторе.

Вроде всё. Достаточно серьёзная фигня получилась для такой простой схемы и кода. чирс!

ЗЫ. жёлтый геркон сделан наоборот, он разомкнут когда дверь закрыта. идея была такая: если залезли через окно и видят провода, то, может быть, их сначала попытаются замкнуть и тогда сработает! если же просто перережут то жопа sad в следущей версии (через полтора месяца) будут заюзаны уже 3 провода и Н.З. и Н.Р. + сигнал открытия коробки сигналки + сигнализация отключения электричества в сети.. обо всём этом будут слаться СМСки + полное управление по СМС,
НО! это всё будет работать только с нокией 6210. Вот жду когда она ко мне придёт. Фиг достанешь сейчас.

ЗЫЫ. когда сигналка звонит, можно ответить и послушать что происходит.
Прикрепления: 3760530.gif(3Kb)

Сообщение отредактировал defaultNick - Вт, 31.01.2012, 03:16
ЯНДЕКС Дата: 31.01.2012
retas Дата: Вт, 31.01.2012, 13:30  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 462
Репутация: 10   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

defaultNick!
1. Если с любой мобилкой - очень хорошо.
2. Что там ценного в нокии 6210, вроде под это дело все Сименсы ставили?
3. Открытость кода для подобных имеет предел, иначе может получиться что дали ключь вору - вообще то тут проблемы.
4. Количество попыток дозвона конечно логично ограничивать, но если сделать чтоб сигнализация среагировала на
сброс хозяином вызова, то количество можно увеличить (скажем в DSC стоит 8 попыток, можно выбрать продолжительность дозвона
и паузу между ними).
5. Полезно предусмотреть режим "оставаясь (дети) дома" - тогда если ребёнок откроет дверь, сразу пойдёт дозвон с
прослушиванием помещения.
6. Вкл/Выкл лучше сделать на IR.


Новый подход к питанию потребителей переменного тока: http://ekolaif.ucoz.ru
Форум Picbasic.ru » Программирование МК » PicBasicPro » Простая GSM сигнализация (просто для вас :))
Страница 1 из 11
Поиск: