Страница 9 из 63

Блок пользователя для работы с GSM

Добавлено: 15.08.2016{, 21:09}
Слимпер
stapmoff писал(а):Только что попробовал 17 прошивка работает корректно. Что не так не пойму
Проверь 
#define Module_Start "Call Ready"
Или что другое?

Блок пользователя для работы с GSM

Добавлено: 15.08.2016{, 21:33}
stapmoff
SMS Ready , пробовал исправлять на Call Ready результат один

Добавлено (15.08.2016, 21:33)
---------------------------------------------
Прошу прощения мой косяк. Просто в проекте пины на сброс звонка и ussd находятся на 2 и 3 пине, а у меня эти пины софтсериал порт)))

Блок пользователя для работы с GSM

Добавлено: 15.08.2016{, 21:39}
Слимпер
Очень странно, только, проверил, все стартует (Естественно после замены ожидаемого сообщения модуля)

Добавлено (15.08.2016, 21:39)
---------------------------------------------
stapmoff писал(а):Прошу прощения мой косяк. Просто в проекте пины на сброс звонка и ussd находятся на 2 и 3 пине, а у меня эти пины софтсериал порт)))
Напишете какие пины у вас под что, у меня на макетки много свободных сделаю чтобы совподали

Блок пользователя для работы с GSM

Добавлено: 15.08.2016{, 21:42}
Слимпер
Вот обещанный блок разбора даты и времени.

Блок пользователя для работы с GSM

Добавлено: 15.08.2016{, 22:07}
stapmoff
Затестил блок, не добавляет ноль ели число одиночное, странно показывает время, вместо 23 часов кажет 4 

4:56 15/8/16

В тестовой прошивке все работает кроме,,,, при подъеме трубки шлю DTMF, далее не обращяется к модулю, ни времени ни уровня сигнала тишина, пробовал просто звонить поднимать трубку, после сброса опрос прилетает сразу

+DTMF: 1
+DTMF: 2
+DTMF: 3
+DTMF: 4
+DTMF: 5
+DTMF: 6
+DTMF: 7
+DTMF: 8
+DTMF: 9
+DTMF: *
+DTMF: 0
+DTMF: #
SVONOK STOP

Добавлено (15.08.2016, 22:07)
---------------------------------------------
Вот сейчас время 00:06 а он кажет как 5:6

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 12:01}
Слимпер
stapmoff писал(а):Затестил блок, не добавляет ноль ели число одиночное, странно показывает время, вместо 23 часов кажет 4
 Это я пытался ввести коррекцию по часовому поясу. А нули он и не будет добавлять так как выхода инт.
stapmoff писал(а):В тестовой прошивке все работает кроме,,,, при подъеме трубки шлю DTMF, далее не обращяется к модулю, ни времени ни уровня сигнала тишина, пробовал просто звонить поднимать трубку, после сброса опрос прилетает сразу
Вот это интересно, похоже 
после +DTMF: 1 нет перевода строки, а это все меняет.

После поправлю 

У меня уже 2 часа ночи. Завтра появлюсь только вечером.

Добавлено (16.08.2016, 12:01)
---------------------------------------------
Слимпер писал(а):Затестил блок, не добавляет ноль ели число одиночное, странно показывает время, вместо 23 часов кажет 4
 Так и задумывалось. Посмотрел на картинке, что вы выкладывали там в конца после времени было +20, это часовой пояс в четвертях час, следовательно у вас пояс +5, вот блок это и учитывает делая из 23 4, а из 0 5.
Так у вас реальное время то сколько было?

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 12:05}
stapmoff
время было 00:06 а он кажет как 5:6

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 15:14}
Слимпер
А с DTMF, чтобы мне вслепую не гадать, просьба скачать программу ALTerminal
В ней в пункте меню выставить такие настройки  
СпойлерПоказать
Подключится к модулю на прямую.
А затем при подав такие команду AT+DDET=1
Позвонить на модуль, поднять трубку, командой ATA
По подавать команды DTMF и выложить сюда результат.
Там должны быть в конце строк символы вида $0D$0A.
Мне надо понять чем строки завершаются.

Добавлено (16.08.2016, 12:14)
---------------------------------------------
stapmoff писал(а):время было 00:06 а он кажет как 5:6
Так тогда когда будет возможность выложите
Строку что выдает блок работы с модулем, реально ваше время, и то что получилось после блока декодирования.

Добавлено (16.08.2016, 14:20)
---------------------------------------------
Подумал наверное исходящий вызов, и ответ на звонок стоит делать только для   SIM800.
Так как  для 590 пользы не будет. Если кто придумает применение то напишите.

Добавлено (16.08.2016, 15:14)
---------------------------------------------
Сейчас четал даташит на 800 
СпойлерПоказать
+DDET: <mode>,<interval>,<reportMode>,<ssdet>

Parameters
<mode> Disable or enable DTMF detection control
0  Disable
1  Enable 
<interval> The min interval between two same key URC. The range is 
0-10000, the default value is 0. unit is ms.
<reportMode> URC report mode
0  Key value reported only
1  Key value and last time are reported, the last time is in ms 
<key> Keytone detected, 0-9,*,#,A,B,C,D.if <ssdet> is 1,Single frequency 
sound 1400 and 2300 is supported too, when single frequency 1400HZ 
sound or 2300HZ sound is detected, +DTMF:1400 or +DTMF:2300 is 
reported
<last time> Duration of keytone playing. unit is ms.
<ssdet> Single frequency sound detect function on off
0  Switch off
1  Switch on
Получается есть еще ограничение , кроме самого включения детектирования DTMF, есть еще ограничение минимального времени до повторной подачи одного и того  же сигнала.
Нади или нет не знаю. 

Вообще я фигею, от того что зашито в эти чипы, такой огромный функционал.

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 16:59}
stapmoff
Слимпер писал(а):Вообще я фигею, от того что зашито в эти чипы
И то это SIM800L  у нас, есть С и Н там вообще блютуз, ГПС сразу, радио и тут есть в L . Есть модули сразу на андроиде))

Добавлено (16.08.2016, 16:51)
---------------------------------------------
Вот
+DTMF: 1$0D$0A
$0D$0A
+DTMF: 2$0D$0A
$0D$0A
+DTMF: 3$0D$0A
$0D$0A
+DTMF: 4$0D$0A
$0D$0A
+DTMF: 5$0D$0A
$0D$0A
+DTMF: 6$0D$0A
$0D$0A
+DTMF: 7$0D$0A
$0D$0A
+DTMF: 8$0D$0A
$0D$0A
+DTMF: 9$0D$0A
$0D$0A
+DTMF: *$0D$0A
$0D$0A
+DTMF: 0$0D$0A
$0D$0A
+DTMF: #$0D$0A
$0D$0A

Добавлено (16.08.2016, 16:59)
---------------------------------------------
Вот время без блока 
16/08/16,18:59:04+20

вот с блоком

23:59 16/8/16

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 17:11}
Слимпер
stapmoff писал(а):Вот+DTMF: 1$0D$0A
$0D$0A
+DTMF: 2$0D$0A
$0D$0A
+DTMF: 3$0D$0A
$0D$0A
+DTMF: 4$0D$0A
$0D$0A
+DTMF: 5$0D$0A
$0D$0A
+DTMF: 6$0D$0A
$0D$0A
+DTMF: 7$0D$0A
$0D$0A
+DTMF: 8$0D$0A
$0D$0A
+DTMF: 9$0D$0A
$0D$0A
+DTMF: *$0D$0A
$0D$0A
+DTMF: 0$0D$0A
$0D$0A
+DTMF: #$0D$0A
$0D$0A
Вот теперь я не понял, почему не работало с блоком.
Вроде должно было. Ну, а если между нажатиями делать большие паузы тоже не работало.
stapmoff писал(а):Вот время без блока 16/08/16,18:59:04+20

вот с блоком

23:59 16/8/16
И при этом реальное время было 18:59?
Если так, то значит у вас оператор так странно делает, передает местное время, а не по Гринвичу.

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 18:05}
stapmoff
Да, время местное. А с тоновымит все работало, после сброса трубки не происходил опрос модуля ни времени ни сигнала. Два раза пробовал, ни как, сейчас завелось, может модуль фонит на ардуино?

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 18:26}
Слимпер
stapmoff писал(а):А с тоновымит все работало, после сброса трубки не происходил опрос модуля ни времени ни сигнала.
А значит я вас не правильно понял. 
stapmoff писал(а):Два раза пробовал, ни как, сейчас завелось, может модуль фонит на ардуино?
Может конечно. А они у вас от одного источника питаются?

Добавлено (16.08.2016, 18:26)
---------------------------------------------
Кстати, в каком виде лучше выдавать DTMF, просто начало надо убрать это понятно, а вот 1,2,3,4,5,6,7,8,9,0,*,# или в виде числе (int, byte) или виде символа (char), или строки (String)

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 18:51}
stapmoff
Мне кажется integer, чтоб можно было сравнивать и выполнять какие то действия, а там и в строку преобразовать можно если надо. По поводу питания, отдельно!

Добавлено (16.08.2016, 18:51)
---------------------------------------------
Так может по поводу блока вывода времени, секунды можно убрать вообще, и сделать один с корректировкой один без

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 19:11}
Слимпер
stapmoff писал(а):Так может по поводу блока вывода времени, секунды можно убрать вообще, и сделать один с корректировкой один без
Вот сделал вход включения коррекции по часовому поясу.

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 19:19}
stapmoff
Сейчас попробую

Добавлено (16.08.2016, 19:18)
---------------------------------------------
Блок работает, но с нулями как быть?

Добавлено (16.08.2016, 19:19)
---------------------------------------------
Ладно часы без нулей показывать, но минуты?

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 19:32}
Слимпер
stapmoff писал(а):Ладно часы без нулей показывать, но минуты?
Так если для отображения, то надо было по другому блок делать, строки, я то его делал 
для возможности создания таймеров и т.д.
Что сделать вывод в виде строк?
Напишете пример как должно выглядеть.

Добавлено (16.08.2016, 19:32)
---------------------------------------------
Другой блок для строк или в этом доп выхода?

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 19:43}
stapmoff
Я не в праве указывать, вы вообще так то внесли не маленький вклад для развития GSM блока. А вообще выводтстроки был бы актуалет, просто время без секунд и дата

Добавлено (16.08.2016, 19:43)
---------------------------------------------
В этом блоке или нет, решать вам

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 20:03}
Слимпер
Вот выход даты и времени в две строки. Не нужно будет формат года 20**, в коде уберите 20
Удалил, была ошибка

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 20:19}
stapmoff
У времени все равно нет нулей почему то 16.08.2016  22:8 должно быть 22:08

Добавлено (16.08.2016, 20:09)
---------------------------------------------
Дата отображается корректно

Добавлено (16.08.2016, 20:19)
---------------------------------------------
И еще не большой вопросик. Как организован определитель номера, ведь в префикси всего один можно добавить? Немного не понятно

Блок пользователя для работы с GSM

Добавлено: 16.08.2016{, 20:21}
Слимпер
Косячу, параллельно доделывал блок работы с модулем.
Появилось исходящий вызов, и выход, сигнализирующий что соединение установлено.
DTMF, теперь должны быть числами.
Была ошибка, удалил.