Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Простая говорящая GSM - сигнализация.

Непрочитано 02.10.2020, 13:41  
afuoftop
Прохожий
 
Регистрация: 02.10.2020
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
afuoftop на пути к лучшему
По умолчанию Простая говорящая GSM - сигнализация.

Программа для говорящей GSM - сигнализации на языке BASCOM-AVR

Код:
' Авторская работа. Автор:  Дмитрий Абловацкий.
'Программа для говорящей GSM сигнализации на модуле SIM800L.
'SIM800L Revision:1418B04SIM800L24.
'Настройка микроконтроллера Attiny85: фюзы, изменение только LOW на $E2

$regfile = "attiny85.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32

Config Portb.0 = Input
Config Portb.1 = Output
Config Portb.2 = Input
Open "comb.3:9600,8,n,1" For Input As #2       'RXD - вход
Open "comb.4:9600,8,n,1" For Output As #1       'TXD - выход

Dim Buffered As String * 300
Dim On_off As Bit
Dim In_str As Byte
Dim I As Byte
Dim I1 As Long
Dim Telephone As String * 12

Config Debounce = 100
Telephone = "registered"

' - - - - - - - - - - -Подготовка модуля - - - - - - - - - -
Reset Portb.1       'выход модуля из спящего режима
Wait 12   ' время для самоподготовки модуля
Print #1 , "AT"       ' Проверка на готовность модуля к работе
Input #2 , Buffered       ' Ответ
In_str = Instr(buffered , "0")
If In_str = 0 Then
Waitms 250
Print #1 , "ATE0V0+CMEE=0;+CLIP=0"       'Выкл эха, только код ошибки, выключить АОН
Input #2 , Buffered       ' Ответ
'Waitms 250
'Print #1 , "AT+CNMI=1,2,0,0,0"       ' СМС не сохранять, направлять в микроконтроллер
'Input #2 , Buffered       ' Ответ
Waitms 250
Print #1 , "ATS0=0"       ' автоответ ручной
Input #2 , Buffered       ' Ответ
Waitms 250
Print #1 , "AT+CSCLK=1"       ' спящий режим
Input #2 , Buffered       ' Ответ
Waitms 250
Print #1 , "AT+CLCC=1"       ' установить автоматическое отображение статуса
Input #2 , Buffered       ' Ответ
Waitms 250
Print #1 , "AT&W"       ' сохранить
Input #2 , Buffered       ' Ответ
End If

Print #1 , "AT+CPIN?"       ' Готовность модуля к работе с картой
Input #2 , Buffered       ' Ответ  +CPIN READY  или 4- нет карты
In_str = Instr(buffered , "SIM PIN")
Input #2 , Buffered       ' Ответ 0 - OK  или нет ответа
If In_str ‹› 0 Then       'если карта есть, но нужен PIN - код
Print #1 , "AT+CPIN=0000"       'PIN - код   !Возможно Сим-карта заблокируется  после 3 неправильных
Input #2 , Buffered       ' Ответ  0 - OK или 4- неправильный PIN - код
Input #2 , Buffered       ' Ответ +CPIN READY  или  нет ответа
Input #2 , Buffered       ' Ответ Call Ready   или  нет ответа
Input #2 , Buffered       ' Ответ SMS Ready  или  нет ответа
End If

Wait 2
For I = 1 To 3
Print #1 , "AT+CPAS"       'Готовность к выполнению команд
Input #2 , Buffered       ' Ответ
In_str = Instr(buffered , "0")
If In_str ‹› 0 Then       'Если модуль готов к работе
Wait 1
Print #1 , "AT+CREG?"       ' проверка на регистрацию в сети
Input #2 , Buffered       ' Ответ
In_str = Instr(buffered , ",1")
If In_str ‹› 0 Then       ' если зарегистрирован
Goto M1   ' выход , иначе ещё попытки
End If
End If
If I = 2 Then
Wait 1
Print #1 , "AT+CFUN=1,1"       'перезагрузка модуля
Input #2 , Buffered       ' Ответ
Wait 5
End If
Wait 5
Next

M1:
Do
' - - - - - - - - - - - PIR датчик  - - - - - - - - - -
 If Pinb.2 = 1 And On_off = 1 And Pinb.0 = 1 Then       ' если 1
Wait 3  ' время для пробуждения  SIM800L
For I = 1 To 3       ' три попытки дозвониться
Print #1 , "AT+CCALR?"       ' идентификатор готовности совершить звонок
Input #2 , Buffered       ' Ответ
Input #2 , Buffered       ' Ответ
In_str = Instr(buffered , " 1")
If In_str ‹› 0 Then       ' если готов совершить звонок       ' если 2
Wait 1
Print #1 , "ATD" ; Telephone ; ";"       '  набор номера
Input #2 , Buffered       'ответ
Input #2 , Buffered       'ответ
Input #2 , Buffered       'ответ    ' голосовое соединение
In_str = Instr(buffered , "3,0,0")       '
If In_str ‹› 0 Then       ' если голосовое соединение  ' если 3

For I1 = 1 To 4000000       ' примерно 40 сек ожидание, если соединение и бездействие до сброса
If Pinb.3 = 0 Then       ' если  абонент возьмёт трубку или  сбросит соединение
Input #2 , Buffered       'ответ

Wait 1
For I1 = 1 To 500000       ' примерно 5 сек ожидание сброса
If Pinb.3 = 0 Then       ' если сброс соединения
Input #2 , Buffered       'ответ
Goto M2
End If
Next

In_str = Instr(buffered , "0,0,0")
If In_str ‹› 0 Then       ' если голосовое соединение
Print #1 , "AT+CREC=4,C:\User\3__.amr,1,100"       ' передача речевого сообщения
Input #2 , Buffered       ' Ответ
Wait 8    'Время речевого сообщения + добавленное
M2:
Waitms 250
Print #1 , "ATH0"
Input #2 , Buffered
Bitwait Pinb.2 , Reset
Goto M1
End If

End If
Next

End If    ' 3-End If
End If    ' 2-End If
Wait 1
Print #1 , "ATH0"
Input #2 , Buffered
Wait 10
Next

End If    ' 1-End If
' - - - - - - - - - - -Проверка на входящий звонок по  RING - - - - - - - - - -
If Pinb.0 = 0 Then       ' если поступил звонок
 ' - - - - - - - - - - - включение и выключение сигнализации  - - - - - - - - - -
Input #2 , Buffered       ' Ответ   +CLCC: 1,1,4,0,0,"+7**********",145,""
In_str = Instr(buffered , "+7" )
If Telephone = "registered" Then
Telephone = Mid(buffered , In_str , 12 )
Else
In_str = Instr(buffered , Telephone )
End If
Input #2 , Buffered       ' Ответ 2 - первый звонок
Input #2 , Buffered       ' Ответ 2 - второй звонок
If In_str ‹› 0 Then       ' если зарегистрированный номер телефона
In_str = Instr(buffered , "1,6,0,0,")       '  если сброс
If In_str = 0 Then       '  если входящий звонок продолжается
Waitms 250
Print #1 , "ATA"
Input #2 , Buffered       ' Ответ
Input #2 , Buffered       ' Ответ  +CLCC: 1,1,0,0,0,"+7**********",145,""
If On_off = 0 Then
On_off = 1
Wait 1
Print #1 , "AT+CREC=4,C:\User\1__.amr,1,100"       ' передача речевого сообщения
Input #2 , Buffered       ' Ответ
Wait 8    'Время речевого сообщения + добавленное
Print #1 , "ATH0"
Input #2 , Buffered       ' Ответ
Else
On_off = 0
Wait 1
Print #1 , "AT+CREC=4,C:\User\2__.amr,1,100"       '  передача речевого сообщения
Input #2 , Buffered       ' Ответ
Wait 8    'Время речевого сообщения + добавленное
Print #1 , "ATH0"
Input #2 , Buffered       ' Ответ
End If
End If
Else      ' если незарегистрированный номер телефона
Wait 1
Print #1 , "ATH0"
Input #2 , Buffered       ' Ответ
Bitwait Pinb.0 , Set
End If
End If

Set Portb.1       ' в спящий режим SIM800L
Enable Interrupts
Enable Int0
Enable Pcint0
Idle      ' в спящий режим микроконтроллер
Reset Portb.1       ' выход модуля из спящего режима
Disable Interrupts
Disable Int0
Disable Pcint0
Loop
End
Миниатюры:
Нажмите на изображение для увеличения
Название: scheme_jpg.jpg
Просмотров: 0
Размер:	198.5 Кб
ID:	156779  
Реклама:

Последний раз редактировалось RECTO; 03.10.2020 в 17:05. Причина: оформление программного кода надлежащим образом
afuoftop вне форума  
Непрочитано 02.10.2020, 13:51  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,456
Сказал спасибо: 3,225
Сказали Спасибо 3,508 раз(а) в 2,389 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Простая говорящая GSM - сигнализация.

Обрамите исходник тегами "php" или приложите файлом. Движок форума может покоцать.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума  
Непрочитано 02.10.2020, 17:15  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Простая говорящая GSM - сигнализация.

Пхахаха, так бы и сказали сразу, что "говорилка" чисто за счет услуги оператора по записи речевого сообщения. А то я думаю, как в 8 кБ ATTiny85 смоги поместиться еще и речевые сообщения вдобавок к самой проге?

Вопсчем, откровенно говоря, НИЗАЧОД! Лучше бы СМС-ки отправляли.
А если уж делать "говорящую", тогда ставить полноценный голосовой канал с микрофоном и динамиком для прослушивания помещения и обратной связью, а голосовые сообщения - через записанный на микросхему флеш-памяти голос.
NewWriter вне форума  
Непрочитано 02.10.2020, 22:51  
Ara41
Почётный гражданин KAZUS.RUN
 
Регистрация: 30.09.2006
Сообщений: 1,557
Сказал спасибо: 157
Сказали Спасибо 660 раз(а) в 430 сообщении(ях)
Ara41 на пути к лучшему
По умолчанию Re: Простая говорящая GSM - сигнализация.

Сигнализация для трудных, которые не умеют читать. Проще реализовать оповещение через СМС.
Ara41 вне форума  
Непрочитано 03.10.2020, 03:38  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Простая говорящая GSM - сигнализация.

Сообщение от NewWriter Посмотреть сообщение
а голосовые сообщения - через записанный на микросхему флеш-памяти голос
там и в самом мамеде чутка места есть под голосовые сообщения. Правда, не помню, именно в L есть ли...
AR_Favorit вне форума  
 

Метки
bascom-avr, gsm
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чудит GSM сигнализация или оператор. P895 Электроника - это просто 14 16.12.2018 10:23
Сигнализация «Пугач» lomnik Электроника средств транспорта 1 15.07.2016 08:11
GSM Сигнализация не отвечает на вызов 123ksn Автоматика и аппаратура связи 91 26.01.2016 20:34
GSM сигнализация 007b Автоматика и аппаратура связи 19 31.12.2011 20:07
Простая сигнализация в подвале gary2007 Поиск схем. Делимся схемами 16 30.06.2011 10:13


Часовой пояс GMT +4, время: 19:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.