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

Создаем свой блок. Вопросы, помощь знатоков.
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#301

Сообщение Max » 16.09.2016{, 09:59}

Слимпер писал(а):Вопрос, можете подключится к модулю напрямую через терминал, послать настроить его, а затем, послать командыAT+CUSD=1,"*100#"
Приложить результат
AT+CUSD=1,"#100#"
тоже приложите результат.
Сегодня постараюсь. Но следует учитывать, что в ответе есть и невидимые символы, которые в терминале не видны...
Слимпер писал(а):И также что выдает блок (желательно прямо сам текст) на всех выходах (где должно и где не должно появляться) .
Так же постараюсь. Там реально просто набор цифр и несколько символов...
Слимпер писал(а):Еще, а смс нормально все получаются?
С СМС вроде нормально. Вообще есть лимит на количество символов в одном СМС?

Да, еще заметил (выскакивало пару раз) на месте строки-выхода телефонного номера в блоке, на котором появляется номер отправившего СМС модулю вылезала какая то команда инициализации SIM800. Но сейчас не повторяются, если повторится, то напишу.
Последний раз редактировалось Max 16.09.2016{, 10:02}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#302

Сообщение Слимпер » 16.09.2016{, 11:38}

Max писал(а):Но следует учитывать, что в ответе есть и невидимые символы, которые в терминале не видны...
Есть ALTerminal программа, так вот в ней можно включить отображение символов подробнее я описывал Сообщение 224

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#303

Сообщение Max » 16.09.2016{, 17:56}

Все запросы делал в программе  ALTerminal.

Ответ в терминале на первый вариант запроса:
AT+CUSD=1,"*100#"
$0D$0A
OK$0D$0A
$0D$0A
+CUSD: 0, "041204300448002004370430043F0440043E04410020043F044$0D$0A
+CMT: "2416p616+63656w0","","16/09/16,20:51:08+24"$0D$0A
34$0D$0A
+CMT: "2416p616+6342$0D$0A
+CMT: "2416p60
Судя по всему это неправильно. И вот это у меня вылезало!

Ответ на другой второй вариант запроса:
AT+CUSD=1,"#100#"
$0D$0A
OK$0D$0A
$0D$0A
+CUSD: 0, "Balance:88,72r,Limit:0,01r ", 15$0D$0A

Этот ответ правильный!

Оператор  как на SIM800, так и в телефоне - МТС.
Последний раз редактировалось Max 16.09.2016{, 18:31}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#304

Сообщение Слимпер » 16.09.2016{, 18:40}

Цитата Max
+CUSD: 0, "041204300448002004370430043F0440043E04410020043F044$0D$0A
Это ответ в USSD

Цитата Max
+CMT: "2416p616+63656w0","","16/09/16,20:51:08+24"$0D$0A34$0D$0A
+CMT: "2416p616+6342$0D$0A
+CMT: "2416p60
Это смс, похоже разбитая на три части, как такое обрабатывать даже не знаю.

Что выдает модуль в ответ на команды :

AT+CMGF?
AT+CSCS?


Такое ощущение, что ответ приходит в формате PDU или другой кодировке

Добавлено (16.09.2016, 18:40)
---------------------------------------------
Max писал(а):+CUSD: 0, "Balance:88,72r,Limit:0,01r ", 15$0D$0AЭтот ответ правильный!
Ну если так работает, то лучше его использовать.
Последний раз редактировалось Слимпер 16.09.2016{, 18:37}, всего редактировалось 1 раз.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#305

Сообщение Max » 16.09.2016{, 19:26}

Слимпер писал(а):Что выдает модуль в ответ на команды :AT+CMGF?
AT+CSCS?
AT+CMGF?

+CMGF: 1

OK

AT+CSCS?

+CSCS: "GSM"

OK

Это ответы.
Последний раз редактировалось Max 16.09.2016{, 19:29}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#306

Сообщение Слимпер » 16.09.2016{, 20:00}

Max писал(а):AT+CMGF?+CMGF: 1

OK

AT+CSCS?

+CSCS: "GSM"

OK

Это ответы.
Странно, все правильно. По чему же так странно приходит?
Ну можно еще попробовать:
AT+CUSD=1,"*100#",15

igorgoga
Рядовой
Сообщения: 21
Зарегистрирован: 04.05.2016{, 14:40}
Репутация: 0

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

#307

Сообщение igorgoga » 20.10.2016{, 12:49}

Парни помогите пож.
Имею sim-900/пытаюсь подключить к меге с помощью библиотеки sim 800 v1 (скачал c данного сайта)

раскоментировал #define SERIAL_M  Serial2  // для работы с COM порт 2
закоментировал //#include <SoftwareSerial.h>
//SoftwareSerial SERIAL_M( RX ,  TX );

настроил одинаковую скорость 9600 и в самом модуле и при помощи AT+IPR=9600
но модуль вообще никак не обменивается командами с ардуино,хотя при помощи uart переходника команды воспринимает.
обратил внимание что в блоке sim 800 v1 в разделе библиотеки отсутствует ссылка на SERIAL_M,может в этом дело.
или может нужно в библиотеках ардуино ide что то править связанное с мегой и hardware serial
а может этот блок  sim 800 v1 вообще к sim 900 не подходит..
два дня уже потратил,помогите советом кто сможет!!!!
Последний раз редактировалось igorgoga 20.10.2016{, 12:55}, всего редактировалось 1 раз.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#308

Сообщение Max » 20.10.2016{, 14:42}

igorgoga писал(а):Парни помогите пож.
Если, имеете ввиду блок взятый отсюда (с сайта FLprog), то там надо в настройках выставить нужный порт, скорость. Вообще внимательно прочитайте комментарии к блоку.
А АТ команды у 800 и 900 идентичны, насколько я помню.

igorgoga
Рядовой
Сообщения: 21
Зарегистрирован: 04.05.2016{, 14:40}
Репутация: 0

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

#309

Сообщение igorgoga » 20.10.2016{, 14:49}

Max писал(а):Если, имеете ввиду блок взятый отсюда (с сайта FLprog), то там надо в настройках выставить нужный порт, скорость. Вообще внимательно прочитайте комментарии к блоку.А АТ команды у 800 и 900 идентичны, насколько я помню.
все выставлено,но не работает.....

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#310

Сообщение Слимпер » 20.10.2016{, 15:11}

igorgoga, попробуйте вариант из 309 сообщения.  Max, вроде с ним смог запустить.

Добавлено (20.10.2016, 15:11)
---------------------------------------------
Еще приложите кусок проекта с настройками, может что будет понятнее.

OJIEG555
Рядовой
Сообщения: 18
Зарегистрирован: 20.04.2016{, 06:10}
Репутация: 0
Откуда: Красноярск

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

#311

Сообщение OJIEG555 » 27.10.2016{, 09:48}

Добрый день! Есть ли возможность добавить в блок вывод данных базовой станции? Я был бы очень благодарен!
Последний раз редактировалось OJIEG555 27.10.2016{, 09:49}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#312

Сообщение Слимпер » 27.10.2016{, 15:49}

OJIEG555 писал(а):Есть ли возможность добавить в блок вывод данных базовой станции? Я был бы очень благодарен!
Поподробнее что за данные вы имеете виду? Просто я не понял  что надо и по этому не могу сказать возможно ли.

OJIEG555
Рядовой
Сообщения: 18
Зарегистрирован: 20.04.2016{, 06:10}
Репутация: 0
Откуда: Красноярск

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

#313

Сообщение OJIEG555 » 27.10.2016{, 17:26}

У каждой базовой станции (вышки) есть свои данные.
MCC: Mobile Country Code (код страны). Россия — 250, Украина — 255, Беларусь — 257
MNC: Mobile Network Code (код сети). Билайн — 99, МТС — 01, Мегафон — 02, Теле2 — 20, Ростелеком — 39
LAC / TAC: Location Area Code (код местности).
CID / SAC / ECI: Cell ID (идентификатор соты).
на основе этих данных можно ориентировочно определить место расположения модуля связи (радиус вокруг вышки). актуально для "маячков"

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#314

Сообщение Слимпер » 28.10.2016{, 15:40}

OJIEG555 писал(а):У каждой базовой станции (вышки) есть свои данные.MCC: Mobile Country Code (код страны). Россия — 250, Украина — 255, Беларусь — 257MNC: Mobile Network Code (код сети). Билайн — 99, МТС — 01, Мегафон — 02, Теле2 — 20, Ростелеком — 39
Ну насчет этого похоже можно попробовать.
Команда получения  IMSI

AT+CIMI :
СпойлерПоказать
Данная команда используется для считывания и определения IMSI (Международный идентификатор абонента мобильной связи) SIM-карты.Перед считыванием IMSI необходимо ввести PIN (вот этот пункт меня смущает).
Примечание: значение IMSI (15 цифр), начинающееся с MCC (3 цифры) / MNC (2 цифры, 3 цифры для PCS 1900)
OJIEG555 писал(а):LAC / TAC: Location Area Code (код местности).CID / SAC / ECI: Cell ID (идентификатор соты).на основе этих данных можно ориентировочно определить место расположения модуля связи (радиус вокруг вышки). актуально для "маячков"
Вот тут сложнее в sim800  вроде есть команда

AT+CENG
СпойлерПоказать
[+CENG:
<cell>,"<bcch>,<rxl>,<rxq>,<mcc>,<mnc>,<bsic>,<cellid>,<rla>,
<txp>,<lac>,<TA>[<dbm>,<c1>,<c2>,<tch>,<ts>,<maio>,<hsn>,<
ub>,<rxq_full>,<ch_mod>]"<CR><LF>+CENG:
<cell>,"<bcch>,<rxl>,<bsic>[,<cellid>,]<mcc>,<mnc>,<lac>"…]
Parameters
<mode> 0 Switch off engineering mode
1 Switch on engineering mode
2 Switch on engineering mode, and activate the
URC report of network information
3 Switch on engineering mode, with limited network
information
4 Switch on engineering mode, with extern information
<Ncell> 0 Un-display neighbor cell ID
1 Display neighbor cell ID
If <mode> = 3, ignore this parameter.
<cell> 0 The serving cell
1-6 The index of the neighboring cell
<arfcn> Absolute radio frequency channel number, in decimal format
<bcch> ARFCN(Absolute radio frequency channel number) of
BCCH carrier, in decimal format
<rxl> Receive level, in decimal format
<rxq> Receive quality, in decimal format
<mcc> Mobile country code, in decimal format
<mnc> Mobile network code, in decimal format
<bsic> Base station identity code, in decimal format
<cellid> Cell id, in hexadecimal format
<lac> Location area code, in hexadecimal format
А вот для m590  не нашел, хотя у них команды могут быть не все описано.

Если кому интересно попробуйте будет ли выдавать результат просто AT-командами.

Добавлено (28.10.2016, 15:40)
---------------------------------------------
НовыйUser писал(а):Слимпер, Дим, а ведь и в модемчиках то есть режим энергосбережения... если я не ошибаюсь... отличное дополнение к имеющимся опциям...
Если честно я это не искал, если сильно надо и найдешь как это делается можно попробовать.
Но вообще то, я сейчас разрабатываю новый вариант блоков для NRF24. Так что быстро не обещаю.
Последний раз редактировалось Слимпер 28.10.2016{, 15:37}, всего редактировалось 1 раз.

OJIEG555
Рядовой
Сообщения: 18
Зарегистрирован: 20.04.2016{, 06:10}
Репутация: 0
Откуда: Красноярск

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

#315

Сообщение OJIEG555 » 28.10.2016{, 17:47}


Вот тут сложнее в sim800  вроде есть команда

кажется понял. я еще осваиваю arduino, и тем более модуль связи, тут столько нюансов, поэтому могут прозвучать глупые вопросы. как эту команду, (AT+CENG), задать и получить ответ удаленно, с другого телефона (по смс например)?
и попутно еще такой вопрос:входящие смс хранятся на sim? если да то не переполнится ли память sim? и как их удалять дистанционно?

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#316

Сообщение Слимпер » 28.10.2016{, 18:01}

OJIEG555 писал(а):и попутно еще такой вопрос:входящие смс хранятся на sim? если да то не переполнится ли память sim? и как их удалять дистанционно?
Нет в том режиме, что сейчас работает блок, сообщения не сохраняются.
Получил, обработал и все.
OJIEG555 писал(а):кажется понял. я еще осваиваю arduino, и тем более модуль связи, тут столько нюансов, поэтому могут прозвучать глупые вопросы. как эту команду, (AT+CENG), задать и получить ответ удаленно, с другого телефона (по смс например)?
Ну так просто это не сделаешь.
Проверить работу AT команды,  можно только подключившись к GSM модулю напрямую и терминальной утилитой подавать команды и смотреть результат. В раздели пользовательские блоки, кроме блоков, я выкладывал ссылки на статьи, где было описано как работать с модулями.

А в веду того, что у меня есть только M590, сам я проверить работу этой команды не смогу.

OJIEG555
Рядовой
Сообщения: 18
Зарегистрирован: 20.04.2016{, 06:10}
Репутация: 0
Откуда: Красноярск

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

#317

Сообщение OJIEG555 » 28.10.2016{, 18:10}

понятно! все равно спасибо большое! в принципе мне пока и этих функций хватит что уже есть в блоке. а локацию если что можно и с gps модулем устроить
Последний раз редактировалось OJIEG555 28.10.2016{, 18:11}, всего редактировалось 1 раз.

Мих@лыч
Рядовой
Сообщения: 15
Зарегистрирован: 08.04.2016{, 11:28}
Репутация: 0
Откуда: Юг на 180 градусов

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

#318

Сообщение Мих@лыч » 29.10.2016{, 16:37}

Ребята, вам за эти пользовательские блоки ну прям не респект, а респектище!
SIM800L уже в пути ко мне... Вопрос (для меня заочный): как вы Ардуину подключаете к GSM-модулю: интересует физическое подключение портов(физически наверное без разницы куда-хард или софт со стороны Ардуино). Я про согласование уровней. В этой статье Подключение GSM модуля SIM800L к Arduino прямо подключено. Автор блока пишет: "и еще желательно согласование логических уровней при подключении к COM потру. Модуль имеет уровень на 3.3В, а Arduino, обычно 5В."
 В этой статье  говорится, что у SIM800L  напряжение логических  2,8В и предлагают схему согласования из двух резисторов.
Как подключено и как работает на вашей практике?

П.С. есть GSM-модули SIM800L v2.0, которые вроде как согласованы под Ардуино. Но цена этого согласования как еще один модуль SIM800L, я уже не говорю о "бутербродных" версиях.
Последний раз редактировалось Мих@лыч 29.10.2016{, 16:47}, всего редактировалось 1 раз.

zhulen820
Сержант
Сообщения: 162
Зарегистрирован: 29.08.2016{, 22:44}
Репутация: 5
Откуда: Серпухов
Имя: Александр

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

#319

Сообщение zhulen820 » 29.10.2016{, 16:46}

Очень хотелось бы увидеть блок для модуля на чипе А6. Приобрел такой модуль (по цене они не плохие, дешевле чем sim800 или 590-е в сборе, а исполнение мне очень понравилось). Ни один блок не подходит, хотя из терминала звоню и отправляю смс. Я думаю нужносделать минимальные изменения в коде, но сам не соображу.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

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

#320

Сообщение Слимпер » 29.10.2016{, 17:14}

Мих@лыч писал(а):Ребята, вам за эти пользовательские блоки ну прям не респект, а респектище!SIM800L уже в пути ко мне... Вопрос (для меня заочный): как вы Ардуину подключаете к GSM-модулю: интересует физическое подключение портов(физически наверное без разницы куда-хард или софт со стороны Ардуино). Я про согласование уровней. В этой статье Подключение GSM модуля SIM800L к Arduino прямо подключено. Автор блока пишет: "и еще желательно согласование логических уровней при подключении к COM потру. Модуль имеет уровень на 3.3В, а Arduino, обычно 5В."  В этой статье  говорится, что у SIM800L  напряжение логических  2,8В и предлагают схему согласования из двух резисторов.Как подключено и как работает на вашей практике?
Я для этих целий использовал модули согласования уровней, но там по моему просто транзистор и пару резисторов.
А вообще способов множество ссылка1ссылка2

Добавлено (29.10.2016, 17:14)
---------------------------------------------
zhulen820 писал(а):Очень хотелось бы увидеть блок для модуля на чипе А6. Приобрел такой модуль (по цене они не плохие, дешевле чем sim800 или 590-е в сборе, а исполнение мне очень понравилось). Ни один блок не подходит, хотя из терминала звоню и отправляю смс. Я думаю нужносделать минимальные изменения в коде, но сам не соображу.
Ну у меня есть только M590, так что это будет довольно долго, как было с 800, когда все проверять придется вам самому.

Ну если очень надо, то для начала дайте ссылки на ту документацию что использовали для ручного запуска модуля.

Ответить

Вернуться в «Разработка пользовательских блоков»