Настройка модема для подключения по 3х проводной rs232

Всем доброго времени суток.
Прошу сильно не ругаться, но эта тема наверное будет офтопом для всего форума в целом т.к. не являюсь пользователем системы ЛЭРС УЧЕТ, я скорее начинающий радиолюбитель-ковырятель.
Однако набрался смелости попросить помощи в освоении “GSM ЖЕЛЕЗА” с которым местные резиденты на-ТЫ.
Мне даром достались 3 модема ENFORA “GSM1218” он же “Spider SA-GL”

изображение с сайта https://wireless-e.ru журнал БЕСПРОВОДНЫЕ ТЕХНОЛОГИИ


Мне удалось подключить его к ПК через ком порт и поиграться в терминале с АТ- командами: отправить СМС, позвонить и т.д.
Хочу реализовать, что-то вроде GSM сигнализации или внедрить в систему умного дома , для удаленного управления нагрузкой, но т.к данная модель не имеет пользовательских входов/выходов, а использование в связке с ПК, в моих задачах не самый лучший вариант, я решил подружить модем с одноплатным компьютером на платформе ARDUINO по аналогии с методами подключения GSM модулей

В ARDUINO можно инициализировать UART интерфейс, который является тем же RS232 за рядом некоторых особенностей.
В UART используется уровни TTL логики т.е. уровень нуля близок 0 Вольт,а уровень единицы близок к 5 Вольтам
В RS232 уровни логики иные: уровень нуля от +5 до +15 Вольт, а уровень единицы от -5 до -15 Вольт.

Для согласования уровней я применил RS232 to TTL конвертер на микросхеме серии MAX232

изображение с сайта https://www.chipdip.ru магазин радио компонентов

в этом конвертере используются только линии данных RX TX ну и общий GND, в принципе - это основополагающий минимум для работы по rs232. Кроме того стоит отметить, что у меня не просто модемы, а некие “APENDIX KIT (Сборки)” от производителя POWER-ONE, видимо, я так понял, для каких-то источников бесперебойного питания и укомплектованны они 3х проводными кабелями D-sub9 to RJ45 и в разьеме D-Sub9 распаянны только 3 провода: 2,3,5. Исходя из этого, можно сделать вывод, что данный модем умеет работать по линиям rx/tx без сигналов контроля и готовности.

В процессе изучения настройки модема я наткнулся на статью журнала “Боспроводные Технологии” в которой говориться:

В стандартных телеметрических задачах устройства, доступ к которым необходимо получить, имеют интерфейс RS-232. При этом часто для работы используются только линии данных RXD и TXD, а также протоколы обмена Modbus, Bitbus и им подобные. В простейшем случае используется режим асинхронной передачи, 8 бит, без четности, на скорости 9600 бит/с.

Как правило, само опрашиваемое оборудование не умеет управлять модемами. Поэтому в настройках модема в режиме автоматического ответа должны быть отключены реакции на DTR, RTS, сжатие данных, информационные сообщения, контроль передачи, коррекцию ошибок и включен режим «прозрачного соединения». В таком режиме модем передает данные из порта RS-232 без какой-либо коррекции, не меняя размеры блоков и не добавляя специальной информации. Этот момент является ключевым для обеспечения бесперебойной работы протоколов типа Modbus.

Собственно так я модем и настроил:
AT+IPR=9600 скорость передачи данных

AT+ICF=3 формат кадра

1 8 данных, 2 ступени, без четности
2 8 данных, 1 остановка, 1 четность
3 8 данных, 1 остановка, без четности
4 7 данных, 2 остановки, без четности
5 7 данных, 1 остановка, 1 четность
6 7 данных, 1 остановка, без четности

AT+IFC=0,0 управление потоком

<DCE_by_DTE>
0 None
1 Xon/Xoff (not supported)
2 RTS

<DTE_by_DCE>
0 None
1 Xon/Xoff (not supported)
2 CTS

На все это я получил одобрительные “OK” и сохранил настройки в EEPROM командой AT&W

Со стороны ARDUINO поднимаю serial соединение со скоростью 9600 бод/сек (кадр там по умолчанию 8N1) и реакции в мониторе порта на AT команды не происходит … :frowning:
видимо что-то модему не хватает для 3х проводной связи.

подскажите пожалуйста, если кто знает и настраивал модемы подобным образом? Что я еще нее настроил или настроил не правильно?

Я бы попробовал для начала подключить ардуино через MAX232 по RS232 к ПК и проверить работает ли канал связи

Проверку произвел следующим образом:
Подключил ардуино к пк и мне удалось управлять встроенным светодиодом отправляя сообщения H/L

#include <SoftwareSerial.h> // подключаю библиотеку программного сериал порта
SoftwareSerial mySerial(2, 3); // объявляю RX, TX
int val = 0; // переменная управления состоянием встроенного светодиода
void setup() {
        pinMode(13, OUTPUT); // объявляем pin 13 как выход (на нем и сидит встроенный светодиод, на схеме отмечен красным);
        mySerial.begin(9600); // инициализируем программный сериал
}

void loop() {
  if (mySerial.available() > 0) { // проверяем есть ли сообщение в сериал
   val = mySerial.read(); // читаем что прилетело в порт
    if (val=='H') digitalWrite(LED_BUILTIN, HIGH); // если в порт пришел символ "H" то включаем светодиод
    if (val=='L') digitalWrite(LED_BUILTIN, LOW); //  если в порт пришел символ "L" то выключаем светодиод
  }
}

Схема подключения

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

Кстати также проверил обратную связь от ардуино к пк:

void loop() {
  if (mySerial.available() > 0) {
    val = mySerial.read();
    if (val=='H') mySerial.println("Hello");
    if (val=='L') mySerial.println("GoodBye");
  }

Реакция есть. так, что скорее надо что-то в модеме настраивать.

Нашел инструкцию подключения моего модема к прибору учета

Как видно используется еще сигнал DSR, но я так понимаю это “ВЫХОД” на разъёме модема, он необходим скорее прибору учета, а не модему и его коммутация, в моем случае, не обязательна.

Есть еще какие-то варианты???

Вы ранее говорили о том, что с ПК общались с модемом по RS-232 без проблем. Уточните: для связи ПК с модемом использовался “полнораспаяный” кабель? Если да - предлагаю попробовать подключить модем к ПК используя трехпроводную схему (2,3,5). Если все будет работать - дело явно не в сигнале DTR/DSR. Либо можете замкнуть контакты DTR и DSR, тоже должно заработать если модем ждет сигнала готовности

Вы правы!
С данными настройками модем без проблем соединяется с ПК по 3-м линиям… скорее всего дело в неисправности конвертера или ардуино (выявились некоторые подозрения ввиду нестабильности работы), но это уже другая тема. Спасибо большое.
Думаю тему можно закрывать.

Тема закрыта.