SIM800L отправка СМС

bim376
Offline
Зарегистрирован: 25.10.2016

Всем привет.Есть модуль SIM800L Revision:1418B03SIM800L24

Не могу добиться от модуля отправки корректных СМС. Модуль отправляет СМС но приходят они каими-то "кракозяблами".Отправляю в текстовом режиме, кодировке gsm ,латиницей, также пробовал кодировку UCS2 также приходит какаято хрень.
Но в режиме PDU получилось отправить.
Помогите где копать не понимаю.Отправляю так.
 
 
void sms(String text, String phone) {
    // Устанавливает текстовый режим для SMS-сообщений
 mySerial.println("AT+CMGF=1");
  delay(300); // даём время на усваивание команды
 mySerial.println("AT+CSCS=\"GSM\"");
  delay(300);
 
    // Устанавливаем адресата: телефонный номер в международном формате
 mySerial.print("AT+CMGS=\""); 
mySerial.print(phone);
mySerial.println("\"");
delay(300);
mySerial.print(text); 
 
delay(300);
    // Отправляем Ctrl+Z, обозначая, что сообщение готово
mySerial.print((char)26);
 
 delay(300);
 Serial.println("SMS send finish");
 
}

 

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

вот посмотрите тут, эту тему обсосали от и до http://arduino.ru/forum/obshchii/sim800l-mini?page=4

если тут не найдете воспользуйтесь поиском по форуму

bim376
Offline
Зарегистрирован: 25.10.2016

читал , но пока не нашел ответ на свой вопрос , пробовал других людей коды заливать, тоже самое третий день бьюс с модулем.

Принимает нормально смс , а вот отсылает хрень какую-то

Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

смотрите тут http://2150692.ru/faq/46

проверяйте скорось в порту, или подключение

bim376
Offline
Зарегистрирован: 25.10.2016

Это тоже заливал , со скоростями работал 9600, 2400 , 19200 на авто работал , все равно смс приходял кривые , что то с кодировкой при отправке , но что я не могу понять. 

Может это быть в операторе связи? Использую МТС , билайн не пробовал.

С подключением все нормально команды выполняются , питание пробовал и от понижающей платы и от Liion 18650.

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

Причем на старой нокии смс вообще не открываются , формат не поддерживается и сразу удалить.

bim376
Offline
Зарегистрирован: 25.10.2016

 во чего обнаружил

AT+ICF?

ERROR

Кто подскажет что бы это могло быть? Модуль перешивать надо?

 
Baks
Baks аватар
Offline
Зарегистрирован: 11.01.2016

я тут пасс , так далеко не приходилось лазить в модуль, пришел и как только правельно подключил он сразу и заработал

bim376
Offline
Зарегистрирован: 25.10.2016

Кто нибудь подскажет как прошить SIM800l ?

slider
Offline
Зарегистрирован: 17.06.2014

если получиться прошить, черкните сюда как и что.

тоже нифига не робит - sim800l не переходит  в текстовый режим "GSM" , походу он такой и задуман производителем.

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

-не работает полностью в текстовом режиме, только PDU однозначен .

 

применены запросы для текстового формата :  at+cmgf=1   и   at+cscs="gsm"
 
запрос AT+CMGF?
ответ  +CMGF: 1   (т.е. режим текстовый по идее поставился)
 
запрос AT+CSCS?
ответ +CSCS: "GSM"  (т.е. кодировка должа быть нам понятна)
 
запрос AT+CMGR=1
ответ  +CMGR: "REC UNREAD","+79.........","","16/11/04,10:28:11+28"
00500072006F007600650072006B006100200073006D00730020006C006100740069006E0020002E00200420044304410441043A043804390020002E
получается фиг вам текстовый режим. (смс было написано латиницей и потом русским)
 
//   еще запросы-ответы:
ati
SIM800 R14.18
 
AT+GMR
Revision:1418B01SIM800L24_20151222_1700
 
AT+CPBS?
+CPBS: "SM",22,250  ( 22 смс есть на карте из 250)
 
at+cpms?
+CPMS: "SM_P",1,5,"SM_P",1,5,"SM_P",1,5    (1смс есть в памяти модуля из 5)
 
 
////
ага, методом тыка (отправил только латиницу), оказывается надо чтобы sms было написано только латиницей!
 
запрос at+cpms?
+CPMS: "SM_P",2,5,"SM_P",2,5,"SM_P",2,5 (уже имеем 2 смс)
 
 
запрос  AT+CMGL="ALL"
 
+CMGL: 1,"REC READ","+79...........","","16/11/04,10:28:11+28"
00500072006F007600650072006B006100200073006D00730020006C006100740069006E0020002E00200420044304410441043A043804390020002E       (здесь непонятно , отправлял на модуль "Proverka sms latin русский")
 
+CMGL: 2,"REC READ","+79..........","","16/11/04,11:05:54+28"
Proverka sms latin  (здесь уже понятно, отправлял а модуль "Proverka sms latin" )
 
мож  у вас затисался символ не латинский (или мож из-за недо задержек), вот модуль самовольно и переходит в режим UPD ?
у меня нормально латиница отправилась (через терминал), и принялась на тлф. если что прикладывайте короткий но завершенный скетч для проверки и либу стороннюю если используете.
 
 
 

 

bim376
Offline
Зарегистрирован: 25.10.2016

смс на латинице у меня принимает нормально,

но отправляет хрень какую-то, через терминал ардуино не могу отправить, не знаю как закончит ввод текста , какие символы набрать на клаве Ctrl Z не работает.

slider
Offline
Зарегистрирован: 17.06.2014

возьмите другую терминальную программу, которая умеет отправлять спецсимволы, к примеру AL Terminal (там есть кнопка  Отправить код)

bim376
Offline
Зарегистрирован: 25.10.2016

да пробовал через этот терминал текст смс приходят кривой всеравно

дело не в коде , чего то с модулем(((

AT+CMGS="+79xxxxxxxxxx"
> privet
+CMGS: 65
 
OK
 
andrenalinum
Offline
Зарегистрирован: 06.02.2017

Позвольте мне внести свою лепту. Недавно сам баловался с модулем SIM800l. 

+CMGL: 1,"REC READ","+79...........","","16/11/04,10:28:11+28"
00500072006F007600650072006B006100200073006D00730020006C006100740069006E0020002E00200420044304410441043A043804390020002E       (здесь непонятно , отправлял на модуль "Proverka sms latin русский")
 
Здесь все понятно. Дело в том, что этот модуль в "нормальном" текстовом режиме (т.е. с кодировкой GSM) может работать только с латиницей. Если встречаеются русские символы, то модуль автоматически меняет кодировку на UCS2 (т.е. двухбайтовый UNICODE). Поэтому ваша строка вполне читаема, режим в ней текстовый, просто каждый символ кодируется двумя байтами, т.е. 4-мя цифрами из строки выше. Посмотрите интересную ссылку http://alex-exe.ru/radio/wireless/gsm-sim900-at-command/  Согласно этому источнику буквы латиницы кодируются обычными аски кодами, а к русским символам прибавляется число 350h. Поэтому в вашем случае первый символ - это число 0050. Смотрим в аски таблицу и видим, что это соответствует символу P. Это не PDU режим, в нем гораздо все сложнее, я пытался разобраться, но плюнул на это дело. А здесь можно сделать небольшую процедуру, которая будет заниматься простым кодированием (всего то нужно отбрасывать незначащие нули или прибавлять число 350h). В свободное время собираюсь этим заняться.
andrenalinum
Offline
Зарегистрирован: 06.02.2017

Я здесь новичек, это мое второе сообщение. Если накосячил с форматированием - пните в нужную сторону, но не сильно)). Очень хотелось помочь людям, вот и решил зарегаться и сразу написать.

bim376
Offline
Зарегистрирован: 25.10.2016

приехал другой модуль SIM800L , ни каких проблем , все работает, похоже попался какой-то брак.

Ищу еще прошивку, как,прошить sim800L?