[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » форумы » В разработке » Плата модуля SIM900D и AVR (Вопросы)
Плата модуля SIM900D и AVR
RD3AVJДата: Четверг, 25.10.2012, 15:32 | Сообщение # 51
Группа: Свой человек
Сообщений: 175

Статус: Offline
я думал задействовать зарядник, вернее контроллер заряда, встроенный в сам модуль SIM900... Про эти платы с ебэя я в курсах))) Ато получится нагромождение плат под каждую хотелку biggrin



Сообщение отредактировал RD3AVJ - Четверг, 25.10.2012, 15:34
 
pchela5Дата: Четверг, 25.10.2012, 15:54 | Сообщение # 52
Группа: Свой человек
Сообщений: 85

Статус: Offline
Ну дык выпаяй оттуда камень да дело с концом ))) Надежнее будет зато.

 
exersizzeДата: Четверг, 25.10.2012, 18:41 | Сообщение # 53
Группа: Администраторы
Сообщений: 723

Статус: Offline
Проще конечно будет использоваьт внешний зарядник, как по ссылке выше или собрать самому простенький на операционнике (где-то попадались схемки). Иначе для того чтобы зарядить аккумулятор придется сначала его переключить в режим питания модуля, а сетевое напряжение перебрасывать на вход Charger (VCHG 28-й пин). Слишком сложно получится.
Или как вариант питать все устройство постоянно от аккумулятора, а сетевое завести на вход подзарядки через полевик. Как появится необходимость зарядить, просто открываем полевик и все. Но в этом случае устройство нужно устанавливать в отапливаемом помещении, иначе аккумулятор сдохнет в момент.


 
serg_52Дата: Четверг, 25.10.2012, 19:38 | Сообщение # 54
Группа: Пользователи
Сообщений: 1

Статус: Offline
У меня рацуха: хранить номер абонента не в виде константы, а в адресной книге модуля. Так более гибко для юзера и не надо перекомпилять.

В этом случае я обычно делаю так (на примере телефона Siemens C45 - разницы нет):
' прочитаем телефон абонента из адресной книги (например, адрес №1)
Print "AT+CPBR=1"

'получим ответ что-то в виде
' +CDBR: 1,"79139104260",129,...........
где 79139104260 и есть телефон,записанный первым (не обязательно) в адресную книгу.
Его и используем для формирования СМС-ки.
Можно сделать многоадресную рассылку, записав несколько абонентов в адресную книгу (жену, заместителя жены biggrin и тд)

Записать телефон по нужному адресу адресной книги можно как с помощью АТ команды вручную, так и при помощи обработки входящей СМС команды или звонка. Например,звоним на модуль,определяем номер, жмем кнопку "свой", тем самым заносим этот номер в адресную книгу.
Короче, вариантов много smile


 
pchela5Дата: Четверг, 25.10.2012, 21:49 | Сообщение # 55
Группа: Свой человек
Сообщений: 85

Статус: Offline
Для справки - даташит на микросхему TP4056 в той плате: http://www.vitexic.com/data/TP4056Eng.pdf
Сравните с тем, что придется выдумывать.


 
exersizzeДата: Четверг, 25.10.2012, 22:01 | Сообщение # 56
Группа: Администраторы
Сообщений: 723

Статус: Offline
serg_52, зачетная идея! Возьму на заметку

 
exersizzeДата: Пятница, 26.10.2012, 01:20 | Сообщение # 57
Группа: Администраторы
Сообщений: 723

Статус: Offline
Заснял демонстрационное видео, того как устройство отрабатывает команды
http://www.youtube.com/watch?v=B5ROp11vMnU&feature


 
RD3AVJДата: Пятница, 26.10.2012, 09:17 | Сообщение # 58
Группа: Свой человек
Сообщений: 175

Статус: Offline
pchela5 спасибо за ссылку!

 
pchela5Дата: Пятница, 26.10.2012, 11:35 | Сообщение # 59
Группа: Свой человек
Сообщений: 85

Статус: Offline
Quote (RD3AVJ)
спасибо за ссылку!


Да не за что! Самое интересное, что на ебее плата в сборе дешевле, чем покупать камушек отдельно. 8-ая нога позволяет управлять микросхемой - заряд/разряд. Я думаю - самое то, что тебе надо.


 
RD3AVJДата: Пятница, 26.10.2012, 11:53 | Сообщение # 60
Группа: Свой человек
Сообщений: 175

Статус: Offline
Блин сообщение не могу удалить, задвоил. По два раза по два раза повторяю повторяю biggrin
pchela5, заказал с ебэя этот гаджет!


 
niko-layДата: Пятница, 26.10.2012, 13:51 | Сообщение # 61
Группа: Проверенные
Сообщений: 19

Статус: Offline
Фундаментальный труд! Респект вам! Теперь самому такую же штуку захотелось biggrin Только планирую добавить GPS и закинуть в машину. Чтобы координаты знать, где машину после корпоратива оставил alco lol
Сейчас сижу вникаю в код, там в подпрограмме чтения смс есть переменная Number, в нее как понял записывается номер телефона с которого пришла смска? Можно использовать для записи в телефонную книгу, как предложил serg_52. А запись организовать через проверку секретной команды в смс.


 
MysteoДата: Пятница, 26.10.2012, 16:32 | Сообщение # 62
Группа: Проверенные
Сообщений: 21

Статус: Offline
По поводу согласования с антенной наткнулся вот на такую тему http://www.uschema.com/forum/viewtopic.php?p=17597
Т.к использую пока, что вместо антенны проволку, ибо не нашел нигде разъема и антенны, кроме как в интернет магазинах, стал побаиваться того что может сгореть передатчик. Это правда возможно?
И еще как я понял даже если используешь GSM антенны и разъем SMA надо как то расчитывать толщину дорожки до разъема?


 
exersizzeДата: Пятница, 26.10.2012, 19:31 | Сообщение # 63
Группа: Администраторы
Сообщений: 723

Статус: Offline
ВЧ достаточно сложная тема, гдето вычитал что можно не морочится со согласованием если дорога до антенны не очень длинная. У меня на плате примерно 8 мм от вывода модуля до пайки разъема. Вот кстати что находится внутри gsm антенн со sma разъемом


можно самому сделать http://elementus.ru/public_html/WD/archives/1499


 
kip96Дата: Пятница, 26.10.2012, 20:04 | Сообщение # 64
Группа: Свой человек
Сообщений: 170

Статус: Offline
Автору респект и уважуха!
И как варианты, т.к. сам делал подобное на телефоне, так-что для СИМ может не подходить.
Проверку СИМ можно проверять при
Code
"'предварительные настройки"
. Если всё нормуль, то телефон отвечает "ОК". Вот после каждой команды в телефон, ждём "ОК". Если его нет, то пытаемся его включить, перегрузить, и т.д.
Для себя посчитал удобным включать нагрузку через звонок, а не от СМС, т.к я с телефона открываю гаражные ворота, а ждать , когда СМСка дойдёт не хоться. angry . Кроме того звонить бесплатно, а СМСки денег стоят. Контролер определяет, что звонок идёт именно с моего телефона, и открывает ворота. Если звонок не с моего телефона- включает охрану.
Либо, как вариант, включить автоподнятие, и прослушивать, что творится на объекте по звонку со своего телефона, а не ждать звонка от модуля tongue


 
MysteoДата: Пятница, 26.10.2012, 20:06 | Сообщение # 65
Группа: Проверенные
Сообщений: 21

Статус: Offline
Спасибо за статью, теперь надо придумать как с разъемом, вот только у меня около 3 см длина дорожки до антенны

 
jonДата: Пятница, 26.10.2012, 20:16 | Сообщение # 66
Группа: Пользователи
Сообщений: 56

Статус: Offline
В програмировании я не силен ,а с BASCOM вообще впервые.НЕ хочет компилироваться программа.Может быть подскажете что я не так делаю.
С уважением
Прикрепления: 7733979.jpg (20.7 Kb)


 
exersizzeДата: Пятница, 26.10.2012, 20:36 | Сообщение # 67
Группа: Администраторы
Сообщений: 723

Статус: Offline
Какая версия компилятора?
У меня Bascom 1.11.9.8 все компилит. И да еще вот, все файлы с архива программы должны лежать в одной папке.


 
jonДата: Пятница, 26.10.2012, 20:56 | Сообщение # 68
Группа: Пользователи
Сообщений: 56

Статус: Offline
BASCOM-AVR 2.0.5.0 DEMO
И еще такой вопрос-процессоры ATmega требуют установки fuse-бит,а я про них в описании ничего не нашел.
С уважением.


 
exersizzeДата: Пятница, 26.10.2012, 21:01 | Сообщение # 69
Группа: Администраторы
Сообщений: 723

Статус: Offline
Контроллер работает от внешнего кварца на 16 МГц, фьюзы соответсвенно выставляются под него.

 
spaceДата: Суббота, 27.10.2012, 00:52 | Сообщение # 70
Группа: Проверенные
Сообщений: 42

Статус: Offline
exersizze, классное устройство. На днях занимался установкой опелевской торпеды в машину к себе. Так вот раздумывал про старый проектик свой для машины. А именно датчик температуры с часами, меню выбора температур и всяких менюшек.
Думал как бы сделать поинтересней, вспомнил про твой проект про GSM МОДУЛЬ SIM900D. Буду теперь сидеть изучать как это все работает. Глядишь и сделаю это для машины, с кучей полезных функций, лучше сигналки будет с обратной связью=). А главное работает на любом расстояние)) Так что спасибо за проект, очень пригодится))


 
exersizzeДата: Суббота, 27.10.2012, 19:31 | Сообщение # 71
Группа: Администраторы
Сообщений: 723

Статус: Offline
kip96, автоподнятие трубки при дозвоне хорошо, да. Надо будет добавить, как настраиваемый параметр. А то вдруг на симке модуля неожиданно деньги закончатся..
space, если ставить в машину, то полезно прикрутить еще и жпс, как сказал niko-lay ))


 
spaceДата: Воскресенье, 28.10.2012, 03:12 | Сообщение # 72
Группа: Проверенные
Сообщений: 42

Статус: Offline
exersizze, жпс, полезно конечно, но по сути мне лично не надо.
а ты не делал программно запрос баланса сим карты. Допустим раз в день осуществлять проверку баланса и если он близится к нулю(5 рублей на счету к примеру остается), то автоматически отсылалось бы уведомление на телефон. Чтобы знать когда пополнять карту


 
exersizzeДата: Воскресенье, 28.10.2012, 09:52 | Сообщение # 73
Группа: Администраторы
Сообщений: 723

Статус: Offline
Не, такое не делал.
Сообщение о балансе приходит не только в виде цифр, но и с какой нибудь рекламой или т.п. И каждый оператор норовит впихнуть туда что-нибудь свое. Соответственно функция вытаскивания баланса из строки ответа для всех будет разная, поэтому что будет работать с моей симкой не будет работать у кого-то еще.


 
6c52nДата: Среда, 31.10.2012, 13:42 | Сообщение # 74
Группа: Пользователи
Сообщений: 4

Статус: Offline
Помогите компилировать программу BASCOM-AVR 2.0.7.5
Прикрепления: 9724531.jpg (48.6 Kb)


 
exersizzeДата: Среда, 31.10.2012, 15:11 | Сообщение # 75
Группа: Администраторы
Сообщений: 723

Статус: Offline
С новыми версиями васика (2.0.хх) непонятные проблемы, при использовании библиотеки для дисплея 3310.
Могу предложить скачать 1.11.9.8 или пришлите в личку свой номер, я подставлю, скомпилирую и отошлю вам файл прошивки.
В ближайшее время выложу прошивку с возможностью менять тел.номер без перекомпиляции программы, а то так дело не пойдет..


 
jonДата: Среда, 31.10.2012, 19:23 | Сообщение # 76
Группа: Пользователи
Сообщений: 56

Статус: Offline
Была такая же проблема,скомпилировал версией 1.11.9.0

 
exersizzeДата: Среда, 31.10.2012, 23:01 | Сообщение # 77
Группа: Администраторы
Сообщений: 723

Статус: Offline
Так, немного изменил программу: теперь номер можно задавать отправив смс с секретной командой smile
отсылаем на модуль слово Firstnumber и номер с которого отправили это сообщение становится главным, тоесть на него теперь будут отсылаться уведомляющие смс.

Этот номер записывается в EEPROM поэтому после отключения ничего не затирается.

прошивка от 31.10.12


 
AlekSДата: Четверг, 01.11.2012, 00:00 | Сообщение # 78
Группа: Проверенные
Сообщений: 247

Статус: Offline
Есть проверенное временим мнение. tongue
Использовать кодовое слово (пароль)
Надежней и с любого телефона. smile (BM80...)

Вопрос по разложению СМС: Может, туплю, но что - то заикается у меня...
на переходе с SK...
Да,,колосальный труд, спаибо, от души!!!! smile




Сообщение отредактировал AlekS - Четверг, 01.11.2012, 00:13
 
exersizzeДата: Четверг, 01.11.2012, 12:42 | Сообщение # 79
Группа: Администраторы
Сообщений: 723

Статус: Offline
А как проверяшь? Модуль или телефон подлючен к микроконтроллеру? Там в коде все завязано на том чтобы читать буфер UART после отправленной команды, так вот если мы отправляем команду, а ответить на него будет некому (буфер соответственно останется пустым), то выполнение программы останавливается до тех пор пока в буфер не попадет ответ от gsm модуля.

 
RD3AVJДата: Четверг, 01.11.2012, 22:06 | Сообщение # 80
Группа: Свой человек
Сообщений: 175

Статус: Offline
exersizze, помнишь, у меня такое же было? Вылечил пропайкой TX RX, иначе где-то неконтакт был, особенно когда пользовался проводками с клеммами, а второй раз игрался с паузами Wait

 
exersizzeДата: Четверг, 01.11.2012, 22:54 | Сообщение # 81
Группа: Администраторы
Сообщений: 723

Статус: Offline
ну да, если ответа от модуля нет то и работать ничего не будет.

 
MysteoДата: Пятница, 02.11.2012, 19:45 | Сообщение # 82
Группа: Проверенные
Сообщений: 21

Статус: Offline
Я по поводу защитных диодов к симке, лучше впаивать однонаправленный или двухнаправленный? Или без разницы?

 
MysteoДата: Пятница, 02.11.2012, 19:57 | Сообщение # 83
Группа: Проверенные
Сообщений: 21

Статус: Offline
И еще не пойму, у SMF05C диоды подключены в обратном направлении, т.е плюсом к земле, т.е. мне надо так же в обратном направлении включать диоды?

И еще не могу вообще понять где у них анод агде катод =(
Вот мои диоды http://lib.chipdip.ru/205/DOC000205352.pdf . Тестером не звонятся ни в одну сторону




Сообщение отредактировал Mysteo - Пятница, 02.11.2012, 20:07
 
exersizzeДата: Пятница, 02.11.2012, 20:58 | Сообщение # 84
Группа: Администраторы
Сообщений: 723

Статус: Offline
На картинках из даташита подключения SIM900D нарисованы вроде как двунаправленные, а как их впаивать без разницы.

 
jonДата: Суббота, 03.11.2012, 10:49 | Сообщение # 85
Группа: Пользователи
Сообщений: 56

Статус: Offline
Можно ли использовать вывод 16(PD2)в качестве второго выхода и насколько реально надеяться на вашу помощь програмно реализовать эту функцию,т.е.по команде 1 включается один выход(запускается циркуляционный насос)и с задержкой 30-40 секунд включается второй выход(включается котел). По команде 0 все выключается.
Прикрепления: 3192990.jpg (100.0 Kb) · 0076910.lay6 (209.5 Kb)




Сообщение отредактировал jon - Суббота, 03.11.2012, 11:02
 
exersizzeДата: Суббота, 03.11.2012, 11:41 | Сообщение # 86
Группа: Администраторы
Сообщений: 723

Статус: Offline
Конечно возможно, переделка кода несущественная - добавить несколько строчек кода, так что сделаем.
Вечером скину вам прошивку.
А какой у вас GSM модуль?


 
jonДата: Суббота, 03.11.2012, 12:06 | Сообщение # 87
Группа: Пользователи
Сообщений: 56

Статус: Offline
Модуль из старых запасов-SIM 300DZ. Плату спаял давно-игрался с АТ командами.
Спасибо за поддержку.
Прикрепления: 9660822.jpg (119.8 Kb)


 
exersizzeДата: Суббота, 03.11.2012, 18:27 | Сообщение # 88
Группа: Администраторы
Сообщений: 723

Статус: Offline
Вот прошивка, под вашу задачу. По единице сначала включится Portd.6, а через 40 секунд Portd.2 По нулю все выключается. А в остальном все осталось как было.
Прикрепления: 0521528.hex (56.7 Kb)


 
jonДата: Суббота, 03.11.2012, 22:02 | Сообщение # 89
Группа: Пользователи
Сообщений: 56

Статус: Offline
Спасибо.

 
BabulesnikДата: Понедельник, 05.11.2012, 23:52 | Сообщение # 90
Группа: Пользователи
Сообщений: 8

Статус: Offline
Здравствуйте.Зараее хочу высказать огромную благодарность автору "Система удаленного контроля на GSM модуле SIM900D" . Благодаря ему и я собрал свой собственный девайс с sim900d+mega16,правда на одной плате.Вообщем,у меня вопрос.Может кто-нибудь поделится исходниками на Си или информацией как разбирать ответы модуля.У меня все гуд работает,модуль отвечает,но немогу сварить нормальный код на Си,вернее из буфера приема выдерать и оределять нужную инфу.

 
exersizzeДата: Вторник, 06.11.2012, 01:41 | Сообщение # 91
Группа: Администраторы
Сообщений: 723

Статус: Offline
Могу только подсказать общий алгоритм, как это организовано в программе на bascom. Если хорошо знаете операторы си, то перевести думаю не проблема.

Сначала проверяется наличие чего-либо в буфере uart. Для этого в баскоме есть функция Ischarwaiting(), если она возвращает 0, то буфер пуст. А вот если возвратит 1, тогда читаем буфер. Если не ошибаюсь за это отвечает бит UDRE в регистре USR.
А вот как достать данные с буфера вариантов много. У меня чтение организовано в отдельной подпрограмме
Code
Sub Getline(s As String)
      S = ""
      Do

         B = Inkey()                      
         Select Case B
             Case 10 : If S <> "" Then Exit Do                    
             Case Else : If B > 31 Then S = S + Chr(b)            
         End Select

      Loop
End Sub


Здесь функция Inkey() берет первый символ (а точнее номер символа в таблице ASCII) из буфера и кладет в переменную В, а дальше проверяем что это был за символ. Если номер символа больше 31, значит это какая-нибудь цифра/буква/знак (все печатаемые символы по таблице аски начинаются с номера 32). Тогда берем этот символ и кладем в строку (S), предварительно преобразовав его в нужный формат (у нас же b пока просто номер символа)
Code
S = S + Chr(b)


Дальше все повторяется в цикле, тоесть берется следующий символ и добавляется в строку. До тех пор пока не наткнется на символ под номером 10. Этот символ означает завершение строки и этим символом завершаются все строки отправленные gsm модулем.

Ну а дальше строка S раскладывается как нам нужно, в bascom это делается очень легко операторами Right, Left и Mid.
Как-то так smile


 
BabulesnikДата: Вторник, 06.11.2012, 11:58 | Сообщение # 92
Группа: Пользователи
Сообщений: 8

Статус: Offline
Огромное спасибо за детальное описание.Немного поял принцип реализации.Появились несколько вопросов:
1)Как настроен сам модуль(ATV,ATE и AT+CMEE=)?
2)Как я понял при запросе "AT" в строке S будет "ATOK" ?


 
exersizzeДата: Вторник, 06.11.2012, 18:57 | Сообщение # 93
Группа: Администраторы
Сообщений: 723

Статус: Offline
ATE1, ATV1, AT+CMEE=0. Тоесть режим эха включен, поэтому каждый раз пропускаем первую строку. Я оставил этот режим, так как для отладки в терминале удобней смотреть как общаются модуль и микроконтроллер.

При запросе "АТ", вернется сначало эхо "АТ", а за тем в отдельной строке "ОК"


 
jonДата: Вторник, 06.11.2012, 19:15 | Сообщение # 94
Группа: Пользователи
Сообщений: 56

Статус: Offline
SMSки принимает,а процессор обрабатывать их не хочет.Может быть fuse не правильно прошиты
Прикрепления: 6377094.jpg (14.2 Kb) · 2161593.jpg (27.2 Kb)


 
BabulesnikДата: Вторник, 06.11.2012, 19:34 | Сообщение # 95
Группа: Пользователи
Сообщений: 8

Статус: Offline
Quote (exersizze)
ATE1, ATV1, AT+CMEE=0. Тоесть режим эха включен, поэтому каждый раз пропускаем первую строку. Я оставил этот режим, так как для отладки в терминале удобней смотреть как общаются модуль и микроконтроллер. При запросе "АТ", вернется сначало эхо "АТ", а за тем в отдельной строке "ОК"


У меня что-то на "AT" вместо 9 символов - 12 или более иногда приходит,причем рандомно это происходит.
Скорость 2400(207) Мега16 кварц внешний 8Мгц.Прикрепил снимок фьюзов,может в них проблема...
Прикрепления: 7004279.jpg (88.3 Kb)




Сообщение отредактировал Babulesnik - Вторник, 06.11.2012, 19:35
 
BabulesnikДата: Вторник, 06.11.2012, 19:46 | Сообщение # 96
Группа: Пользователи
Сообщений: 8

Статус: Offline
Если ставлю большую задержку после запроса,то работает лучше
Code

UFlushBuffer();
UWriteString("AT\r");
_delay_ms(1000);


 
jonДата: Вторник, 06.11.2012, 23:02 | Сообщение # 97
Группа: Пользователи
Сообщений: 56

Статус: Offline
Подключил дисплей и видно,что процесс инициализации доходит до "Удаление SMS"и в этом месте виснет.Как вылечить?
Прикрепления: 4244588.jpg (127.1 Kb)


 
exersizzeДата: Среда, 07.11.2012, 09:25 | Сообщение # 98
Группа: Администраторы
Сообщений: 723

Статус: Offline
Quote (jon)
Подключил дисплей и видно,что процесс инициализации доходит до "Удаление SMS"и в этом месте виснет.Как вылечить?


Единственноена чем может встать это ожидание ответа "OK" от модуля, когда все смски удалятся. Вот код отвечающий за этот участок
Code
'удаление смс из памяти сим-карты

Call D3310position(0 , 2)
Call D3310print( "Удаление SMS  ")

    Print "AT+CMGDA=" ; Chr(34) ; "DEL ALL" ; Chr(34)        'удаление смс
'прогрессбар
    Call D3310position(f , 3)
    Call D3310print( "Ъ")
    Waitms 270
    Call D3310position(f , 3)
    Call D3310print( "Щ")

    Do
       Waitms 40
       Getline Sk
     Loop Until Sk = "OK"                    'не выйдет из цикла пока модуль не ответит OK (тут он у вас и висит)
     Flushbuf


Не знаю, может ваш модуль 300dz не отправляет ОК после удаления, и поэтому все встает. Можно убрать это ожидание и посмотреть как пойдет дальше. Вечером сделаю и пришлю вам прошивку, проверите.

Quote (Babulesnik)
У меня что-то на "AT" вместо 9 символов - 12 или более иногда приходит,причем рандомно это происходит. Скорость 2400(207) Мега16 кварц внешний 8Мгц.

В программе частоту не забыли поменять на 8 МГц ?


 
6c52nДата: Среда, 07.11.2012, 12:27 | Сообщение # 99
Группа: Пользователи
Сообщений: 4

Статус: Offline
Уважаемый exersizze, а прошивочку под SIM900 можно,если конечно не трудно,а то у меня
только SIM900 wink




Сообщение отредактировал 6c52n - Среда, 07.11.2012, 12:30
 
BabulesnikДата: Среда, 07.11.2012, 12:43 | Сообщение # 100
Группа: Пользователи
Сообщений: 8

Статус: Offline
Хех,модуль не перестает меня удивлять:)После настройки скорости обмена и других параметров,при старте модуля он начал выдавать 2 сообщения "RDY+CFUN" и "Call Ready",чего ранеше небыло,а я блин так надеялся на автонастройку порта модулем))

Не могу отправить СМС,думаю где-то допустил ошибку в запросе,огромное спасибо кто подскажет:
Code

UWriteString("AT+CMGF=1\r");
_delay_ms(100);
UWriteString("AT + CMGS = \"+38095xxxxxxx\"");
_delay_ms(100);
UWriteString("Hello world!\n");
_delay_ms(100);




Сообщение отредактировал Babulesnik - Среда, 07.11.2012, 12:46
 
Форум » форумы » В разработке » Плата модуля SIM900D и AVR (Вопросы)
Поиск: