Страница 1 из 2
AVR, AT команды и GSM модем
Добавлено: Сб сен 12, 2015 17:44:04
dgrett
Нашёл свой старенький SiemensМ55, написал программку SMS контроллера. Пока не всё нравится, но в принципе работает. Нигде в сети не нашёл программки для конвертации текста в PDU на ассемблере. (Неумею (надеюсь, пока) писать на Си). Да и контроллеры для меня пока вещь диковинная. Посему выношу на критику спецов своё творение. Мож чё можно сделать эффективнее и универсальнее? Сам контроллер подсмотрел у Serasidis Vassilis.
Код: Выделить всё
;dgrett@gmail.com
.equ Hex2PDU_Data=96
.def temp=r16
.def temp1=r17
.def temp2=r18
.def temp3=r19
.def temp4=r20
.def ZLramadr=R30
.def ZHramadr=R31
;==========
;INPUT: temp1 - number of bytes to convert
;Use temp1=8, 16, 24... This might be counted before.
;Bytes in HEX format are stored in SRAM address Hex2PDU_Data.
;
;OUTPUT:
; If temp1=<8 then start of PDU lies on Hex2PDU_Data+1 address
; If 8<temp1=<16 then Hex2PDU_Data+2 etc..
;===========
MakePDU:
mov temp, temp1 ;
clr temp2 ;
clr temp3 ;
M1:
inc temp2
clc
rcall convert0
dec temp
brne M1
rjmp Go_Out
;===========
convert0:
push temp4
ldi ZLramadr,Hex2PDU_Data
clr temp4
M2:
ld temp3,Z
rol temp3
st Z+,temp3
inc temp4
cpse temp2,temp4
rjmp M2
pop temp4
ret
;===========
Go_Out: ; here conversion PDU to HEX goes, then send out everything + ESC sequence ($1A,$0D)
Re: AVR, AT команды и GSM модем
Добавлено: Сб окт 17, 2015 23:18:23
dgrett
Всем привет. Наконец закончил проект. 8 входов, 4 выхода. Состояние выходов пишу в еепром. После включения питания выставляю это состояние. Sms-команда типа 10RrS (вкл, выкл, R-не меняем, S-прислать смс). В присланной системой смс - состояние входов,выходов,температура (DS18S20). При звонке на номер системы она поднимает трубу, слушаем что делается. Фильтрует смс и звонки, чужие смс просто стирает, звонок отбрасывает.
Tiny2313, осталось ок. 350 байт свободных.
Может кто подскажет, какой еще функционал реализовать можно. Места можно расчистить и больше, ок. 400-440, думаю. А то как то идеи кончились. В принципе ставившаяся задача решена полностью, но все таки, прошу подсказать...
Re: AVR, AT команды и GSM модем
Добавлено: Вс окт 18, 2015 02:38:06
Pnjom-Penb
dgrett писал(а):чужие смс просто стирает...
На "подарках" от оператора не прогорите? Придет смс, типа - "дарим услугу, сегодня - бесплатно, с завтрашнего дня - абонентская плата тышша в день. Спасибо, што выбрали нас."
Re: AVR, AT команды и GSM модем
Добавлено: Вс окт 18, 2015 08:11:00
dgrett
Pnjom-Penb писал(а):На "подарках" от оператора не прогорите? Придет смс, типа - "дарим услугу, сегодня - бесплатно, с завтрашнего дня - абонентская плата тышша в день. Спасибо, што выбрали нас."
Пока всё отлаживал выслал ок. 2000 смс. Система мне выслала ок. 700 смс.
У меня квота 5000 смс/мес. Согласитесь, немало. Если превысить лимит, то 0,07 брюссельского рубля за смс. Но кто сможет слать смс каждые 30 секунд? И потом. Какой оператор решится дарить "подарки"? Это гарантированное самоубийство оператора. Очень жесткая конкуренция за клиента.
Re: AVR, AT команды и GSM модем
Добавлено: Пн окт 19, 2015 17:51:52
Art_el
dgrett писал(а):И потом. Какой оператор решится дарить "подарки"? Это гарантированное самоубийство оператора.
Цвет оператора назвать?
Любимое у него дело, например сразу после покупки симки, по умолчанию включена тыщщща доп. опций и услуг и все на начальном периоде бесплатны (10 дней например), потом надо
обязательно самому выключать - не выключил, опции и услуги переходят автоматом в платный режим.
dgrett писал(а):Очень жесткая конкуренция за клиента.
Чхали они на клиентов - уйдет один, придет сотня других...
Re: AVR, AT команды и GSM модем
Добавлено: Пн окт 19, 2015 18:13:07
dgrett
Лет 5 назад один оператор чихнул, до сих пор еле дышит..
Re: AVR, AT команды и GSM модем
Добавлено: Пн окт 19, 2015 18:45:06
Pnjom-Penb
Воистину, "
счастье в неведении." ©

Re: AVR, AT команды и GSM модем
Добавлено: Пн окт 19, 2015 19:36:35
dgrett
Ну да, откуда ж Вам знать, оператор ведь не российский. Да бог с вами, больше не надо об этом, ведь тема о другом.. Просто поверьте, как бы дико это ни звучало Вам. Так что по теме?
Re: AVR, AT команды и GSM модем
Добавлено: Пн окт 19, 2015 23:33:57
Pnjom-Penb
dgrett писал(а):оператор ведь не российский
Так и надо было ответить сразу, чтобы не вводить несколько человек в заблуждение.

Re: AVR, AT команды и GSM модем
Добавлено: Вт окт 20, 2015 05:25:52
dgrett
Pnjom-Penb писал(а):Так и надо было ответить сразу, чтобы не вводить несколько человек в заблуждение.

Виноват, пардон меня

Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 10:56:34
siimao
Здравствуйте, уважаемый dgrett.
Консультации или вопросы могу задавать по вашему детищу?
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 11:00:05
dgrett
siimao писал(а):Здравствуйте, уважаемый dgrett.
Консультации или вопросы могу задавать по вашему детищу?
Да, на то и форум
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 11:28:45
siimao
Спасибо за отклик.
У Василиса на сайте выложено 5 версий: 1.0, 1.01, 2.0, 2.1, 2.2. Какую из них взяли за основу для своей разработки?
На каком МК сделали?
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 11:43:55
dgrett
Сейчас врать не буду, не помню, делал ту, где нет текстового формата, без модуля SIM300. Только приспособил для Семёна, добавил термометр, добавил посылку СМС, и ответ на звонок. В общем, мало что осталось от оригинала.
Упс, не СЕЙЧАС врать не буду, а просто не буду

Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 12:04:14
siimao
Ответов наводящих не получить... А исходник, тогда, подсмотреть можно?
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 12:29:56
dgrett
А что Вы спросили? Ведь я не в курсе, чтO интересует. МК AtTiny 2313, исходник еще надо доработать.
Хочу контролировать заряд аккума и сделать индикацию отсылки СМС (выслана/невыслана).
Да и причесать надо бы, для культуры, а то ногу черт сломит. И комменты на неизвестном Вам языке. Вы спросИте, я скажу ( и покажу) как сделал я. Я уверен, что можно сделать лучше.
ЗЫ посмотрел, за основу брал v2.2
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 13:23:44
siimao
Тогда мы движемся в одном направлении и у нас на двоих уже 2000 отосланным и 1400 принятых смс

. Я тоже сделал на Attiny2313. Сейчас допиливаю процесс опроса состояния порта и отправки ответной смс с информацией о состоянии порта (не всегда проходит корректно декодирование и установка) в формате PDU. Но у меня постоянно через 3 минуты вылезает ошибка invalid opcode 0xffff по адресу, который находится за пределами моей программы.
Я взял за основу 2.0. Почему-то 2.2 у меня никак не хотела работать.
Я родной АКБ убрал и запитую напрямую от сети, планирую запитывать от большого внешнего АКБ и наработки уже есть. Как вы планируете контролировать заряд? У Вас зарядка всегда подключена к телефону? Есть особенности начала зарядки АКБ телефона...
<Хочу контролировать заряд аккума и сделать индикацию отсылки СМС (выслана/невыслана).> Сам Василис писал, что факт доставки подтверждает SC.
<И комменты на неизвестном Вам языке.> Я говорю и пишу на английском; если Вы о нем.
Вопрос: в обработке прерывания
.org OVF0addr ;Timer/Counter0 Overflowесть
rst2:
pop tempНе пойму как это работает без push и когда срабатывает.
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 14:24:59
dgrett
Через 3 минуты ошибка.. А со стеком всё в порядке? У меня был такой баг, переполнялся стек, вылечил дополнительно вынимая из стека адрес возврата. ЗУ всегда подключено сейчас. Текущий уровень заряда аккума можно спросить у телефона посредством отсылки соответствующей АТ команды и решить, включить или выключить ЗУ.
Факт доставки СМС ещё не значит, что команда выполнена, например, несовпал номер отправителя с номером, хранящемся в ЕЕПРОМ. В этом случае СМС будет принята, но команда выполнена не будет.
Я говорю и пишу на английском; если Вы о нем.
- Нет, я не о нём... Балтика...
rst2:
.. Когда возникает прерывание в стек загружается адрес возврата. Вот сюда я и добавил ещё 2 pop temp. Понял это, когда стал выводить содержимое памяти в ЮАРТ.
(не всегда проходит корректно декодирование и установка) в формате PDU
- А как делали конверсию в ПДУ и обратно
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 15:01:54
siimao
dgrett писал(а):Через 3 минуты ошибка.. А со стеком всё в порядке? У меня был такой баг, переполнялся стек, вылечил дополнительно вынимая из стека адрес возврата.
Инициализация сделана. Пробовал одну и две строки "pop temp" вставлять, все одно - ошибка через 3 минуты. Хотите сказать, что необходимо три раза делать? Сейчас повторюсь с одной-двумя и попробую с тремя-четырьмя.
dgrett писал(а):ЗУ всегда подключено сейчас.
Насколько знаю с этого сайта, теория была такая, что зарядка измерялась методом определения напряжения на клеммах. А при включенной ЗУ - Вы будете видеть всегда одно значение. Я не проверял.
dgrett писал(а):Текущий уровень заряда аккума можно спросить у телефона посредством отсылки соответствующей АТ команды и решить, включить или выключить ЗУ.
См. выше. Решение по вкл/выкл ЗУ правильное, т.к. зарядка не начинается автоматически при включенном ЗУ, даже если АКБ разрядится. Но замерЯть не сможете. Про команду знаю.
dgrett писал(а):Факт доставки СМС ещё не значит, что команда выполнена, например, несовпал номер отправителя с номером, хранящемся в ЕЕПРОМ. В этом случае СМС будет принята, но команда выполнена не будет.
Этот случай, наверное, и мониторить не стоит. Удалить и все. А вот свои команды продублировать ответом о состоянии порта - надо.
Нет, я не о нём... Балтика...
Я никогда не слышал о таком языке.
Когда возникает прерывание в стек загружается адрес возврата. Вот сюда я и добавил ещё 2 pop temp. Понял это, когда стал выводить содержимое памяти в ЮАРТ.
. Спасибо. Попробую.
А как делали конверсию в ПДУ и обратно
Два варианта конверсии обратно представлены у Василиса. Спасибо ему огромное, но на письма не отвечает

. Ваш вариант конверсии посмотрел, но не разбирался. Работает? У меня получается громоздкий код, думаю, что скоро будет готов. Иду идеей Василиса.
А как реализовывали процесс работы с температурными датчиками?
Re: AVR, AT команды и GSM модем
Добавлено: Пт окт 28, 2016 15:31:44
dgrett
Я и говорю, язык вам незнскомый.

Я думаю, что телефон измерит уровень заряда, тк он постоянно увеличивается при зарядке. При разрядке ЗУ будет отключено.
Мой код (см первый пост) работает, только отказался от расчёта длины, тк она постоянна. По датчику DS1820 куча инфы в сетке.
По факту доставки СМС, я пользую симку с предоплатой, и после 2мес. работы тупо перестала система слать смс, чуть не разобрал всё:)