SIM800L Пустой вопрос SMS
Я использую модуль SIM800L с панелью запуска Texas Instrument, с микроконтроллером MSP430G2553, но не использую внешнюю библиотеку для SIM800L.
Постановка проблемы: Простое текстовое сообщение (SMS с текстовым режимом) отправляется в виде пустого сообщения на мобильный телефон.
Детали SIM:
1. SIM 1: Расположение: Индия. Оператор: AirTel, 4G-совместимая SIM-карта.
2. SIM 2: Местоположение: Индия. Оператор: Tata Docomo, 3G-совместимая SIM-карта.
Что я уже знаю:
- Драйверы UART в прошивке протестированы и работают, без опроса, с прерыванием.
- В качестве замены для чтения ответов команд AT не добавляются временные задержки блокировки. Я читаю ответ и действую, только если получено положительное подтверждение,
<CR><LF>OK<CR><LF>
для большинства команд. - Я подтвердил биты данных, переданные и полученные на выводах Tx-Rx с помощью осциллографа. Все кажется, как ожидалось, включая уровни напряжения.
Что я прочитал:
По неофициальным источникам (конечно, на форумах) ходят слухи, что SIM800L совместима только с 2G.
(Небольшое чтение из Википедии) Я прочитал GSM 3.38 и GSM 3.40, а также раздел "Схема кодирования данных", чтобы понять, как обрабатывается кодирование текста в соответствующей / соответствующей AT-команде (AT+CSMP).
Различные форумы, в том числе и для Arduino, с которыми модули SIM800L очень популярны.
Похожие посты на Stackru:
- Получение пустого SMS SIM800 с использованием AT команд и Python на Raspberry Pi 2
- Как отправить смс с GSM модулем SIM800 и Arduino Uno?
- Отправка набора символов GSM в SMS с модулем SIM800L
Ответ из первого, похоже, сработал для него, он не сработал для меня.
Что я пробовал:
Я использовал тот же модуль с экземпляром последовательного терминала Docklight. SMS, отправленные с Docklight, поступают на мой мобильный телефон и отображаются, как ожидается, а не пустыми.
В день 0, прежде чем интегрировать модуль с аппаратным обеспечением Launchpad, я проверил общий конечный автомат прошивки с точной копией ожидаемых ответов от SIM800L.
Результаты для обеих SIM-карт одинаковы, за исключением некоторых начальных конфигураций, но я загружаю типовой набор конфигурации в обе из них, прежде чем инициировать любую задачу, связанную с SMS.
Типичные значения, которые я использую:
- Эхо выкл
- CSMP: 17, 167, 0, 0 (я пробовал 17, 167, 0, 0, но не повезло). По умолчанию для SIM 1 установлено значение 17,11,0,246, а для SIM 2 - 17, 255, 0, 0.
- CSCS: "ИРА"
Неудачные комбинации на последовательном порту: (SIM 1 и SIM 2)
- CSMP: 17, 11, 0, 246 | CSCS: "IRA" - отправляет пустое SMS
- CSMP: 17, 11, 0, 246 | CSCS: "GSM" - отправляет пустое SMS
- CSMP: 17, 11, 0, 246 | CSCS: "HEX" - отправляет пустое SMS
Удачные комбинации на последовательном порту: (SIM 1 и SIM 2)
- CSMP: 17, 167, 0, 0 | CSCS: "ИРА"
- CSMP: 17, 167, 0, 8 | CSCS: "ИРА"
- CSMP: 17, 11, 0, 0 | CSCS: "GSM"
- CSMP: 17, 167, 0, 0 | CSCS: "GSM"
- CSMP: 17, 167, 0, 8 | CSCS: "GSM"
Честно говоря, я играл догадку с этими комбинациями, прежде чем изучал, в какой области отражаются изменения этих комбинаций (что плохо документировано в руководстве пользователя SIM800L).
Есть идеи, что мне здесь не хватает? Я открыт для того, чтобы думать, что это больше проблема RTFM (Read The Fat Manual).
1 ответ
Хорошо, удалось решить проблему.
Это было совсем не о SIM800L. Вся полезная нагрузка сопровождалась '/0'
что неожиданно (я знаю, очень плохо на моей стороне). Серийный термин не имеет никаких проблем с этим вообще. Отладка была веселой!