|
SIM900 возвращает эхом любую команду и не реагирует на нее, Не могу запустить модуль на основе SIM900 от EFcom |
|
|
|
Mar 23 2013, 15:36
|
Участник

Группа: Участник
Сообщений: 71
Регистрация: 3-04-10
Из: Прибалтика
Пользователь №: 56 395

|
Здравствуйте. Не могу запустить модуль на основе SIM900 от EFcom. Приобрел тут: http://www.elecfreaks.com/store/gprsgsm-mo...-por-p-450.htmlДля связи с модулем использую мелкое USB-> UART устройство на CP2102: http://elecfreaks.com/store/download/datas.../USB/CP2102.pdfДело в том, что модуль возвращяет мне любую команду (эхо), которую я посылаю и никак на эту команду не реагирует. В то же время, модуль присылает мне "NORMAL POWER DOWN" когда я выключаю его кнопкой PWR. Более того, работает видимо и Autobauding, т.к. я могу принять "NORMAL POWER DOWN" на любом бод-рейте, если до выключения модуля что-то посылал. Если до включения модуля я настрою виртуальный КОМ-порт на 115200, то при включении модуля я получаю 49 49 49 49 FE FE FE FE, что и должно быть по даташиту. Но блин, я могу писать что угодно - в ответ приходят только эхо команд... как будто RX замыкается на TX. Схемка на CP2102 работает на 3.3 В, имеет подтяжку к 3.3 В на своём RX. SIM900 модуль работает на 5.2 В... это конечно фигово, но коммуникация должна все равно идти, правильно ? Кстати, сеть модуль тоже не находит, но мне сейчас коммуникацию наладить. Помогите пожалуйста...
|
|
|
|
|
Mar 23 2013, 16:52
|

Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678

|
Цитата(Aner @ Mar 23 2013, 18:28)  ...Его RS вход/выход подтянут резисторами к входному ( у вас это 5.2Вольта ) От входных уровней 3.3 Вольта должен работать... Тут смотря как CP2102 подключена, она и 5В может в ТХ отдать!
|
|
|
|
|
Mar 23 2013, 18:44
|
Участник

Группа: Участник
Сообщений: 71
Регистрация: 3-04-10
Из: Прибалтика
Пользователь №: 56 395

|
Vassabi, Aner,
Спасибо, попробую поменять завтра RX с TX. Я соединял TX -> RX ; RX -> TX. Подозреваю, что соединил правильно. По поводу питания там вообще странно - стоит линейный регулятор вроде. Я подаю питане на модуль от адаптера 5В (5.5 без нагрузки). Почему они настроили выход регулятора (MIC29302WU) на 5.2 вольта - неясно. По даташиту 4.8 макс. Надо бы мне как-то понизить напряжение адаптера... Единственное, что мне доступно - это впаять диодов последовательно  Вот, что они сами пишут про модуль: Ну что за фигня, 5 вольт или 3,1-4,8 .....
|
|
|
|
|
Mar 23 2013, 22:01
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
Если соединили так => TX -> RX ; RX -> TX. Тогда правильно, менять не стоит. Если ничего не получите, тогда у вас путаница где RX а где TX. Проверьте, на самом SIM900 модуле должно быть 4.0...4.2 Вольта на Vbat. Если там 5 Вольт и более, тогда проблема пробоя выходного каскада и как следствие проблемы в работе. Без сим картры, антенны, и при правильном подключении у SIM900 сначала идёт тест режимов, периферии и тп, по завершении ~1...1.5сек должен постоянно светить светодиод status, моргать netlight. Тогда можно двигаться дальше. Это есть?
|
|
|
|
|
Mar 24 2013, 09:43
|
Участник

Группа: Участник
Сообщений: 71
Регистрация: 3-04-10
Из: Прибалтика
Пользователь №: 56 395

|
Aner, alexados, Спасибо ! Заработало наконец-то. Я выставил отображение символов в терминале (Terminal v1.9b) на HEX и сам замкнул TX и RX, без мудуля. Оказалось, что, несмотря на настройки, не посылается /r. Поставил Realterm, который не видел виртуальный КОМ-порт. Обновил китайские драйвера на драйвера от производителя (SiLabs) и, о чудо, заработало. Я прям рад, спасибо еще раз Цитата по завершении ~1...1.5сек должен постоянно светить светодиод status, моргать netlight. Тогда можно двигаться дальше. Это есть? да. Наверняка у меня будут еще вопросы... пока что, я подам нормальную напругу на модуль, чтобы не запороть.
|
|
|
|
|
Apr 9 2013, 07:31
|

Участник

Группа: Участник
Сообщений: 63
Регистрация: 28-02-13
Пользователь №: 75 833

|
Здравствуйте, возможно я немного не по теме, прошу не банить сразу, просто у меня тоже такой модуль , я себе дома на нем сделал сигнализацию, ну на ардуино и сим900 , у меня проблема такая, как только я отключаю его от питания он теряет все настройки, приходится заново заливать на МК прошивку и на сим900 тоже, но если не отключать его все нормально. Батарейку в него я вставил, про AT&W и другие команды тоже знаю.. если кто то разбирается я скину вам код. Заранее спасибо.
--------------------
Viva la resistance!
|
|
|
|
|
Apr 9 2013, 07:57
|

Участник

Группа: Участник
Сообщений: 63
Регистрация: 28-02-13
Пользователь №: 75 833

|
Цитата(Aner @ Apr 9 2013, 12:52)  А что в сим900 заливаете? Да и поподробнее как на ардуино ревлизовали. Может ваша программа в озу крутиться? #include <SoftwareSerial.h> SoftwareSerial gprsSerial(7, 8); void setup() { gprsSerial.begin(19200); pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); // Настраиваем приём сообщений с других устройств // Между командами даём время на их обработку gprsSerial.write("AT+CMGF=1\r"); delay(300); gprsSerial.write("AT+IFC=1, 1\r"); delay(300); gprsSerial.write("AT+CPBS=\"SM\"\r"); delay(300); gprsSerial.write("AT+CNMI=1,2,2,1,0\r"); delay(500); } String currStr = ""; // Переменная принимает значение True, если текущая строка является сообщением boolean isStringMessage = false; void loop() { if (!gprsSerial.available()) return; char currSymb = gprsSerial.read(); if ('\r' == currSymb) { if (isStringMessage) { //если текущая строка - SMS-сообщение, //отреагируем на него соответствующим образом if (!currStr.compareTo("On")) { digitalWrite(13, HIGH); digitalWrite(11, 1); delay(400); digitalWrite(11, 0); delay(400); digitalWrite(11, 1); delay(400); digitalWrite(11, 0); delay(400); digitalWrite(11, 1); delay(400); digitalWrite(11, 0); } else if (!currStr.compareTo("Off")) { digitalWrite(13, LOW); } else if (!currStr.compareTo("On1")) { digitalWrite(12, HIGH); } else if (!currStr.compareTo("Off1")) { digitalWrite(12, LOW); } isStringMessage = false; } else { if (currStr.startsWith("+CMT")) { //если текущая строка начинается с "+CMT", //то следующая строка является сообщением isStringMessage = true; } } currStr = ""; } else if ('\n' != currSymb) { currStr += String(currSymb); } } вот все с комментами как есть. Заливаю "ат" команды через сериал ардуиновский. ответы тоже приходят, все работает, но стоит отключить модуль.. именно модуль! все перестает работать (( забыл добавить ) я использую gprs шидд. там джамперы для sSerial.
Сообщение отредактировал David_Ali - Apr 9 2013, 08:28
--------------------
Viva la resistance!
|
|
|
|
|
Apr 9 2013, 11:33
|

Участник

Группа: Участник
Сообщений: 63
Регистрация: 28-02-13
Пользователь №: 75 833

|
О ну все, написал по другому все заработало ) если кому будет интересно скину свой проект )
--------------------
Viva la resistance!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|