В девайсе на Sim900 cделал переключение двух симок о обнаружил, что при переключении симок "на ходу" регистрация с новым ОПСОСом происходит только после аппаратного ресета Sim900, что не есть хорошо, так как требуются дополнительные схемные навороты. Может кто знает как программно (командами) инициализировать вновь подключенную симку? В мануале найти не удалось.
Alechek
Apr 6 2011, 08:45
AT+CFUN
Цитата(Alechek @ Apr 6 2011, 12:45)

AT+CFUN
Спасибо, AT+CFUN=1,1 работает. Но, к сожалению есть недостаток: сбрасывает в 0 порты GPIO, а у меня на них висит оборудование. Опять без рихтовки матчасти не обойдешься...
А если попробовать так:
AT+CFUN=4,0
пауза
AT+CFUN=1,0
Цитата(vka_ @ Apr 6 2011, 12:31)

Спасибо, AT+CFUN=1,1 работает. Но, к сожалению есть недостаток: сбрасывает в 0 порты GPIO, а у меня на них висит оборудование. Опять без рихтовки матчасти не обойдешься...
Зачем на порты вешать оборудование? пускай оно питается непосредственно от ИП. Кинь проводок и все
Так вопрос не в питании, а например в том что тем же GPIO могут коммутировать карточку.
Вот он и сбросится не переключив на другую.
Цитата(CADiLO @ Apr 6 2011, 13:56)

А если попробовать так:
AT+CFUN=4,0
пауза
AT+CFUN=1,0
Результат: частое мигание индикатора NETLIGHT и ответ на команду:
at+cops?
+COPS: 0
что, как я понимаю, означает отсутствие регистрации.
Хм.... Есть способ, только нужно вспомнить..... То что через CFUN 4 потом 1 точно, а вот что еще там было....
Можно попробовать так.
работаем на первой карте
CFUN=4 (без второго значения)
переключаемся на вторую
CSDT=1 (только пин обнаружения симкарты должен сидеть на GND)
CFUN=1 (без второго значения)
если зарегилась, то CSDT вернуть в 0.
...... вот что крутится такое что без симдетект она не подхватится после сброса.....
Цитата(CADiLO @ Apr 6 2011, 15:01)

Хм.... Есть способ, только нужно вспомнить..... То что через CFUN 4 потом 1 точно, а вот что еще там было....
Можно попробовать так.
работаем на первой карте
CFUN=4 (без второго значения)
переключаемся на вторую
CSDT=1 (только пин обнаружения симкарты должен сидеть на GND)
CFUN=1 (без второго значения)
если зарегилась, то CSDT вернуть в 0.
Та же картина: нет регистрации.
...... вот что крутится такое что без симдетект она не подхватится после сброса.....
Цитата(CADiLO @ Apr 6 2011, 15:01)

Хм.... Есть способ, только нужно вспомнить..... То что через CFUN 4 потом 1 точно, а вот что еще там было....
Можно попробовать так.
работаем на первой карте
CFUN=4 (без второго значения)
переключаемся на вторую
CSDT=1 (только пин обнаружения симкарты должен сидеть на GND)
CFUN=1 (без второго значения)
если зарегилась, то CSDT вернуть в 0.
...... вот что крутится такое что без симдетект она не подхватится после сброса.....
Та же картинаЖ нет регистрации...
Aurochs
Apr 6 2011, 14:36
Цитата(vka_ @ Apr 6 2011, 13:48)

Та же картинаЖ нет регистрации...
Попробуйте просто
AT+COPS=0
Я нашел решение, только нужно любой из GPIO соеденить с SIMPRESENSE ну и правильно его инитить.
И еще - GPIO10 лучше не использовать, он для JD резервируется
а на попробовать работает так
AT+CFUN=4
OK
//переключили карточку (вынул - вставил в EVB)
AT+CFUN=1
OK
+CPIN: NOT READY // еще не увидел карточку
AT+CSDT=1 //разрешить определение карточки
OK
AT+SGPIO=0,1,1,0 // 10к на simpresent и с GPIO1 подаем 0
ОК
AT+COPS=0
OK
AT+CREG?
+CREG: 0,1
OK
AT+CSDT=0 // запретить определение карточки
OK
AT+SGPIO=0,1,1,1 // GPIO1 подаем 1
ОК
AT+CREG?
+CREG: 0,1
OK
Постоянный уровень 0 на simpresent не дает определения - нужен перепад.
Вместо GPIO можно контроллером simpresent дергать.
Попробовал. Результат: после установления Simpresent=0 (У Вас это команда AT+SGPIO=0,1,1,0) регистрация происходит, но опять устанавливаются в 0 все порты GPIO. Начинаю думать, что задачка не имеет решения.
Вы используете EAT или работаете с внешним контроллером ?
Пока использую внешний контроллер, но планирую ЕАТ, поэтому использую для управления подключенным оборудованием выходы GPIO.
Думаю, что при работе с ЕАТ будут те же проблемы.
Вы первый кто применил GPIO - сколько я знаю народа все используя внешний проц, используют его порты.
По поводу портов в EAT, пообщайтесь с Peps - у него проект на EAT и он работал с портами, даже ошибки понаходил.
Кстати проверяя свой способ, я не обратил внимание на сброс портов - перепроверю.
Сейчас немного занят, но задача меня заинтересовала - посижу с ней на выходные, подумаю над решением.
Дополнение!!!
Перепроверил
На SIMPRESENT повешен микрик - иммитация внешнего управления, сам SIMPRESENT через 10к на Vext
AT+CFUN=4
OK
AT+SGPIO=0,10,1,1 // порт 10 выставил в 1 и контролирую его - можно и до CFUN=4 порт установить
OK
// здесь я вынул - вставил карточку
AT+CFUN=1,0 // обязательно с 0 иначе сбросится
OK
+CPIN: NOT READY
AT+CSDT=1 //разрешил опрос карточки - нельзя делать раньше чем CFUN=1
OK
+CPIN: NOT READY
//здесь я зажал микрик и подал 0 на SIMPRESENT
AT+COPS?
+COPS: 0,0,"UA-KYIVSTAR"
OK
AT+COPS=0 // регистрируемся в сети
OK
AT+CSDT=0 // запретил опрос SIMPRESENT и отпустил микрик
OK
AT+CREG?
+CREG: 0,1
OK
// GPIO10 - НЕ СБРОСИЛСЯ!!!!
Если разрешить опрос SIMPRESENT в другом месте то AT+COPS дает ERROR и CREG уходит в 0,3
Работает именно приведенная последовательность.
Попробовал. Результат:
at+cops?
+COPS: 0,0,"Beeline" ;Первая симка - билайн
OK
at+sgpio=0,11,1,1 ;Simpresent=1
OK
at+cfun=4
OK
+CREG: 0
at+sgpio=0,12,1,1 ;Включена симка мегафон
OK
at+cfun=1,0
OK
+CREG: 2
+CREG: 1,"DB65","DAD6"
+CGREG: 2
+CGREG: 1
at+csdt=1
OK
at+sgpio=0,11,1,0 ;Simpresent=0
OK
at+cops?
+COPS: 0,0,"Beeline" ;билайн остался
OK
at+cops=0
OK ;больше ничего не дождался
at+csdt=0
OK
at+creg?
+CREG: 2,1,"DB65","DB27"
OK
at+cops?
+COPS: 0,0,"Beeline" ;так и остался билайн, лампочка netlight моргает редко, хотя физически подключена симка мегафон.
OK
Т.е. фокус не удался...
CADiLO
Apr 11 2011, 11:30
А можно вашу схемку коммутации глянуть.
У меня товарищ проверил эту идею на схеме где симки перекидываются при помощи 4066 (все 4 вывода).
Работает.
Схемка простая, всеми пользуемая: переключатель на mc14016, управление от МК, используем уже лет 5 (на Sim300), никаких проблем ни разу не было, пока не появилась необходимость использовать GPIO, которые, как оказалось, сбрасываются после рестарта модема, необходимого для регистрации второй симки. А для эксперимента управление переключением завел от GPIO12.
Slonofil
Apr 11 2011, 12:58
Раз уж порты ведут себя так однообразно, почему бы не прикрутить какой-нибудь элементарный RS-триггер вроде tinyLogic? Это вряд ли сильно увеличит стоимость платы и её размеры.
CADiLO
Apr 11 2011, 13:02
Если физически подключена симка мегафона, то он никак не мог после CFUN4 вернуться на билайн.
Значит он опять увидел билайн - почему не перекоммутировалось надо смотреть.
Проверить очень просто - не переключая at+sgpio=0,12,1,1 - после CFUN4 физически выньте одну и вставьте другую карточку
на то же место. Модуль зарегится с новой карточкой.
Факт на лице: симка подключена мегафоновская (еще раз проверил), а модем находится в билайне, пока не пройдет ресет. Видимо данные симки сохраняются где-то в модеме. И в таком состоянии моем может находиться от 10 минут до полчаса, после чего регистрация пропадает вообще (по ресету модем регистрируется уже в мегафоне).
На эксперимент с передергиванием симки не решаюсь, так как стоят сокеты с выдвигающейся карточкой, а не с откидывающейся крышкой, поэтому при вынимании симки ее контактными дорожками могут непредсказуемо замыкаться пружины сокета.
Будем пробовать решить задачу в ЕАТ.
ArtemKAD
Apr 12 2011, 17:18
Цитата
ее контактными дорожками могут непредсказуемо замыкаться пружины сокета.
Непредсказуемо - не могут. Там замыкаются вполне конкретные ноги. И уже после снятия питания с Sim-карты.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.