Приобрёл как-то GSM-модуль А6 для некоторых «творческих» нужд. Модуль распаян на плате с обвязкой и с выводами как у ардуино-нано. Связь с устройством управления осуществляется посредством интерфейса UART c помощью AT-команд, это всё описано в различных материалах и они в достаточном объёме есть в интернете. Но есть одна загвоздка, которая проявляет себя, если с помощью этого модуля пересылать СМС на русском языке, причём не транслитом, а именно на кириллице.
Из-за разницы кодировок русских букв на компьютере и в сотовом телефоне невозможно адекватно передать СМС сообщение «в лоб». Для работы с GSM-модулем предусмотрена библиотека iarduino_GSM, но она тоже не даёт адекватного результата по той причине, что для кириллицы используется кодировка «Windows-1251», что также не подходит для передачи СМС-сообщения. На рисунке ниже пример СМС-сообщения, полученного от GSM-модуля, передаче символов кириллицы.
Для решения проблемы пришлось провести реверс-инжиниринг: подключил модуль к компьютеру через эмулятор COM-порта, посылал СМС на модуль, и выводил на экран с помощью программы «Терминал». Таким образом установил, что в мобильниках символы кириллицы кодируются двумя байтами. По ссылке https://yadi.sk/i/vhptikuITy4yIA находится файл с таблицами соответствия букв кириллицы и кода в шестнадцатиричной форме. Кодировка работоспособная и с её помощью неоднократно удалось отправить СМС-сообщение на кирилице.
P.S. Только не забудьте настроить GSM-модуль в режим 16-битной кодировки символов (команда AT+CSMP=16,167,0,8), иначе будет отправлять "галиматью".